Base de donnees sous wampserver [Résolu/Fermé]

Signaler
-
 miss -
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

Messages postés
18541
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 avril 2021
4 281
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.
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
Messages postés
18541
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 avril 2021
4 281
Il ne faut pas les "\" avant les apostrophes : $_POST['blabla'] et pas $_POST[\'blabla\']
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
887
<!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>


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?
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
887
il faut que dans ta table tu mettes id en autoincrement
c'est bon .....merci probleme reglé