Base de donnees sous wampserver

Résolu
miss -  
 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
A voir également:

4 réponses

avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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
miss
 
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 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Il ne faut pas les "\" avant les apostrophes : $_POST['blabla'] et pas $_POST[\'blabla\']
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
<!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
miss
 
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   Statut Membre Dernière intervention   894
 
il faut que dans ta table tu mettes id en autoincrement
0
miss
 
c'est bon .....merci probleme reglé
0