[SQL --> PHP] Probleme INSERT base free sur formulaire.

Résolu
gorc Messages postés 16 Date d'inscription dimanche 7 novembre 2004 Statut Membre Dernière intervention 3 mars 2009 - 10 déc. 2008 à 10:29
gorc Messages postés 16 Date d'inscription dimanche 7 novembre 2004 Statut Membre Dernière intervention 3 mars 2009 - 10 déc. 2008 à 13:25
j'ai tenté de faire une sorte de chat/tribune simple, voilà mon code :
<?
$serveur= 'sql.free.fr';
$base='****';
$login='****';
$pwd='****';
$db=mysql_connect($serveur, $login, $pwd);
if(!$db){
echo "Erreur connection $db
";
exit;
}
if(!mysql_select_db($base,$db)){
echo "erreur ".mysql_error()."
";
mysql_close($db);
exit;
}
$aff=mysql_query("select * from chat order by id DESC limit 0,20");
while($af=mysql_fetch_array($aff)){
echo $af["login"].' dit : '.$af["message"].'

';
}
?>
<form action="tribune.php" target="_self" method="POST">
Pseudo:

Message:

</form>
<?
if(isset($_POST["Envoyer"])){
    $message1=$_POST["message"];
    $login1=$_POST["login"];   
    mysql_query("insert into chat('login', 'message') values ('$login1','$message1')");
}
else{
echo "
Remplissez les champs pseudo et message";
}
?>

Au niveau de ma base SQL :

|Champ |Type |Interclassement |Attributs |Null |Défaut |Extra |Action |----
, <label for ="checkbox_row_1">id</label> |int(11), , , Non, , auto_increment, http://sql.free.fr/..., http://sql.free.fr/phpMyAdmin/tbl_alter.php?db=gorc_gecko&table=chat&token=6ff613d76084e0a1b9653d7bf8632395&goto=tbl_structure.php&back=tbl_structure.php&field=message, http://sql.free.fr/..., http://sql.free.fr/..., http://sql.free.fr/..., http://sql.free.fr/..., http://sql.free.fr/...

Mon probleme :
Je n'ai aucune erreur qui apparait mais mon insert ne fait rien, je ne sais pas trop ou j'ai mauvais, j'ai tester en GET , pas plus de succes...
Si quelqu'un a une idée
Merci d'avance

7 réponses

fregolo52 Messages postés 1115 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 3
10 déc. 2008 à 10:37
Salut,

Je verrais plutôt comme ça :
$query = "insert into chat(login, message) values ('".$login1."','".$message1."')";
mysql_query($query);

Il ne faut pas mettre d'apostrophe sur les noms de colonnes, c'est des accent graves :
insert into chat(`login`, `message`).
3
gorc Messages postés 16 Date d'inscription dimanche 7 novembre 2004 Statut Membre Dernière intervention 3 mars 2009
10 déc. 2008 à 10:43
je viens de tester avec :
if(isset($_POST["Envoyer"])){
    $message1=$_POST["message"];
    $login1=$_POST["login"];   
    $query = "insert into chat(login, message) values ('".$login1."','".$message1."')";
    mysql_query($query);
}
Et ça ne marche toujours pas :'(
Merci quand meme
0
fregolo52 Messages postés 1115 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 3
10 déc. 2008 à 11:05
J'ai pas testé mon code.
Peux-tu faire un :
echo $query; pour voir la tete de la requete.

Et : echo mysql_error(); pour voir s'il une erreur ressort.

Je ne suis pas un développeur PHP, j'ai juste repris du code  pour améliorer un site, je me suis donc inspiré de la syntaxe de mon prédécesseur.
Il faisait plutot des : $_POST['login']

Je ne connais pas trop l'impact des " et ' dans la syntaxe PHP. Mais pour le moment, fait les "echo" pour tracer et voir ce que fait le script.
0
gorc Messages postés 16 Date d'inscription dimanche 7 novembre 2004 Statut Membre Dernière intervention 3 mars 2009
10 déc. 2008 à 11:19
<?
if(isset($_POST["Envoyer"])){
$message1=$_POST["message"];
    $login1=$_POST["login"];    
    $query = "insert into chat(login, message) values ('".$login1."','".$message1."')";
    echo $query;
    mysql_query($query);
    echo mysql_error();
    echo "
Message envoye";
}
?>

resultat : nada :'(

http://gorc.gecko.free.fr/tribune.php si tu veux voir par toi meme .
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fregolo52 Messages postés 1115 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 3
10 déc. 2008 à 11:28
En effet y'a que dalle, même pas "Message envoye" ni "Remplissez les champs pseudo et message"
C'est louche.

Ah oui !! Ton bloc de code en question, met-le au dessus de la balise <form>. Dans les tutos que j'ai pu voir, les tests des _POST des formulaires sont toujours avant le code HTML.

Mais bon ca doit pas etre le pb
0
gorc Messages postés 16 Date d'inscription dimanche 7 novembre 2004 Statut Membre Dernière intervention 3 mars 2009
10 déc. 2008 à 11:36
Hum pour mon bloc en question je pense pas que se soit le probleme, puis pour la mise en page je prefere qu'on puisse rajouter en bas ( vue que logiquement ça sera par ordre decroissant, donc on repondrait au message le plus en bas de la page )
Mais je vais quand meme tester, mais on dirait qu'il s'arrete au niveau du </form>
0
gorc Messages postés 16 Date d'inscription dimanche 7 novembre 2004 Statut Membre Dernière intervention 3 mars 2009
10 déc. 2008 à 13:25
bon j'ai trouvé l'erreur, j'avais oublier le nom= pour le submit ....
Merci pour ton aide fregelo52
0
Rejoignez-nous