Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: @nthony le le 14-03-2009 a 20:28:06

Titre: script message poster double
Posté par: @nthony le le 14-03-2009 a 20:28:06

bonjour,
voila en faite j'ai fais un script mais je ne veut pas que les message que l'on poste apparaise on double donc voila mon code :

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Tout sur naruto shippuden vostfr</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="anthony" href="designe.css" />
    <link rel="icon" type="image/jpg" href="images/favicion.jpeg"/>
</head>
<body>
<?php
if ( isset ($_POST['pseudo']) AND isset ($_POST['message']) )
{if ($_POST['pseudo'] != NULL AND $_POST['message'] !=NULL )
{mysql_connect ("localhost", "root", "");
mysql_select_db ("minichat");
$pseudo = htmlspecialchars (mysql_real_escape_string($_POST['pseudo']));
$message = htmlspecialchars (mysql_real_escape_string($_POST['message']));
if($_POST['message'] != $message)
{
mysql_query ("INSERT INTO minichat VALUES ('', '$pseudo', '$message')" ) OR DIE (mysql_error () );
mysql_close (); ]
} ?>
<form method="post" action="test.php">
<p>
<label for="pseudo">pseudo</label> : <input type="text" id="pseudo" name="pseudo" value="<?php echo $_POST['pseudo']; ?> />
<label for="message">votre message</label> : <input type="text" id="message" name="message"/>
<input type="submit" value="valider"/>
</p>
</form>
<?php
mysql_connect ("localhost", "root", "");
mysql_select_db ("minichat");
$reponse = mysql_query ("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10") OR DIE (mysql_error () );
mysql_close ();
while ( $donnees = mysql_fetch_array($reponse) )
{ ?> <p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?> </p><?php } ?>
</body>
</html>

mais voila maintenant quand je poste un message sa l'affiche plus donc si vous pourriez me dire ou est mon erreure
merci d'avance

Titre: Re:script message poster double
Posté par: Krash le le 15-03-2009 a 17:44:41

pourquoi avoir mis cette condition ?

if($_POST['message'] != $message)


S'il n'y a pas de caractères spéciaux dans $_POST['message'],
$_POST['message'] et $message sont identiques donc l'enregistrement dans la base de données ne se fera pas

Titre: Re:script message poster double
Posté par: @nthony le le 15-03-2009 a 17:49:54

ah oui je me suis tromper en faite j'ai voulue dire que si la variable du forum $_POST est differente de celle qui a été enregistrer dans la Base de donné et ben on peut l'enregister sinon si la varaiable $_POST est identique à la variable qui a été enregistrer adans la base de donnée et ben il enregistre pas comme ca sa évite les message qui sont poster double

Titre: Re:script message poster double
Posté par: @nthony le le 15-03-2009 a 17:52:02

mais comment en fait alors pour que le message poster n'apparaise pas en double ?? parceque la je ne vois pas comment on peut faire

Titre: Re:script message poster double
Posté par: Krash le le 15-03-2009 a 18:06:13

pourquoi vouloir interdire les messages identiques ?
Il se peut très bien que deux personnes postent le même message.

sinon au lieu de
Citation:
if($_POST['message'] != $message)


tu mets ceci
Citation:
$requete = mysql_query( "SELECT * FROM minichat WHERE message='" . $message . "' ");
if(!mysql_num_rows($requete))


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.