Bonjour, j'ai un formulaire auquel j'ai ajouté le YUI Rich text editor, mais lors de l'ajout en Bdd MySql, aucune info écriture aucun erreur !
Est-ce le manque des htmlentities ?
Bonjour, j'ai un formulaire auquel j'ai ajouté le YUI Rich text editor, mais lors de l'ajout en Bdd MySql, aucune info écriture aucun erreur !
Est-ce le manque des htmlentities ?
Assurément non.Est-ce le manque des htmlentities ?
As-tu procédé au débugage de ton script ?
Oui en effet après debugage aucune erreur mais lorsque je mets
je vois ma requete et mon <TEXTAREA> est vide !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 echo "<pre>"; print_r($sql); echo "</pre>";
alors je ne vois pas trop ce qui manque voici mon code
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
30
31 <?php include "config.php" ; //récupération des valeurs des champs: $id = $_POST["id"] ; $categ = $_POST["categ"] ; $titre = $_POST["titre"] ; $content = $_POST["content"] ; $sql = "INSERT INTO bcb_pages (id, categ, titre, content) VALUES ('$_POST[id]','$_POST[categ]','$_POST[titre]','$_POST[content]')"; //exécution de la requête SQL: $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ; echo "<pre>"; print_r($sql); echo "</pre>"; //affichage des résultats, pour savoir si l'insertion a marchée: if($requete) { echo("insertion on") ; } else { echo("Linsertion off") ; } ?>
Vu que le textarea peut contenir du HTML fait comme ça :je vois ma requete et mon <TEXTAREA> est vide !!
Affiche $_POST de la même manière, s'il est également vide contrôle ton formulaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 echo "<pre>"; echo htmlspecialchars(print_r($sql, TRUE)) ; echo "</pre>";
Re, merci
en fait toujours rien côté code envoyé alors mon formulaire est simple et je ne vois pas ou il peut se planter !!
Tu y vois quoi comme problème ?
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80 <?php include "config.php" ; ?> <html> <head> <title>Ajouter une nouvelle page au site web</title> <script type="text/javascript" src="jquery-1.3.2.min.js"></script> <script type="text/javascript" src="jquery.codify.min.js"></script> <script type="text/javascript" src="htmlbox.colors.js"></script> <script type="text/javascript" src="htmlbox.styles.js"></script> <script type="text/javascript" src="htmlbox.syntax.js"></script> <script type="text/javascript" src="htmlbox.undoredomanager.js"></script> <script type="text/javascript" src="htmlbox.min.js"></script> </head> <body> <div id=container"> <table> <tr> <td> <form name="insertion" action="add.php" method="POST"> <tr> <td> </td> <td> <input type="hidden" name="id"> </td> </tr> <tr> <td> <h3>Catégorie</h3> </td> <td> <input type="text" name="categ"> </td> </tr> <tr> <td> <h3>Titre</h3> </td> <td> <input type="text" name="titre"> </td> </tr> <tr> <td> <h3>Contenu</h3> </td> <td> <textarea id="htmlbox_silk_icon_set_blue" name="content"></textarea> <script language="Javascript" type="text/javascript"> var hb_silk_icon_set_blue = $("#htmlbox_silk_icon_set_blue").css("height","100%").css("width","100%").htmlbox({ toolbars:[ ["cut","copy","paste","separator_dots","bold","italic","underline","strike","sub","sup","separator_dots","undo","redo","separator_dots", "left","center","right","justify","separator_dots","ol","ul","indent","outdent","separator_dots","link","unlink","image"], ["code","removeformat","striptags","separator_dots","quote","paragraph","hr","separator_dots", {icon:"new.png",tooltip:"New",command:function(){hb_silk_icon_set_blue.set_text("<p></p>");}}, ] ], icons:"silk", skin:"blue" }); </script> </td> </tr> <tr> <td colspan="2"><input class="submit" type="submit" value="insérer"></td> </tr> </form> </td> <!--Début de la bibliothèques images pour le drag & drop--> <td valign="top"> <p>Bibliothèque d'images</p> <p><img class="bib" src="http://www.iconfinder.com/ajax/download/png/?id=44973&s=400"></p> </td> </tr> </table> </div> </body> </html>
Si j'enlève le HTMLBOX ça marche sans problème même si je place du code html.
l'url est ici :
http://remiya.com/htmlbox/index.php/...t-version.html
J'ai le même problème avec d'autres éditeur, je voulais le Yahoo UI editor, mais même problème.
Ca doit être vraiment trois fois rien, mais je ne vois pas !!!
Glooops
Salut
Afficher le contenu de la requête c'est utile effectivement, malgré tout le plus important c'est d'afficher ce que contient $_POST.
Donc fait un :
Code : Sélectionner tout - Visualiser dans une fenêtre à part print_r($_POST);
Ce qui est étonnant, c'est qu'on initialise à juste titre des variables comme $id, $categ, etc ...
Mais les données exploitées sont directement celles de $_POST ?
Essai plutôt de faire ainsi :
Par ailleurs, vu que tu utilises les fonctions mysql_*, il faudrait rajouter des mysql_real_escape_string() à chaque données destinées à la Bdd.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 //récupération des valeurs des champs: $id = $_POST["id"] ; $categ = $_POST["categ"] ; $titre = $_POST["titre"] ; $content = $_POST["content"] ; $sql = "INSERT INTO bcb_pages (id, categ, titre, content) VALUES ('$id','$categ','$titre','$content')";
Il suffit que le contenu contienne des quotes, ça risque de mettre en échec la requête sans cela, hormis le fait de ne pas sécuriser les données.
Partager