8796 sujets

Développement web côté serveur, CMS

Bonjour a tous.

Voila je viens d'ecrire un site il y a quelque jour. Ayant suivi quelque tuto par-ci par-là, j'ai creer un petit livre d'or en php.

Lorsque j'entre les informations dans tout les champs de mon livre d'or et que je valide mon message, rien ne s'affiche.
Ci quelqu'un peut m'expliquez ça serais sympa.

Le site est http://www.sharkii-clarkii.fr/livre.php

Aidez moi s'il vous plait.
Je vous remerci d'avance Smiley cligne

A bientot
Salut,

Sans ton code php on ne peut pas t'aider, sinon ton formulaire pointe sur la même page que l'on consulte, c'est le même fichier qui fait les contrôles et les insertions dans la BDD?
Oui c'est un meme fichier :


<!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">
   <head>
       <title>Livre d'or</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 
        <style type="text/css">
        form, .pages
        {
            text-align:center;
        }
        </style>
    </head>
    <body>
 
    <form method="post" action="livre.php">
        <p>Vous desirez quelque chose de plus? Laissez-moi un message !</p>
        <p>
            Pseudo : <input name="pseudo" /><br />
            Message :<br />
            <textarea name="message" rows="8" cols="35"></textarea><br />
            <input type="submit" value="Envoyer" />
        </p>
    </form>
 
    <p class="pages">
 
<?php
mysql_connect("localhost", "sdz", "mot_de_passe");
mysql_select_db("coursphp");
 
// --------------- Etape 1 -----------------
 
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 livre VALUES('', '" . $pseudo . "', '" . $message . "')");
}
 
// --------------- Etape 2 -----------------
$nombreDeMessagesParPage = 20;
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livre');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];
$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    echo '<a href="livre.php?page=' . $i . '">' . $i . '</a> ';
}
?>
 
</p>
 
<?php
 
 
// --------------- Etape 3 ---------------
if (isset($_GET['page']))
{
        $page = $_GET['page']; 
}
else 
{
        $page = 1; 
}
 

$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
 
$reponse = mysql_query('SELECT * FROM livre ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
 
while ($donnees = mysql_fetch_array($reponse))
{
        echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
}
 
mysql_close();
?>
 
</body>
</html> 

Modifié par sh4rk0 (04 Aug 2009 - 18:44)
Hello sh4rk0 et bienvenue,

hum... ce code a l'avantage d'être simple (simpliste ?) mais il est plutôt moche ! Je suppose qu'on peut trouver mieux sur le net.

Quoi qu'il en soit il faudrait vérifier que l'insertion se fait bien dans la table en rajoutant :
mysql_query("INSERT INTO livre VALUES('', '" . $pseudo . "', '" . $message . "')") [b]or die(mysql_error())[/b]; 
salut.

J ai un message d'erreur qui est :

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)


merci encore
Euh... est-ce que tu as déjà écrit un script qui se connecte à une base et qui effectue une requête ? Si ce n'est pas le cas il faut commencer par revoir les bases... et Alsacréations n'est pas un site dédié à l'apprentissage de PHP / Mysql. Il en existe bon nombre dont c'est le but (voir par exemple l'annonce de ce salon). Smiley cligne
Modifié par Heyoan (04 Aug 2009 - 23:27)