craftsystem
Messages postés143Date d'inscriptionsamedi 21 juillet 2007StatutMembreDernière intervention 7 mars 2009
-
7 mai 2008 à 19:45
craftsystem
Messages postés143Date d'inscriptionsamedi 21 juillet 2007StatutMembreDernière intervention 7 mars 2009
-
7 mai 2008 à 22:17
Salut a tous
j'ai un petit souci avec un formulaire:
le truc c'est que le formulaire s'enregistre dans la base de données
donc la table se nomme 'x_table' avec
id int(11) autoincremente
log varchar(20)
msg longtext
voilà
quand j'ecris dans le formulaire sans copier coller sa fonctionne
mais dès que je tente de faire un copier coller sa foireeee....Il ne s'enregistre pas dans la BD
le code de l'enregistrement et du formatage du message:
<?php
mysql_connect("SERVEURBD", "Craft", "xxxxx");
mysql_select_db("MABASE");
session_start();
//J'enleve le html des post via htmlentities
$pseudo = $_SESSION['login'];
$titre_html = $_POST['titre'];
$titre = htmlentities($titre_html);
$source= $_POST['source'];
$source = htmlentities($source);
$lien= $_POST['lien'];
$message_avec_html = $_POST['message'];
$message_sans_html = htmlentities($message_avec_html);
//Je remplace les retour à la ligne dans le post par
$message = nl2br($message_sans_html);
$source = nl2br($source);
//BBCODE
$message = preg_replace('!\[g\](.+)\/g\!i', ' $1 ', $message);
$message = preg_replace('!\[s\](.+)\/s\!i', '$1', $message);
$message = preg_replace('!\[i\](.+)\/i\!i', ' $1 ', $message);
$message = preg_replace('!\[centre\](.+)\/centre\!i', '<center>$1</center>', $message);
$message = preg_replace('!\[gauche\](.+)\/gauche\!i', '
$1
', $message);
$message = preg_replace('!\[droite\](.+)\/droite\!i', '
$1
', $message);
$message = preg_replace('!\[note\](.+)\/note\!i',
'<center><td width=110 height=35
class=TITREBLANC><center>Note</center>
</center><td><code><enter>$1</center>
amezghal
Messages postés385Date d'inscriptionlundi 27 février 2006StatutMembreDernière intervention21 août 20155 7 mai 2008 à 22:05
Salut,
déjà ajoute un , or die(mysql_error()); apres tes requetes sql,
tu peux nous donner le message d'erreur/warning quand ça ne marche pas ?
sinon je pense que l'erreur vient de cette ligne
$contenue = stripslashes($contenue_brut);
si tu fais un stripslashes t'aura surement des problemes..
mysql_query("INSERT INTO x_table VALUES('', '$pseudo', '$contenue')");
si ya pas d'anti slashes ta requete doit pas marcher..
voilà
donc au lieu de faire stripslashes() met plutot addslashes() ou bien mysql_real_escape_string()
<hr size="2" width="100%" />Au début, on essaye de trouver une solution qui marche, et puis on veut la meilleure.