Bonjour,
Je veux dire que je suis pas un extrême boss en PHP et SQL mais plutôt niveau moyen.
Je suis sur un tchat pour le fun et je rencontre des soucis.
Lors que j'appuie sur la touche la touche entrée je veux que le message s'enregistre en base de donnée et après les consulter etc (les consulter j'y arrive).
Voilà ma fonction tout d'abord sur la page du tchat :
Le fichier SendMessage en questionCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 $("#messagewritten").keypress(function(e) { if(e.which == 13) { if($("#messagewritten").val() != "") { $.ajax({ url : "../script/SendMessage.php", type : "POST", data : { message : $("#messagewritten").val(), pseudo : $("#Nounou").text()}, dataType : 'html', success : function(code_html, statut){ if(code_html == 1) alert("Envoyé"); }, error : function(resultat, statut, erreur){ alert("fail"); } }); } } });
Et bien entendu ma classe message en questionCode:
1
2
3
4
5
6
7
8 <?php require_once "../classe/liste_classes.php"; $message = new message($bd); $var = $_POST["pseudo"]; $vari = $_POST["message"]; $message->Add($var, $vari); ?>
J'ai testé ma requete dans phpmyadmin elle fonctionne niquel. Petite preuve en image :Pièce jointe 184858Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <?php class message { private $ajout; public function __construct($bd) { $this->ajout = $bd->prepare("INSERT INTO message(pseudo, datePost, message) VALUES (:Pseudo, NOW(), :Message)"); } public function Add($pseudo, $message) { try { $this->ajout->execute(array(':Pseudo' => $pseudo , ':Message' => $message)); echo "1"; } catch(Exception $e) { echo "0"; } } }?>
Ensuite y a un autre soucis qui me tracasse dans ma base de donnée j'ai mis un Id à mes messages en autoincrément, je tiens à dire que je n'ai jamais supprimé de message dessus.
Les données dedans sont des données ajouter à la main je tiens à le préciser.
Pièce jointe 184859
Et je remarque que lors de mes test certains Id ont sauté comme si il avait été ajouté puis retiré par la meme fonction Ajax.
Juste avant j'affichais mes valeurs et j'avais bien les valeurs qui correspondaient donc pas de soucis à ce niveau.
Lorsque j’exécute le tout j'obtiens bien :
Pièce jointe 184860
Alors si vous pouvez me débloquer sur ce point ça m’enlèverai une épine du pied
PS : toute la gestion connexion bdd se trouve dans mon fichier list des classes j'ai pas jugé utile de le mettre.