Bonjour !
Voilà je me suis fait un petit blog sur mon site avec possibilité pour les visiteurs de laisser des commentaires...
Mon problème est que l'envoi du commentaire à la base de données ne fonctionne qu'une fois sur 2 ( et je suis gentil ...).
Après divers tests je pense que c'est du a un problème de formatage du texte (retour à la ligne, Majuscule, caractères spéciaux, etc... ) mais je n'en suis pas sûr.
Je vous donne mon code...
Formulaire (poster.php):
Envoi à la base de données (writephotos.php) :
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<form action="photos/writephotos.php?idphoto=<?php echo $idphoto; ?>" method="post"> <div> <strong>Pseudo</strong> <br/> <input size="30" type="text" name="pseudo" /> <br/><br/> <strong>Mail</strong> <br/> <input size="30" type="text" name="mail" /> <br/><br/> <strong>Commentaire</strong> <br/> <textarea cols="60" rows="15" name="message"></textarea> <br/> <input type="submit" value="Envoyer"/> </div> </form>
Vu que ça marche une fois sur 2 c'est qu'a priori c'est pas trop faux ^^
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
28
29 $pseudo=htmlentities($_POST['pseudo']); $commentaire=htmlentities($_POST['message']); $email = htmlentities($_POST['mail']); //Retour à la ligne et stripslashes $commentaire=stripslashes(nl2br($commentaire)); //Login et message non vide if (trim($commentaire)=="" || trim($pseudo)=="") { echo "Vous devez remplir les champs 'pseudo' et 'commentaire'!"; exit; } else { $heure = date("H:i"); $jour = date("d/m/Y"); $date = $jour." a ".$heure; include("_connexion.php"); mysql_select_db ("photoscomm", $base) ; $sql="INSERT INTO photoscomm (idphoto, date, com, email, pseudo) VALUES ('$idphoto','$date', '$commentaire', '$email', '$pseudo')"; mysql_query($sql, $base); } echo "Merci $pseudo, ton commentaire a bien été bien enregistré.<br>"; ?>
Je signal également dans quel type de champs sont stockées les données dans ma base :
idphoto, int 128 unsigned
date, varchar 128 latin1_general_ci
com, text latin1_general_ci
email, varchar 128 latin1_general_ci
pseudo, varchar 128 latin1_general_ci
Voilà j'éspere avoir été assez clair et complet.
Merci
Partager