[RESOLU] Formulaire, pbm d'enregistrements dans la table

HnO
Eléphanteau du PHP | 13 Messages

19 mai 2012, 16:52

Bonjour,
J'ai crée un formulaire de prise de contact. Je veux enregistrer ces contacts dans une table. Seulement lorsque je teste le formulaire tout passe sauf l'enregistrement : La table reste vide!! voyez plutôt :
<?php 
			function connectMaBase()
			{
				$base = mysql_connect('localhost', 'root', '');
				mysql_select_db('ma_base',$base);
			}
			
			if(isset($_POST['valider']))
				{
					/*on recupere les donnees entrees */
					$societe=$_POST['nom_societe'];
					$nom=$_POST['nom'];
					$prenom=$_POST['prenom'];
					$profession=$_POST['profession'];
					$telephone=$_POST['telephone'];
					$mail=$_POST['mail'];
					$commentaire=$_POST['commentaire'];
					
					/*connection a la base de donnees*/
					connectMaBase();
					/*requete dinsertion de contacts à la table contacts */
					$sql= 'INSERT INTO contacts VALUES("","'.$societe.'","'.$nom.'","'.$prenom.'","'.$profession.'","'.$telephone.'","'.$mail.'","'.$commentaire.'")';
					
					/*envoi de la requete*/
					mysql_query($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
					
					/*on ferme la connexion*/
					mysql_close();
				}
				
				?>
Je ne sait pas ce qui cloche et j'aimerai avoir vos lumières svp

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

19 mai 2012, 17:45

salut,

au vue de ce que tu met ton code semble correct.

il faut déboguer.

Pour cela tu peux ajouter des echo, ou des var_dump pour suivre le cheminement du script.

Par exemple tu peux faire ainsi
<?php
function connectMaBase(){
	$base = mysql_connect('localhost', 'root', '');
	if ($base === false) {
		echo 'Erreur à la connexion de la base de donnée : '.mysql_error();
	}
	else {
		echo 'connexion ok<br />';
		$link = mysql_select_db('ma_base',$base);
		if ($link === false) {
			echo 'Erreur à la selection de la base de donnée : '. mysql_error();
		}
		else {
			echo 'selection base ok <br />';
			// pour voir ce que le formulaire a envoyé
			var_dump($_POST);
			if(isset($_POST['valider'])){
				/*on recupere les donnees entrees */
				$societe = $_POST['nom_societe'];
				$nom = $_POST['nom'];
				$prenom = $_POST['prenom'];
				$profession = $_POST['profession'];
				$telephone = $_POST['telephone'];
				$mail = $_POST['mail'];
				$commentaire = $_POST['commentaire'];

				/*connection a la base de donnees*/
				connectMaBase();
				/*requete dinsertion de contacts à la table contacts */
				$sql= 'INSERT INTO contacts VALUES("","'.mysql_real_escape_string($societe).'","'.mysql_real_escape_string($nom).'","'.mysql_real_escape_string($prenom).'","'.mysql_real_escape_string($profession).'","'.mysql_real_escape_string($telephone).'","'.mysql_real_escape_string($mail).'","'.mysql_real_escape_string($commentaire).'")';
				var_dump($sql);
				/*envoi de la requete*/
				$ret = mysql_query($sql); // or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
				if ($ret === false ){
					echo 'Erreur SQL : '.mysql_error().'<br />Avec la requete SQL : '. $sql;
				}
				/*on ferme la connexion*/
				mysql_close();
			}
		}
	}
}
?>

@+
Il en faut peu pour être heureux ......

HnO
Eléphanteau du PHP | 13 Messages

19 mai 2012, 18:02

je vais commencer par faire ça. Merci du conseil

HnO
Eléphanteau du PHP | 13 Messages

19 mai 2012, 21:45

Bonsoir,

malgré tes conseils moogli, l'enregistrement sur la table, ne se fait toujours pas. :'(
y'aurait-il d'autres pistes pour m'aider à résoudre mon problème?

ViPHP
xTG
ViPHP | 7331 Messages

19 mai 2012, 22:16

Et le script va jusque où ?
Car c'est justement ce que te proposais moogli...
Si tu ne sais pas où ça coince tu risques pas de pouvoir dépanner le script.

HnO
Eléphanteau du PHP | 13 Messages

20 mai 2012, 19:44

Je viens de trouver la raison de la c*****e de mon script!! Juste une histoire de coquille pour le bouton valider dans ma balise <form>. Je suis vraiment bête!! désolé pour ma connerie.
En ce qui concerne le débogage, est ce que c'est normal que les echo ne s'affichent pas?

HnO
Eléphanteau du PHP | 13 Messages

20 mai 2012, 20:02

En ce qui concerne le débogage, est ce que c'est normal que les echo ne s'affichent pas?
Je retire cette question. Je viens de trouver la réponse.......