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
Configuration: Windows XP
Firefox 3.0.15

4 réponses

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