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