Besoin d'aide pour mon livre d'or en php

Fermé
Ge - 30 oct. 2009 à 16:52
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 - 30 oct. 2009 à 17:28
Bonjour,

Je suis entrain de créer un livre d'or pour mon site internet, quelque chose de simple avec juste le nom et le message à remplir.
J'aimerais qu'un message d'erreur s'affiche lorsque le nom de l'internaute n'a pas éte rempli et que surtout les infos ne s'affichent pas dans ma base de données si c'est le cas. Et ca ne marche pas.

Je ne comprends pas pourquoi les infos sont inserée dans ma base de donnée quand le pseudo ne l'est pas sachant que je met if (isset($_POST['pseudo']) AND isset($_POST['message']))...........mysql_query("INSERT INTO livreor (id,pseudo,message,datetime) VALUES('', '" . $pseudo . "', '" . $message . "', NOW())");............

Voila une partie de mon code:


<form method="post" action="livreor.php">
<p>
Name: <input name="pseudo" /><br />
Message:<br />
<textarea name="message" rows="5" cols="50"></textarea><br />
<input type="submit" value="Send" />
</p>
</form>

<?php
mysql_connect("localhost", "root", "");
mysql_select_db("test");

if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$message = nl2br($message);

mysql_query("INSERT INTO livreor (id,pseudo,message,datetime) VALUES('', '" . $pseudo . "', '" . $message . "', NOW())");
}

$reponse = mysql_query("SELECT * FROM livreor ORDER BY id DESC");

while ($donnees = mysql_fetch_array($reponse) )
{
echo '<p><span class="pseudo">' .$donnees['pseudo']. '</span> wrote: <span class="date">('.$donnees['datetime'].')</span></p>';
echo '<p><span class="message">' .$donnees['message'].'</span></p>';
}

?>


Pas vraiment facile d'expliquer tout ca, surtout pour un débutant en php.
Mais si vous pensez pouvoir m'aider ce serait super.
Et n'hésitez pas a critiquer ce code, j'ai encore bcp a apprendre...
MERCI
A voir également:

2 réponses

Utilisateur anonyme
30 oct. 2009 à 17:07
STOP ! arrête tous tes codages et rend toi sur :
http://www.lephpfacile.com/howto/5-comment-faire-un-livre-d-or-en-php
Tous y est très bien expliquer ! et c'est super pour apprendre !

@+
1
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
30 oct. 2009 à 17:28
if(isset($_POST['pseudo']) AND isset($_POST['message']))
Cette ligne ne fait que vérifier si les variables existes, ce qui est forcément le cas après l'envoie du formulaire. Utilise plutôt empty qui renvoye true si le champ est vide :
if(empty($_POST['pseudo']) OR empty($_POST['message']))
1