Bonjour à tous ,
Voiçi mon code :
http://pastebin.com/VH2zB3jE
L'alert "Annonce ajoutée" s'affiche dés que je clique sur submit mais dans la base de données ça donne un vide :calim2:
Version imprimable
Bonjour à tous ,
Voiçi mon code :
http://pastebin.com/VH2zB3jE
L'alert "Annonce ajoutée" s'affiche dés que je clique sur submit mais dans la base de données ça donne un vide :calim2:
Il faut que tu mettes ton traitement PHP dans ton formulaire, c'est-à-dire avant ta balise </form>. Il est préférable de mettre les include dans le <head>. Essayes déjà ça, tu devrais voir des changements.
Sinon, remplace ça :
par :Code:
1
2 $annonce=$_POST['tinyeditor']; $annonce=addslashes($annonce);
Code:$annonce=mysql_real_escape_string(addslashes($_POST['tinyeditor']));
Ajoutes un echo "texte"; juste après if (isset($_POST['tinyeditor'])){ pour vérifier si ça passe dans le test.
Il est, aussi, possible de faire un test sur la soumission du formulaire.
Pour plus de clarté, mets ton code javascript (celui qui s'occupe de l'éditeur de texte) dans un fichier javascript externe.
Qu'est-ce que vient faire addslashes() au milieu d'un mysql_real_escape_string() ?
@vinceom92
J'ai essayé tout et ça marche pas , pour echo "texte"; ça marche ms l'important c'est qu'il insére un vide dans la BD :/
@rawsrc
Dnc quel solution vous proposez ?
Je propose de s'en passer.
Bien que mysql_real_escape_string soit totalement obsolète et qu'il devrait disparaître très prochainement, il échappe correctement les données et du coup le addslashes ne sert ici strictement à rien.
Je l'ai changé , mais il reste le problème principale :/
Si tu es sûr que c'est la requête SQL, remplace la par :.Code:INSERT INTO `annonce`( `login_admin`, `titre`, `annonce`) VALUES ('Nabil','hh','$annonce')
Je suppose que s'il y a une insertion dans la base de données, ton message d'erreur ne s'affiche pas.
Etant donné qu'à mon avis, l'identifiant est la clé primaire (il le faut !), ce n'est pas la peine de l'alimenter.
Au lieu de "Nabil", il serait mieux d'insérer une zone de texte à part si tu veux toujours insérer ça, ce qui m'étonnerait !
vinceom92
J'ai aucun msg d'erreur qui s'affiche, au contraire l'insertion est correcte et ça donne un msg qui signifie la réussite d'insertion ,seul le champ d'editeur qui est vide :/
J'ai essayé la requête et il reste le mm blème , oui il reste tjrs Nabil cm etant admin
Qu'est-ce que tu veux dire ?
C'est logique puisque dans ta requête SQL, tu mets un texte brut (Nabil).
Si tu veux insérer des données de l'utilisateur, il faut :
-faire un formulaire HTML (<form>, </form>)
-faire le traitement PHP dans lequel il faut récupérer et protéger avec mysql_real_escape_string ce que l'utilisateur a saisi. De la sorte, tu pourras insérer ou modifier dans la base de données le texte de l'utilisateur.
Tu as deux possibilités pour le traitement PHP du formulaire :
-soit tu le mets avant la balise </form>
-soit tu mets <form method="POST" action="fichier_de_reception.php" />
Dans fichier_de_reception.php, il faudra :
-faire un include vers ton fichier PHP de connexion avec ta base de données
-mettre session_start(); pour ne pas perdre ta session
-faire un test pour savoir si ton formulaire a était soumis avec if (isset($_POST['name_bouton_soumission']) { pour éviter qu'il te mettes un avertissement au premier chargement de ta page
-dans ton test, protéger tes zones de texte avec mysql_real_escape_string, voici un exemple :que tu pourras utiliser dans ta requête SQL.Code:$nom=mysql_real_escape_string($_POST['nom'])
quand je clque sur valider , le champ id_annonce s'est remplis , le titre s'est remplis , et l'annonce traité avec l’éditeur donne un vide et non pas null .
J'ai refais tt ça et ça marche pas !! le probléme c'est quand je tape echo $annonce ; il s'affiche rien , donc l'édirteur ne récupére rien ou il récupére des espaces (vide)
J'ai changé l'éditeur :D et ça marche mnt ;) Merçii en tt cas