PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 21-03-2010 03:59:01

chero9000kee
Membre
Inscription : 21-03-2010
Messages : 6

Problème avec mon formulaire, le résultat est vide dans MySQL et dans

Je suis débutant en PHP/MySQL, mon formulaire me renvoi le résultat vide, pouvez-vous s'il vous plaît m'aider, voici mes fichiers :

Code = PHP

1er fichier:
Test_form.php

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <meta http-equiv="Content-Language" content="fr" />
<title>Test d'ecriture d'un formulaire dans une base MySQL</title>

<style>
  label {
display:block;
width:160px;
float:left;
}
</style>
</head>  
<body>
<?php
if (setlocale(LC_TIME, 'fr_FR') == '') {
    setlocale(LC_TIME, 'FRA');  //correction problème pour windows
    $format_jour = '%#d';

} else {
    $format_jour = '%e';
}

include 'insertion.php';
?>
       
  <h2>Entrez les informations demandées : </h2>
    <form id="document.client" name="document.client" method="post" action="recup.php">
      <label for="$id">ID : </label><input name="$id" type="text" id="id" /><br/>
      <label for="$datedujour">Nous sommes le : </label><input name="$datedujour" type="text" id="" value="<?php  echo strftime("%A $format_jour %B %Y "); ?>" /><br/>
      <label for="$codeclient">Code :</label><input name="$codeclient" type="text" id="" value="<?php $codeclient= "SELECT MAX(codeclient)+1 FROM client" ;?>" /><br/>
      <label for="$civilite">Civilite :</label><SELECT name="$civilite" id="civilite" />
                                              <OPTION VALUE="Monsieur">Monsieur</OPTION>
                                              <OPTION VALUE="Madame">Madame</OPTION>
                                              <OPTION VALUE="Mademoiselle">Mademoiselle</OPTION>
                                              <OPTION VALUE="S.A.R.L">S.A.R.L</OPTION>
                                              <OPTION VALUE="E.U.R.L">E.U.R.L</OPTION>
                                              </SELECT><br/>
      <label for="$nomclient">Nom:</label><input name="nomclient" type="text" id="" /><br/>
      <label for="$adresse">Adresse :</label><input name="adresse" type="text" id="" /><br/>
      <label for="$adresse2">Adresse :</label><input name="adresse2" type="text" id="" /><br/>
      <label for="$codepostal">CP :</label><input name="codepostal" type="text" id="" /><br/>
      <label for="$ville">Ville:</label><input name="ville" type="text" id="" /><br/>
      <label for="$numTVA">N° TVA :</label><input name="numTVA" type="text" id="" /><br/>
      <label for="$correspondant">Correspondant :</label><input name="correspondant" type="text" id="" /><br/>
      <label for="$email">Email :</label><input name="email" type="text" id="" /><br/>
      <label for="$telDomicile">Tel. Domicile :</label><input name="telDomicile" type="text" id="" /><br/>
      <label for="$gsm">Tel. Portable :</label><input name="gsm" type="text" id="" /><br/>
      <label for="$telBureau">Tel. Bureau :</label><input name="telBureau" type="text" id="" /><br/>
      <label for="$fax">Fax :</label><input name="fax" type="text" id="" /><br/><br><br>
      <input type="submit" value="Ajouter" name="ajouter" onClick="verif();" /><input type="submit" value="Modifier" name="modifier" onClick="verif();" /><input type="reset" value="Effacer" name="effacer" /><input type="submit" name="action" value="Supprimer" onClick="verif();" />
      <INPUT type=hidden name=afficher value=ok />
    </form>
   
  </body>
</html>

-------------------------------------------------------------------------------------------------

2ème fichier
insertion.php :

<?php

/**************************************
*   Connexion a la base de données
**************************************/

//function faire_requete($requete,$bdd){
  $host="localhost";
  $user="root";
  $pass="";
  $bdd="test";
 
@mysql_connect($host,$user,$pass)
   or die("Impossible de se connecter");
@mysql_select_db("$bdd")
   or die("Impossible de se connecter");

