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 question
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 question
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.
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 :
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.
Partager