Empecher les message double
Fermé
anthony
-
25 févr. 2009 à 14:49
Tonyjim Messages postés 68 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 19 juillet 2009 - 8 mars 2009 à 07:58
Tonyjim Messages postés 68 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 19 juillet 2009 - 8 mars 2009 à 07:58
A voir également:
- Empecher les message double
- Message - Guide
- Double ecran - Guide
- Whatsapp double sim - Guide
- Recuperer message whatsapp supprimé - Guide
- Message d'absence thunderbird - Guide
8 réponses
ben on faite ce code sert juste a afficher les message poster par des personne mais moi je veut modifier ce code pour que les message ne peuvent pas se poster 2 fois le même c'est tout j'ai essayer de le modifier un peu mais sans succes donc voila je c'est pas comment faire
Tonyjim
Messages postés
68
Date d'inscription
lundi 16 février 2009
Statut
Membre
Dernière intervention
19 juillet 2009
1
8 mars 2009 à 07:58
8 mars 2009 à 07:58
bonjour à tous ;)
en faite anthony, tu ne veux pas de double a la suite c'est ca ou tu ne veux pas de double dans toute la base de donnée?
parce que si tu ne fais pas de double dans la base de donnée, comme c'est un mini chat, le samedi le gars il viens et il dit bonjour et le dimanche il sais plus ! il doit dire salut et le lundi, ........ :-))
donc a mon avis, fais comme ca ......
Je t'ai ajoute aussi ceci :
se qui permet que ton utilisateur ne doive pas retaper son pseudo a chaque fois .....
Bonne journée ;)
en faite anthony, tu ne veux pas de double a la suite c'est ca ou tu ne veux pas de double dans toute la base de donnée?
parce que si tu ne fais pas de double dans la base de donnée, comme c'est un mini chat, le samedi le gars il viens et il dit bonjour et le dimanche il sais plus ! il doit dire salut et le lundi, ........ :-))
donc a mon avis, fais comme ca ......
<!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" lang="fr"> <head> <title>Mini-chat</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <style type="text/css"> form { text-align:center; } </style> <body> <?php if (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent { if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer { // D'abord, on se connecte à MySQL mysql_connect("localhost", "sdz", "mot_de_passe"); mysql_select_db("coursphp"); // On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); /*********** On Vérifie si le message précedent est identique *********************/ // On utilise la requête suivante pour selectionner le message précedant $sql = mysql_query("SELECT * FROM minichat WHERE pseudo='$pseudo' ORDER BY ID DESC;"); $tableau_sql = mysql_fetch_array($sql); // si le message précendent du memes utilisateur est identique au nouveau if ($tableau_sql['message'] == $message) { echo "<script>alert(\"Vous avez déja écrit ce message\")</script>"; } else { echo "<script>alert(\"Votre message a bien été envoyer\")</script>"; // Ensuite on enregistre le message mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')"); } // On se déconnecte de MySQL mysql_close(); } } // Que l'on ait enregistré des données ou pas... // On affiche le formulaire puis les 10 derniers messages // Tout d'abord le formulaire : ?> <form action="minichat.php" method="post"> <p> Pseudo : <input type="text" name="pseudo" value="<?php echo $_POST['pseudo']; ?>" /><br /> Message : <input type="text" name="message" /><br /> <input type="submit" value="Envoyer" /> </p> </form> <?php // Maintenant on doit récupérer les 10 dernières entrées de la table // On se connecte d'abord à MySQL : mysql_connect("localhost", "sdz", "mot_de_passe"); mysql_select_db("coursphp"); // On utilise la requête suivante pour récupérer les 10 derniers messages : $reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10"); // On se déconnecte de MySQL mysql_close(); // Puis on fait une boucle pour afficher tous les résultats : while ($donnees = mysql_fetch_array($reponse) ) { ?> <p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?></p> <?php } // Fin de la boucle, le script est terminé ! ?> </body> </html>
Je t'ai ajoute aussi ceci :
Pseudo : <input type="text" name="pseudo" value="<?php echo $_POST['pseudo']; ?>" /><br />
se qui permet que ton utilisateur ne doive pas retaper son pseudo a chaque fois .....
Bonne journée ;)
platypus69
Messages postés
108
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
11 février 2015
7
25 févr. 2009 à 15:07
25 févr. 2009 à 15:07
j'ai pas compris grand chose a ton explications. Pourrais tu reformuler pour que l'on comprenne et souligné les trucs correspondant dans ton code.
Merci
Merci
platypus69
Messages postés
108
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
11 février 2015
7
25 févr. 2009 à 15:32
25 févr. 2009 à 15:32
donc si j'ai bien compris tu veux un programme qui empéche un utilisateur de mettre 2 fois le meme message dans ta BDD.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
platypus69
Messages postés
108
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
11 février 2015
7
25 févr. 2009 à 15:47
25 févr. 2009 à 15:47
je vais essaie de te faire un petit codage, je ne peux rien te promettre des suite mais j'y bosse
platypus69
Messages postés
108
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
11 février 2015
7
26 févr. 2009 à 08:55
26 févr. 2009 à 08:55
Je n'ai paseu le temps de tester le programme mais tu me diras si il marche. Je suis actuellement au boulot et je n'ai pas de logiciel pour tester mais 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" lang="fr">
<head>
<title>Mini-chat</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>
<?php
if (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent
{
if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer
{
// D'abord, on se connecte à MySQL
mysql_connect("localhost", "sdz", "mot_de_passe");
mysql_select_db("coursphp");
// On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
************ ON VA FAIRE UNE REQUETE POUR VOIR SI LE TEXTE EXISTE DEJA ********
// Une requête SQL avec un "order by" sur un champ permettant une comparaison nette pour détecter le doublon.
$select="SELECT message FROM coursphp";
$resultat=mysql_query($select);
if ($resultat==$message)
{echo "<script>alert(\"Vous avez déja écrit ce message\")</script>";
}
else
{echo "<script>alert(\"Votre message a bien été envoyer\")</script>";
header('Location: ');
}
?>
// location: tu peux rediriger l'utilisateur sur la page désiré
// Ensuite on enregistre le message
mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");
// On se déconnecte de MySQL
mysql_close();
}
}
// Que l'on ait enregistré des données ou pas...
// On affiche le formulaire puis les 10 derniers messages
// Tout d'abord le formulaire :
?>
<form action="minichat.php" method="post">
<p>
Pseudo : <input type="text" name="pseudo" /><br />
Message : <input type="text" name="message" /><br />
<input type="submit" value="Envoyer" />
</p>
</form>
<?php
// Maintenant on doit récupérer les 10 dernières entrées de la table
// On se connecte d'abord à MySQL :
mysql_connect("localhost", "sdz", "mot_de_passe");
mysql_select_db("coursphp");
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10");
// On se déconnecte de MySQL
mysql_close();
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?></p>
<?php
}
// Fin de la boucle, le script est terminé !
?>
</body>
</html>
<!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" lang="fr">
<head>
<title>Mini-chat</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>
<?php
if (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent
{
if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer
{
// D'abord, on se connecte à MySQL
mysql_connect("localhost", "sdz", "mot_de_passe");
mysql_select_db("coursphp");
// On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
************ ON VA FAIRE UNE REQUETE POUR VOIR SI LE TEXTE EXISTE DEJA ********
// Une requête SQL avec un "order by" sur un champ permettant une comparaison nette pour détecter le doublon.
$select="SELECT message FROM coursphp";
$resultat=mysql_query($select);
if ($resultat==$message)
{echo "<script>alert(\"Vous avez déja écrit ce message\")</script>";
}
else
{echo "<script>alert(\"Votre message a bien été envoyer\")</script>";
header('Location: ');
}
?>
// location: tu peux rediriger l'utilisateur sur la page désiré
// Ensuite on enregistre le message
mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");
// On se déconnecte de MySQL
mysql_close();
}
}
// Que l'on ait enregistré des données ou pas...
// On affiche le formulaire puis les 10 derniers messages
// Tout d'abord le formulaire :
?>
<form action="minichat.php" method="post">
<p>
Pseudo : <input type="text" name="pseudo" /><br />
Message : <input type="text" name="message" /><br />
<input type="submit" value="Envoyer" />
</p>
</form>
<?php
// Maintenant on doit récupérer les 10 dernières entrées de la table
// On se connecte d'abord à MySQL :
mysql_connect("localhost", "sdz", "mot_de_passe");
mysql_select_db("coursphp");
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10");
// On se déconnecte de MySQL
mysql_close();
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?></p>
<?php
}
// Fin de la boucle, le script est terminé !
?>
</body>
</html>
platypus69
Messages postés
108
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
11 février 2015
7
27 févr. 2009 à 13:40
27 févr. 2009 à 13:40
j'ai procédé a quelque teste le script n'es pas t'ou a fait au point. je pense que d'ici le week-end c'est réglé