[Résolu] Problème d'insertion dans ma table !

Eléphanteau du PHP | 12 Messages

29 juil. 2005, 16:34

En effet j'ai bien fais de vérifier. Le PHP en fait que à sa tête :) .

J'avais mis 2 nouveaux membres pour tester par le biais de PHPMyAdmin. En suite j'ai mis ceci :
echo 'Merci de vous être inscrit '.$pseudo.' ! @ bientot ';
et comme par enchantement tout marche.

Ensuite je me décide de vider ma table pour recommencer à zéro, maintenant il n'enregistre plus dans ma table !

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

29 juil. 2005, 16:35

toujours la mm requete ?
"INSERT INTO membres (pseudo, prenom, age, ville, msn)
 VALUES ('".$pseudo."', '".$prenom."', '".$age."', '".$ville."', '".$msn."')";

Eléphanteau du PHP | 12 Messages

29 juil. 2005, 16:47

Autant pour moi j'avais déjà oublier l'id donc ca pouvais pas fonctionner correctement :)

Mais y'a tjs un blem
Avec ce code ca marche :
<?php
if (isset($_POST['pseudo']) AND isset($_POST['prenom']) AND isset($_POST['age']) AND isset($_POST['ville']) AND isset($_POST['msn']))
	{
		if
		($_POST['pseudo'] != NULL 
		AND $_POST['prenom'] != NULL 
		AND $_POST['age'] != NULL 
		AND $_POST['ville'] != NULL
		AND $_POST['pays'] !=NULL
		AND $_POST['msn'] != NULL)
		{
		// Alors on peut enregister dans la table
		// Connexion à la base de données
		mysql_connect('sql.free.fr','teampowa','');
		mysql_select_db('teampowa');
		
		// On utilise la fonction PHP htmlentities pour ne pas avoir de HTML dans la BDD
        $pseudo = htmlentities ($_POST['pseudo']);
		$prenom = htmlentities ($_POST['prenom']);
		$age = htmlentities ($_POST['age']);
		$ville = htmlentities ($_POST['ville']);
		$msn = htmlentities ($_POST['msn']);
		
		// Suite à ce contrôle on peut enregistrer dans la table
		mysql_query("INSERT INTO membres(id, pseudo, prenom, age, ville, msn) VALUES ('', '".$pseudo."', '".$prenom."', '".$age."', '".$ville."', '".$pays."', '".$msn."')");
		}
		
		// Connexion à la base de données
		mysql_connect('sql.free.fr','teampowa','');
		mysql_select_db('teampowa');
		
		$insert = "INSERT INTO membres (id, pseudo, prenom, age, ville, msn) VALUES ('', '$pseudo', '$prenom', '$age', '$ville', '$msn')";
		echo 'Voici la requête qui est exécutée <br>:'.$insert.'<br>';
		mysql_query($insert) or die (mysql_error());
		
		echo 'Merci de vous être inscrit '.$pseudo.' ! @ bientot ';
	
	}
?>
Tandis que avec ce code ca ne marche pas, il n'insert rien dans la BDD :
<?php
if (isset($_POST['pseudo']) AND isset($_POST['prenom']) AND isset($_POST['age']) AND isset($_POST['ville']) AND isset($_POST['msn']))
	{
		if
		($_POST['pseudo'] != NULL 
		AND $_POST['prenom'] != NULL 
		AND $_POST['age'] != NULL 
		AND $_POST['ville'] != NULL
		AND $_POST['pays'] !=NULL
		AND $_POST['msn'] != NULL)
		{
		// Alors on peut enregister dans la table
		// Connexion à la base de données
		mysql_connect('sql.free.fr','teampowa','');
		mysql_select_db('teampowa');
		
		// On utilise la fonction PHP htmlentities pour ne pas avoir de HTML dans la BDD
        $pseudo = htmlentities ($_POST['pseudo']);
		$prenom = htmlentities ($_POST['prenom']);
		$age = htmlentities ($_POST['age']);
		$ville = htmlentities ($_POST['ville']);
		$msn = htmlentities ($_POST['msn']);
		
		// Suite à ce contrôle on peut enregistrer dans la table
		mysql_query("INSERT INTO membres(id, pseudo, prenom, age, ville, msn) VALUES ('', '".$pseudo."', '".$prenom."', '".$age."', '".$ville."', '".$pays."', '".$msn."')");
		}
		
		echo 'Merci de vous être inscrit '.$pseudo.' ! @ bientot ';
	}
?>
Modifié en dernier par zitO le 29 juil. 2005, 16:51, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

29 juil. 2005, 16:50

Toujours pareil :
- garde la requête qui marche, même si elle est salement concaténée
- fais des echo des données
- pour ma part, je mettrais un if avant le message de confirm :
SI executer la requete mysql
message ok vous etes enregistres
SINON
message ah bah non

Parce que là, il met tout le temps
echo 'Merci de vous être inscrit '.$pseudo.' ! @ bientot ';


Heu je remarque que dans le 1er script tu te connectes 2 fois à la base, et tu fais 2 fois la requête !
Modifié en dernier par mere-teresa le 29 juil. 2005, 16:52, modifié 2 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

29 juil. 2005, 16:50

déjà vire tes identifiants de BDD

edit mere-teresa : j'ai viré le mot de passe

Eléphanteau du PHP | 12 Messages

29 juil. 2005, 17:07


- pour ma part, je mettrais un if avant le message de confirm :
SI executer la requete mysql
message ok vous etes enregistres
SINON
message ah bah non

Parce que là, il met tout le temps
echo 'Merci de vous être inscrit '.$pseudo.' ! @ bientot ';
Oui je pensais le faire aussi mais je preferai le faire après avoir régler mon problème :)

Heu je remarque que dans le 1er script tu te connectes 2 fois à la base, et tu fais 2 fois la requête !
Je l'ai remarqué et je viens de tester 30 sec avt que tu edit et ca marche impecable :)

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

29 juil. 2005, 17:13

:shock: