Base de donnees sous wampserver

Résolu/Fermé
miss - 11 janv. 2010 à 18:33
 miss - 12 janv. 2010 à 17:20
Bonjour,
j'ai ecris une page php dans laquelle j'ai mis un formulaire
je recupere ensuite ces donnes sur la page traitement dans laquelle je voudrais inserer les donnees saisies dans le formulaire dans une base de donnees
voici le code:



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>monsite-----traitement</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	   
   </head>
   <body>
		<?php
			
		    mysql_connect("localhost","root","");
			
			mysql_query("INSERT INTO `test`.`informationsformulaire` (`id`, `prenom`, `nom`, `email`, `telephone`, `objet`, `message`) VALUES (NULL,htmlentities('$_POST[\'prenom\']'),htmlentities('$_POST[\'nom\']'),htmlentities('$_POST[\'email\']'),htmlentities('$_POST[\'telephone\']'),htmlentities('$_POST[\'objet\']'),htmlentities('$_POST[\'message\']'))") or die(mysql_error());
			
			//mysql_close();	

		?>
		
		
		<?php
			mysql_connect("localhost","root",""); 
			mysql_select_db("test"); 							 
			$reponse = mysql_query("SELECT prenom FROM informationsformulaire"); 							 
			while ($donnees = mysql_fetch_array($reponse) )	
				{ echo $donnees['prenom'];
		?>
		<br>
		<?php
				}							 
			//mysql_close(); 
		?>  
   </body>
</html>

	




et voila l'erreur affichée a l'execution:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in E:\wamp\www\monsite\traitement.php on line 13

4 réponses

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
11 janv. 2010 à 18:37
mysql_query("INSERT INTO `test`.`informationsformulaire` (`id`, `prenom`, `nom`, `email`, `telephone`, `objet`, `message`) VALUES (NULL,htmlentities('$_POST[\'prenom\']'),htmlentities('$_POST[\'nom\']'),htmlentities('$_POST[\'email\']'),htmlentities('$_POST[\'telephone\']'),htmlentities('$_POST[\'objet\']'),htmlentities('$_POST[\'message\']'))") or die(mysql_error());
Il faut utiliser la concaténation.
0
j'l'ai remplacé par ça:

mysql_query("INSERT INTO `test`.`informationsformulaire` (`id`, `prenom`, `nom`, `email`, `telephone`, `objet`, `message`) VALUES (NULL,'".$_POST[\'prenom\']."','".$_POST[\'nom\']."','".$_POST[\'email\']."','".$_POST[\'telephone\']."','".$_POST[\'objet\']."','".$_POST[\'message\']."')") or die(mysql_error());


et voila l'erreur:

Parse error: parse error, expecting `T_STRING' in E:\wamp\www\monsite\traitement.php on line 13
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
11 janv. 2010 à 19:15
Il ne faut pas les "\" avant les apostrophes : $_POST['blabla'] et pas $_POST[\'blabla\']
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
11 janv. 2010 à 19:22
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>monsite-----traitement</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	   
   </head>
   <body>
		<?php
			//recupération des valeurs postées
			$prenom=mysql_escape_string($_POST['prenom'];
			$nom=mysql_escape_string($_POST['nom'];
			$email=mysql_escape_string($_POST['email'];
			$telephone=mysql_escape_string($_POST['telephone'];
			$objet=mysql_escape_string($_POST['objet'];
			$message=mysql_escape_string($_POST['message'];
			
		    mysql_connect("localhost","root","");
			 //deja la il te manque la selection de la base
			 mysql_select_db('test');
			//ensuite mets '' pour VALUES de l'id au lieu de NULL 
			mysql_query("INSERT INTO informationsformulaire (id,prenom,nom,email,telephone,objet,message) VALUES ('','".$prenom."','".$nom."','".$email."','".$telephone."''".$objet."''".$message."') ") or die(mysql_error());
			
			//mysql_close();	

		?>
		
		
		<?php
			//si c'est dans le mêm script ne te reconnectes pas deux fois
			//mysql_connect("localhost","root",""); 
			//mysql_select_db("test"); 							 
			$reponse = mysql_query("SELECT prenom FROM informationsformulaire"); 							 
			while ($donnees = mysql_fetch_array($reponse) )	
				{ echo $donnees['prenom'];
		?>
		<br>
		<?php
				}							 
			mysql_close(); 
		?>  
   </body>
</html>


0
merci pour ton script il resout l'ancien probleme sauf que voila ça en crée un autre:

Column count doesn't match value count at row 1

ça serrait pas le probleme de l'identifiant par hasard?
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
11 janv. 2010 à 20:35
il faut que dans ta table tu mettes id en autoincrement
0
c'est bon .....merci probleme reglé
0