Bonjour, j’essaie de créer un tchat,, j'ai fait un page d'accueil pour insérer un pseudo, mais je n'arrive pas à mettre un message d'erreur au cas où la case serais vide.
voici mon code de la page d'accueil
et celle du tchat:
et celle de l'envoi:
j'ai essayé un code que j'ai mis dans la page d'accueil après le "else", mais ça na fonctionne pas, voici le code:
Merci de votre aide
voici mon code de la page d'accueil
<?php
if (!isset($_SESSION['pseudo'])) // "si" il n'y as pas de session pseudo
{
?>
<p>Bienvenue sur la page d'accueil de la TchatBox, pour entrer dans la TchatBox, vous devez insérer un pseudo .</p>
<p>Insérez votre pseudo choisi:</p>
<form action="tchat_post.php" method="post">
<p><input type="text" name="pseudo" id="pseudo" /> <input type="submit" value="Envoyer" /></p>
</form>
<?php
}
elseif (isset($_POST['pseudo']) OR isset($_SESSION['pseudo']))
{
header('location: TchatBox.php' ); // "sinon si" aller sur la page TchatBox
}
?>
et celle du tchat:
<form action="tchat_post.php" method="post">
<p><input type="text" name="message" id="message" size="80" placeholder="Éditer votre message ici" /> <input type="submit" value="Envoyer" /></p>
</form>
<?php // Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=monsite;charset=utf8', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Récupération des 18 derniers messages
$reponse = $bdd->query('SELECT pseudo, message FROM tchat ORDER BY ID DESC LIMIT 0, 18');
// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
while ($donnees = $reponse->fetch())
{
echo '<p class="tchat"><strong>' . htmlspecialchars($donnees['pseudo']) . ':</strong> <span class="message">' . htmlspecialchars($donnees['message']) . '</span></p>';
}
$reponse->closeCursor();
et celle de l'envoi:
<?php
session_start();
if(!isset($_SESSION['pseudo'])){ $_SESSION['pseudo'] = $_POST['pseudo']; }
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=monsite;charset=utf8', 'root', '');
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO tchat (pseudo, message) VALUES(?, ?)');
$req->execute(array($_SESSION['pseudo'], $_POST['message']));
// Redirection du visiteur vers la page du minichat
header('Location: Tchatbox.php');
?>
j'ai essayé un code que j'ai mis dans la page d'accueil après le "else", mais ça na fonctionne pas, voici le code:
else (empty($_POST['pseudo'])) // si formulaire vide message d'erreur
{
echo '<p>Vous n\'avez pas inséré de pseudo veuillez recommencer, merci.</p>';
}
Merci de votre aide
...alors j'ai une page d'accueil (ou j'accueille le visiteur pour qu'il insère un pseudo) une fois inséré son pseudo, il est renvoyé sur une autre page (là où il y à le chat) et un autre bout de code (tchat_post) qui lui traite la liaison entre le tchat et la BDD.
.