Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & SQL-Server
PHP & SQL-Server Forum d'entraide sur SQL-Server avec PHP. Avant de poster -> FAQ SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/12/2011, 18h18   #1
 
Inscription : février 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 6
Points : -1
Points : -1
Par défaut Pb de sauvegarde d'un formulaire en php dans SGBD

Avant toute chose je remercie les gens qui auront le courage de m'aider!!!

Je travaille avec wamp(phpmyadmin et Mysql)..

Mon objectif est de réaliser un formulaire ou certains utilisateurs devront remplirent. Cela permettra d'alimenter une base de donnée dans laquelle mes supérieurs pourront allez chercher les résultat des enregistrement..

Il faut savoir que je debute en dev ma spécialité étant le réseaux...j'ai bien avancer mais je galère sur un point je m'explique...

Lorsque je rentre les informations dans mon formulaire "formulaire.php", et que je valide, dans ma base de données seul mon id (qui s'incrémente auto) apparait le reste des renseignements n'est pas enregistrer

Voici mon code, merci de ne pas rigoler

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
  //connection au serveur
  $cnx = mysql_connect( "localhost", "root", "" ) ;
 
  //sélection de la base de données:
  $db  = mysql_select_db( "test" ) ;
 
 
   //récupération des valeurs des champs:
  //numero de dossier:
  $numerodedossier=$_POST['numerodedossier'];
  //Nom client:
  $nomclient=$_POST['nomclient'];
  //Adresse client
  $adresseclient=$_POST['adresseclient'];
  //Loginventeforcee:
  $Loginventeforcee=$_POST['Loginventeforcee'];
  //trigrammecdc:
  $trigrammecdc=$_POST['trigrammecdc'];
 
 
  //création de la requête SQL:
  $sql1 = "INSERT  INTO client VALUES( '','".$numerodedossier."','".$nomclient."','".$adresseclient."','".$Loginventeforcee."','".$trigrammecdc."')"; 
   $requete = mysql_query($sql1) or die( mysql_error());
 
 
  //affichage des résultats, pour savoir si l'insertion a marchée:
  if($requete)
  {
    echo("L'insertion a été correctement effectuée") ;
  }
  else
  {
    echo("L'insertion à échouée") ;
  }
?>

Je vous avoue que cela fait une semaine que je trime a modifier mes fichiers ..sans résultat..

en tout cas merci je sais c'est long..!!

ahh oui le résultat que cela me donne aussi est :

Citation:
( ! ) Notice: Undefined index: numerodedossier in C:\wamp\www\commentsamarche3.php on line 11
Call Stack
# Time Memory Function Location
1 0.0003 371480 {main}( ) ..\commentsamarche3.php:0

( ! ) Notice: Undefined index: nomclient in C:\wamp\www\commentsamarche3.php on line 13
Call Stack
# Time Memory Function Location
1 0.0003 371480 {main}( ) ..\commentsamarche3.php:0

( ! ) Notice: Undefined index: adresseclient in C:\wamp\www\commentsamarche3.php on line 15
Call Stack
# Time Memory Function Location
1 0.0003 371480 {main}( ) ..\commentsamarche3.php:0

( ! ) Notice: Undefined index: Loginventeforcee in C:\wamp\www\commentsamarche3.php on line 17
Call Stack
# Time Memory Function Location
1 0.0003 371480 {main}( ) ..\commentsamarche3.php:0

( ! ) Notice: Undefined index: trigrammecdc in C:\wamp\www\commentsamarche3.php on line 19
Call Stack
# Time Memory Function Location
1 0.0003 371480 {main}( ) ..\commentsamarche3.php:0
L'insertion a été correctement effectuée
Ces lignes correspondent au "POST"..je ne comprend pas sérieusement..je vous remercie!!!Bye et a très vite
12thomas65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 18h31   #2
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Bojour,

Il faudrait poster également le code du formulaire (dans la balise code (bouton # de l'éditeur))
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 18h45   #3
 
Inscription : février 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 6
Points : -1
Points : -1
Par défaut voici le code du formulaire

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
print "Interface Web pour la gestion des ventes forcées" ;
?>
 
<form method="get" action="commentsamarche3.php">
 
<p class="titre">Coordonnées</p>
 
<fieldset id="coordonnees">
  <p id="civilite"><label>Civilité : </label>
    <input type="radio" name="civilite" value="M." />M.
    <input type="radio" name="civilite" value="Mlle" />Mlle
    <input type="radio" name="civilite" value="Mme" />Mme
  </p>
 
     <label class="description" for="element_5">Numéro de dossier </label>
		<div>
		</li>		<li id="li_6" >
     		<input id="element_5" name="element_5" class="element text medium" type="text" maxlength="255" value=""/> 
 
	<label class="description" for="element_4">trigramme CDC </label>
		<div>
			<input id="element_4" name="element_4" class="element text small" type="text" maxlength="255" value=""/> 
		</div> 
		</li>		<li id="li_5" >
 
 	 <label class="description" for="element_1">Nom </label>
		<div>
		</li>		<li id="li_1" >
			<input id="element_1" name="element_1" class="element text medium" type="text" maxlength="255" value=""/> 
		</div> 
		</li>		<li id="li_2" >
 
	 <label class="description" for="element_2">Adresse </label>
		<div>
			<textarea id="element_2" name="element_2" class="element textarea small"></textarea> 
		</div> 
		</li>		<li id="li_3" >
 
	 <label class="description" for="element_3">Log vente forcee </label>
		<div>
			<input id="element_3" name="element_3" class="element text medium" type="text" maxlength="255" value=""/> 
		</div> 
		</li>		<li id="li_4" >
 
 
 
<p id="buttons">
  <input type="submit" value="Envoyer" />
  <input type="reset" value="Recommencer" />
</p>
 
</form>
12thomas65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 18h46   #4
 
Inscription : février 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 6
Points : -1
Points : -1
Par défaut merci

un grand merci
12thomas65 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 16/12/2011, 18h57   #5
 
Inscription : février 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 6
Points : -1
Points : -1
Par défaut petite info

Ma base se nomme : test
La table se nomme : client

les champs sont :

id
numerodedossier
nomclient
adresseclient
trigrammecdc
Loginventeforcee

Super simple je sais...

12thomas65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 18h57   #6
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Tu as plusieurs erreurs :
Code :
1
2
3
<form method="get" action="commentsamarche3.php"> // tu envoies en GET alors que tu parcours dans ton php le tableau $_POST
//essaies avec ça : 
<form method="post" action="commentsamarche3.php">
Ensuite les éléments dans ton formulaire sont nommés : element_1 element_2 element_3 element_4 element_5 (attribut name de chaque tag input) alors que dans ton php tu cherches des clés totalement différentes : $_POST['numerodedossier'] $_POST['nomclient'] $_POST['adresseclient'] $_POST['Loginventeforcee'] $_POST['trigrammecdc'] Tu devrais plutôt rechercher $_POST['element_1'] $_POST['element_2'] $_POST['element_3'] $_POST['element_4'] $_POST['element_5']
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 19h03   #7
 
Inscription : février 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 6
Points : -1
Points : -1
Par défaut merci

j'ai effectuer les modifs :

a savoir les (post]..

Code :
1
2
3
4
5
6
7
8
9
$numerodedossier=$_POST['element_5'];
  //Nom client:
  $nomclient=$_POST['element_1'];
  //Adresse client
  $adresseclient=$_POST['element_2'];
  //Loginventeforcee:
  $Loginventeforcee=$_POST['element_3'];
  //trigrammecdc:
  $trigrammecdc=$_POST['element_4'];
et j'ai changer POST a la place de GET..

maintenant le résultat lorsque je valide mon formulaire est :

Column count doesn't match value count at row 1
12thomas65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 19h14   #8
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Tiens à toi de dépieuter :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
 
// on insère que sur soumission
if ( ! empty($_POST)) {
   //connection au serveur
   $cnx = mysql_connect("localhost", "root", "");
 
   //sélection de la base de données:
   $db = mysql_select_db("test");
 
 
   //récupération des valeurs des champs:
   $civilite = mysql_real_escape_string($_POST['civilite']);
   //numero de dossier:
   $numerodedossier = mysql_real_escape_string($_POST['num_dossier']);
   //Nom client:
   $nomclient = mysql_real_escape_string($_POST['nom']);
   //Adresse client
   $adresseclient = mysql_real_escape_string($_POST['adresse']);
   //Loginventeforcee:
   $Loginventeforcee = mysql_real_escape_string($_POST['log_vente']);
   //trigrammecdc:
   $trigrammecdc = mysql_real_escape_string($_POST['trigramme']);
 
 
   //création de la requête SQL:
   $sql = "INSERT INTO client (numerodedossier, nomclient, adresseclient, trigrammecdc, Loginventeforcee)
           VALUES('".$numerodedossier."','".$nomclient."','".$adresseclient."','".$Loginventeforcee."','".$trigrammecdc."')";
 
   $requete = mysql_query($sql) or die( mysql_error());
 
   //affichage des résultats, pour savoir si l'insertion a marchée:
   if($requete) {
      echo("L'insertion a été correctement effectuée") ;
   }
   else {
      echo("L'insertion à échouée") ;
   }
}
?>
 
<form method="post" action="shortTest5.php">
   <p class="titre">Coordonnées</p>
   <fieldset id="coordonnees">
      <p id="civilite">
         <label>Civilité : </label>
         <input type="radio" name="civilite" value="M." />M.
         <input type="radio" name="civilite" value="Mlle" />Mlle
         <input type="radio" name="civilite" value="Mme" />Mme
      </p>
 
      <label class="description" for="element_5">Numéro de dossier </label>
      <input id="element_5" name="num_dossier" class="element text medium" type="text" maxlength="255" value="" />
      <br />
      <label class="description" for="element_4">Trigramme CDC </label>
      <input id="element_4" name="trigramme" class="element text small" type="text" maxlength="255" value="" />
      <br />
      <label class="description" for="element_1">Nom </label>
      <input id="element_1" name="nom" class="element text medium" type="text" maxlength="255" value="" />
      <br />
      <label class="description" for="element_2">Adresse </label>
      <textarea id="element_2" name="adresse" class="element textarea small" rows="6" cols="35"></textarea>
      <br />
      <label class="description" for="element_3">Log vente forcee </label>
      <input id="element_3" name="log_vente" class="element text medium" type="text" maxlength="255" value="" />
      <br />
      <div id="buttons">
         <input type="submit" value="Envoyer" />
         <input type="reset" value="Recommencer" />
      </div>
   </fieldset>
</form>
Bon courage
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 20h50   #9
 
Inscription : février 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 6
Points : -1
Points : -1
Par défaut Mon sauveur...

Je te remercie pour ton aide, ce fut simple rapide et efficace ...

je te laisse juger..

"L'insertion a été correctement effectuée"

Donc un grand grand merci!!!!

Voici le resultat si sa peut en aider certains comme moi...

Mes deux fichiers se nomment dev et dev 2 :

Le premier :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
 
// on insère que sur soumission
if ( ! empty($_POST)) {
   //connection au serveur
   $cnx = mysql_connect("localhost", "root", "");
 
   //sélection de la base de données:
   $db = mysql_select_db("test");
 
 
   //récupération des valeurs des champs:
 
   //numero de dossier:
   $numerodedossier = mysql_real_escape_string($_POST['num_dossier']);
   //Nom client:
   $nomclient = mysql_real_escape_string($_POST['nom']);
   //Adresse client
   $adresseclient = mysql_real_escape_string($_POST['adresse']);
   //trigrammecdc:
   $trigrammecdc = mysql_real_escape_string($_POST['trigramme']);
   //Loginventeforcee:
   $Loginventeforcee = mysql_real_escape_string($_POST['log_vente']);
 
 
 
   //création de la requête SQL:
   $sql = "INSERT INTO client (numerodedossier, nomclient, adresseclient, trigrammecdc, Loginventeforcee)
           VALUES('".$numerodedossier."','".$nomclient."','".$adresseclient."','".$trigrammecdc."','".$Loginventeforcee."')";
 
   $requete = mysql_query($sql) or die( mysql_error());
 
   //affichage des résultats, pour savoir si l'insertion a marchée:
   if($requete) {
      echo("L'insertion a été correctement effectuée") ;
   }
   else {
      echo("L'insertion à échouée") ;
   }
}
?>
 
 
Le deuxieme : 
 
<form method="post" action="dev.php">
   <p class="titre">Coordonnées</p>
   <fieldset id="coordonnees">
 
 
      <label class="description" for="element_5">Numéro de dossier </label>
      <input id="element_5" name="num_dossier" class="element text medium" type="text" maxlength="255" value="" />
      <br />
      <label class="description" for="element_4">Trigramme CDC </label>
      <input id="element_4" name="trigramme" class="element text small" type="text" maxlength="255" value="" />
      <br />
      <label class="description" for="element_1">Nom </label>
      <input id="element_1" name="nom" class="element text medium" type="text" maxlength="255" value="" />
      <br />
      <label class="description" for="element_2">Adresse </label>
      <textarea id="element_2" name="adresse" class="element textarea small" rows="6" cols="35"></textarea>
      <br />
      <label class="description" for="element_3">Log vente forcee </label>
      <input id="element_3" name="log_vente" class="element text medium" type="text" maxlength="255" value="" />
      <br />
      <div id="buttons">
         <input type="submit" value="Envoyer" />
         <input type="reset" value="Recommencer" />
      </div>
   </fieldset>
</form>
il reste à améliorer l'interface pour le confort de l'utilisateur et voila..

Bonne continuation a tous
12thomas65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h55.


 
 
 
 
Partenaires

Hébergement Web