Bonjour à tous, alors voila, je vous explique avant de vous balancer tout le code :p
J'ai un code mini-chat, et un code page protegé par mot de passe, j'ai fais un mix des 2 bien sur!
Donc dans le code du motdepasse, IF mot de passe = "" et la j'ai copier TOUT le code du mini-chat, ELSE, retaper le mot de passe,
Je rentre la pass tout va bien je rentre dans partie du code mini-chat, mais lorsque je rentre le pseudo et un message, je clique sur envoyer, ben la bimbamboum, je suis de retour sur la page du mot de passe (enfin je suis sortie du code mini-chat quoi),
Je ne comprend pas pourquoi (parceque si on prend QUE le code du chat seul, il va se repeter comme un grand, donc on pourra chatter, mais des que je l'insere,il ne se repete plus,sniif)
voilou vous pouver faire un copier/coller si vous voulez
<?php
// J'ai choisi le mot de passe "kangourou"
if (isset($_POST['mot_de_passe'])) // Si la variable existe
{
// On se crée une variable $mot_de_passe avec le mot de passe entré
$mot_de_passe = $_POST['mot_de_passe'];
}
else // La variable n'existe pas encore
{
$mot_de_passe = ""; // On crée une variable $mot_de_passe vide
}
if ($mot_de_passe == "kangourou") // Si le mot de passe est bon
{
// On affiche la page cachée.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "
[ Lien ]">
<html xmlns="
[ Lien ]" 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", "root", "");
mysql_select_db("minichat");
// On utilise la fonction PHP htmlentities pour éviter d'enregistrer du code HTML dans la table
$message = htmlentities ($_POST['message']);
$pseudo = htmlentities ($_POST['pseudo']);
$heure = date('H:i:s');
// Ensuite on enregistre le message
mysql_query("INSERT INTO msnix VALUES('', '$pseudo', '$message', '$heure')");
// On se déconnecte de MySQL
mysql_close();
}
}
// Que l'on ait enregistré des données ou pas...
// On affiche le formulaire puis les 20 derniers messages
// Tout d'abord le formulaire :
?>
<form action="pass.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
mysql_connect("localhost", "root", ""); //connection à la base
mysql_select_db("minichat"); //selection base
$retour = mysql_query("SELECT count( * ) as nbmess FROM msnix") or die (mysql_error()); //compte le nombre de message dans le chat dans la table msnix
$donnees = mysql_fetch_array($retour);
if ($donnees['nbmess'] > 19) //s'il y a plus de 19 messages, la base se vide
{
mysql_query("DELETE FROM msnix");
echo "base vidé";
}
?>
<?php
// Maintenant on doit récupérer les 20 dernières entrées de la table
// On se connecte d'abord à MySQL :
mysql_connect("localhost", "root", "");
mysql_select_db("minichat");
// On utilise la requête suivante pour récupérer les 20 derniers messages :
$reponse = mysql_query("SELECT * FROM msnix ORDER BY ID DESC LIMIT 0,20");
// 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['heure'];?>) <?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?> </p>
<?php
}
// Fin de la boucle, le script est terminé !
?>
</body>
</html>
<?php
}
else // le mot de passe n'est pas bon
{
// On affiche la zone de texte pour rentrer le mot de passe.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "
[ Lien ]">
<html xmlns="
[ Lien ]" xml:lang="fr" lang="fr">
<head>
<title>Page protégée par mot de passe</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<p>Veuillez entrer le mot de passe pour accèder :</p>
<form action="pass.php" method="post">
<p>
<input type="password" name="mot_de_passe" /> <input type="submit" value="Valider" />
</p>
</form>
<p>Cette page est réservée au IG. Si vous n'en faites pas parti, inutile d'insister vous ne trouverez jamais le mot de passe ! ;-)</p>
</body>
</html>
<?php
} // Fin du else
// Fin du code
?>