function ajouter()
{
if (isset($_POST['ajouter'])){
//Récupèration des valeurs entrées par l'utilisateur :
        $id = $_POST['id'];
  $codeclient = $_POST['codeclient'];
  $civilite = $_POST['civilite'];
  $nom = $_POST['nom'];
  $adresse = $_POST['adresse'];
  $adresse2 = $_POST['adresse2'];
  $codepostal = $_POST['codepostal'];
  $ville = $_POST['ville'];
  $numTVA = $_POST['numTVA'];
  $correspondant = $_POST['correspondant'];
  $email = $_POST['email'];
  $telDomicile = $_POST['telDomicile'];
  $gsm = $_POST['gsm'];
  $telBureau = $_POST['telBureau'];
  $fax = $_POST['fax'];
  $datedujour = $_POST['datedujour'];

mysql_query(       
              $insertion =    "INSERT INTO client  (id,code,civilite,nom,adresse,adresse2,codepostal,ville,numTVA,correspondant,email,telDomicile,gsm,fax,telBureau,datedujour)
              VALUES('.$id.'.$codeclient.','.$civilite.','.$nom.','.$adresse.','.$adresse2.','.$codepostal.','.$ville.','.$numTVA.','.$correspondant.','.$email.','.$telDomicile.','.$gsm.','.$fax.','.$telBureau.','.$datedujour.')"
);
             
mysql_query($insertion) or die(mysql_error()) or die("Ecriture  impossible");
  mysql_close();
  }
}
?>

-------------------------------------------------------------------------------------------------

3ème fichier ::: Comme il n'y a rien qui s'affiché j'ai fait ce fichier de récupération du formulaire dans :

recup.php


<html>  <body>
<br>Nous sommes le : <?php $datedujour = $_POST['datedujour']; echo "$datedujour"; /* if(empty($datedujour))
{
print("<center>La '<b>date</b>' est vide !</center>");
exit(); }
else
{
print("$datedujour :");
}*/
?><br>
Email : <?php echo $_POST['email'];
$email = $_POST['email'];
$point = strpos($email,".");
$aroba = strpos($email,"@");

if($point=='')
{
echo "Votre email doit comporter un <b>point</b>";
}
elseif($aroba=='')
{
echo "Votre email doit comporter un <b>'@'</b>";
}
else
{
echo "Votre email est: '<a href=\"mailto:"."$email"."\"><b>$email</b></a>'";
}
?>?><br>
Code : <?php echo $_POST['codeclient']; ?><br>
Civilite : <?php echo $_POST['civilite']; ?><br>
Code : <?php echo $_POST['nomclient']; ?><br>
Nom : <?php echo $_POST['codeclient']; ?><br>
Adresse : <?php echo $_POST['adresse']; ?><br>
Adresse : <?php echo $_POST['adresse2']; ?><br>
Code postal : <?php echo $_POST['codepostal']; ?><br>
Ville : <?php echo $_POST['ville']; ?><br>
N° TVA : <?php echo $_POST['numTVA']; ?><br>
Correspondant : <?php echo $_POST['correspondant']; ?><br>
Tel. Domicile : <?php echo $_POST['telDomicile']; ?><br>
Tel. Portable : <?php echo $_POST['gsm']; ?><br>
Tel. Bureau : <?php echo $_POST['telBureau']; ?><br>
Fax : <?php echo $_POST['fax']; ?><br>
</body>
</html>

Dernière modification par chero9000kee (21-03-2010 20:57:06)

Hors ligne

#2 21-03-2010 09:47:30

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Problème avec mon formulaire, le résultat est vide dans MySQL et dans

Cela provient de tes champs name.
Il ne faut pas mettre les '$'. Le $ n'est là que dans le php pour indiquer qu'on parle d'une variable.

Hors ligne

#3 21-03-2010 12:17:23

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Problème avec mon formulaire, le résultat est vide dans MySQL et dans

moi, je vois une autre erreur dans la requete wink
16 champs renseignés et seulement 15 mis à jour wink

a++

Hors ligne

#4 21-03-2010 18:13:06

chero9000kee
Membre
Inscription : 21-03-2010
Messages : 6

Re : Problème avec mon formulaire, le résultat est vide dans MySQL et dans

Tout d'abord merci beaucoup pour votre aide. J'ai suivi vos conseils et rectifié dans "Test_form.php" les champs 'name' en enlevant les'$', et maintenant j'ai bien le résultat dans le fichier "recup.php" qui apparait.
Par ailleurs j'ai ajouter, dans le fichier "insertion.php", a la ligne :

function ajouter() { if (isset($_POST['ajouter'])){
//Récupèration des valeurs entrées par l'utilisateur :
J'ai ajouté la ligne :      $id = $_POST['id'];

et à :
VALUES(
j'ai mis le champ '.$id.',  avant '.$codeclient.'

Mais toujours rien ne s'inscrit dans MySQL et je n'ai pas de message d'erreur ....

Dernière modification par chero9000kee (21-03-2010 18:45:48)

Hors ligne

#5 21-03-2010 19:08:22

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Problème avec mon formulaire, le résultat est vide dans MySQL et dans

A tout hasard, où est-ce que tu appelles ta fonction d'ajout ?

Hors ligne

#6 21-03-2010 20:41:11

chero9000kee
Membre
Inscription : 21-03-2010
Messages : 6

Re : Problème avec mon formulaire, le résultat est vide dans MySQL et dans

Dans le fichier "insertion.php". en précisant dans <form ..... action="recup.php"> , je l'ai modifié en mettant dans <form ..... action="insertion.php">

Hors ligne

#7 21-03-2010 20:43:15

chero9000kee
Membre
Inscription : 21-03-2010
Messages : 6

Re : Problème avec mon formulaire, le résultat est vide dans MySQL et dans

Comment faire fonctionner les différentes actions 'ajouter' , 'modifier' et 'supprimer' sur le même formulaire.
Dans mon fichier "insertion.php", je rajoutes :
  1er) - function modifier() { if (isset($_POST['modifier'])){  etc ......... ,  puis UPDATE   etc .........
et
  2ème) - function supprimer() { if (isset($_POST[' supprimer'])){  etc ......... ,  puis delete   etc .........

Ou je dois le mettre dans le fichier "Test_form.php" du formulaire

Hors ligne

#8 21-03-2010 21:11:58

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Problème avec mon formulaire, le résultat est vide dans MySQL et dans

Ce que tu n'as pas compris c'est que là tu as défini la fonction tu ne l'appelles pas...
Une fonction c'est pour pouvoir faire plusieurs appels sans avoir à réécrire le code à chaque fois.

Appel de ta fonction :

<?php
modifier();
?>

Hors ligne

#9 21-03-2010 21:13:08

chero9000kee
Membre
Inscription : 21-03-2010
Messages : 6

Re : Problème avec mon formulaire, le résultat est vide dans MySQL et dans

C'est bon ça écrit dans la base de donnée. Trop cool, merci pour votre aide.
Mais puis-je faire ces différentes actions :     'ajouter' , 'modifier' et 'supprimer' sur le même formulaire ? Ou dois-je les mettre ?

Hors ligne

#10 21-03-2010 21:15:18

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Problème avec mon formulaire, le résultat est vide dans MySQL et dans

A toi de voir comment tu veux que ton formulaire fonctionne.
On peut par exemple mettre une liste déroulante avec les trois actions. Et à la réception on exécutes la fonction correspondante à la valeur de la liste.

Hors ligne

#11 21-03-2010 21:45:46

chero9000kee
Membre
Inscription : 21-03-2010
Messages : 6

Re : Problème avec mon formulaire, le résultat est vide dans MySQL et dans

Je préfère que ça soit avec des boutons. Et aussi que je reste sur le formulaire (une fois "ajouter", "modifier" ou "supprimer"), car actuellement je me retrouve sur le fichier "insertion.php", car je veux pouvoir remplir d'autre client quand bon me semble.

Hors ligne

Pied de page des forums