VivoBaggio
Messages postés140Date d'inscriptionjeudi 27 octobre 2005StatutMembreDernière intervention23 janvier 2009
-
8 janv. 2006 à 15:35
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
8 janv. 2006 à 19:30
Salut. Voilà, j'ai voulu faire un minichat. Le problème, c'est après avoir crée la BDD et avoir placé les champs correctement, le chat marche dans le sens BDD - site quand on rentre les infos mais dans le sens site - BDD. Si vous pouviez regardez où se trouve l'erreur sur le code. Merci
<?php
if (isset($_POST['MiniChatPse']) AND isset($_POST['MiniChatMes'])) // Si les variables existent
{
if ($_POST['MiniChatPse'] != NULL AND $_POST['MiniChatMes'] != NULL) // Si on a quelque chose à enregistrer
{
mysql_connect("localhost", "root", "");
mysql_select_db("admin");
$pseudo = htmlentities ($_POST['MiniChatPse']);
$message = htmlentities ($_POST['MiniChatMes']);
// Ensuite on enregistre le message
mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");
mysql_close();
}
}
?>
<form action="principal.php" method="post">
Pseudo :
Message :
<textarea name="message" rows="5"></textarea>
</form>
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("animemor");
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM minichat ORDER BY MiniChatId DESC LIMIT 0,10");
mysql_close();
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )
{
?>
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 8 janv. 2006 à 18:29
Salut,
if (isset($_POST['MiniChatPse']) AND isset($_POST['MiniChatMes'])) // Si les variables existent
{
if ($_POST['MiniChatPse'] != NULL AND $_POST['MiniChatMes'] != NULL)
il n'y a aucun champ dans ton formulaire portant le nom de "MiniChatPse"
tu peux je pense remplacer ça par ça :
if (isset($_POST['message'],$_POST['pseudo']) AND trim($_POST['message']) AND trim($_POST['pseudo']))
{
if(get_magic_quotes_gpc()===0)
{
$pseudo=mysql_real_escape_string($_POST['pseudo']); //ça va plaire à FhX (lol)
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 8 janv. 2006 à 18:39
"if(get_magic_quotes_gpc()===0)
{
$pseudo=mysql_real_escape_string($_POST['pseudo']); //ça va plaire à FhX (lol)
$message=mysql_real_escape_string($_POST['message']);
}"
Ce qui va me plaire surtout, c'est qu'avec PHP6, y'aura plus besoin de se faire chier car les magic_quote vont dégager du PHP.ini :) :) :) :) :) :)
Par contre, faire un echappement de caractères suivit d'un htmlentities... ca sert un peu à rien :p
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 8 janv. 2006 à 19:02
FhX >"Par contre, faire un echappement de caractères suivit d'un htmlentities... ca sert un peu à rien :p"
si car si le mec injecte du HTML sans htmlentities tu l'as dans le luc... et si tu veux te passer des addslashes ou autres mysql_real_escape_string faut mettre le ENT_QUOTES dans le htmlentities, chose que je n'ai pas faite car ça reviendrait à faire un stripslashes en plus si le magic_quotes_gpc est à 1. donc inutile.
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Vous n’avez pas trouvé la réponse que vous recherchez ?
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 8 janv. 2006 à 19:26
Bah en même temps, si tu accèptes les balises html c'est que y'a un problème :)
Donc un coup d'ereg sur tout ce qui est balise et on en parle plus dès le début ! =)
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 8 janv. 2006 à 19:30
bah non justement si le mec veut afficher "voilà <salut à tous>" bah tu l'as dans le luc avec ton ereg car tu supprimes le texte inutilement. le htmlentities t'affiche le texte. et si tu veux supprimer les balises prends un strip_tags m'enfin bon là n'est pas la question :-)