Livre d'or : Petit problème
Résolu/Fermé
A voir également:
- Livre d'or : Petit problème
- Livre coran en français pdf - Télécharger - Histoire & Religion
- Livre de cave gratuit - Télécharger - Cuisine & Gastronomie
- Couleur or word ✓ - Forum Word
- Livre epub c'est quoi - Guide
- Logiciel patron livre plié gratuit - Forum The Gimp
12 réponses
LeYaude
Messages postés
304
Date d'inscription
vendredi 24 août 2007
Statut
Membre
Dernière intervention
8 février 2009
46
2 sept. 2007 à 16:08
2 sept. 2007 à 16:08
As-tu vérifié si tes données entrent dans la base de donnée avec PhpMyAdmin ?
Sinon j'ai eu des problèmes du genre, j'ai dû remplacer '$date' par '".$date."' et de même pour les autres en enregistrant les infos dans la base de donnée.
Sinon ton code a l'air bon, si je me trompe pas il vient du sdz, donc si c'est du M@téo, c'est du bon ! lol.
Sinon j'ai eu des problèmes du genre, j'ai dû remplacer '$date' par '".$date."' et de même pour les autres en enregistrant les infos dans la base de donnée.
Sinon ton code a l'air bon, si je me trompe pas il vient du sdz, donc si c'est du M@téo, c'est du bon ! lol.
Non les données n'entrent pas dans la base de donnée ^^
Je viens de remplacer les '$variable' en '".$variable."' mais sa ne change pas ...
Je viens de remplacer les '$variable' en '".$variable."' mais sa ne change pas ...
LeYaude
Messages postés
304
Date d'inscription
vendredi 24 août 2007
Statut
Membre
Dernière intervention
8 février 2009
46
2 sept. 2007 à 17:07
2 sept. 2007 à 17:07
J'ai trouvé ! Tu as 3 "s" à message dans ton formulaire : "messsage", donc $_POST['message'] n'existe pas, donc ce qui est dans la condition ne s'exécute pas. C'est souvent qu'on se fait avoir par une pauvre lette comme ça ! Je viens de faire un site et ça m'est arrivé une bonne dizaine de fois ! lol.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon j'ai encore deux problème ^^
1) Les dates de mes messages s'affichent comme ceci : Pseudo posté le 2.
2) Ensuite j'ai rajouté un code pour vérifier si les champs sont vides (avec empty) mais maintenant qu'il soient vide ou pas ... Ca me met le message d'erreur prévu si les champs sont vides ...
Voici le code :
<!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">
<!--
img
{
border:none;
}
-->
</style>
</head>
<body>
<p>Hello hello, voici le Livre d'Or du Fun-Mag</p>
<?php
$serveur = 'localhost';
$pseudo = 'root';
$mot_de_passe = '';
$base = 'livre';
mysql_connect("$serveur", "$pseudo", "$mot_de_passe");
mysql_select_db("$base");
if(empty($_POST['$pseudo']) OR empty($_POST['$message']))
{
echo 'Vous n\'avez pas remplie tous les champs<br /><br />';
}
else
{
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
$date = date('d/m/Y/H/i/s'); //Définition de la variable date
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); //Sécurité Powa !
$message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); //Idem ^^
$message = nl2br($message); // Remplacement de "entrer" par <br/>
mysql_query("INSERT INTO livreor VALUES('', '".$date."', '".$pseudo."', '".$message."')");
}
}
?>
<?php
$nombreDeMessagesParPage = 10; // A modifier !
// Récupération du nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];
// Calcul du nombres de pages créées
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Boucle ... Affichage des numéro de pages ainsi que des liens vers celles ci ...
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="livre.php?page=' . $i . '">' . $i . '</a> ';
}
?>
<?php
//Affichage des messages
if (isset($_GET['page']))
{
$page = intval($_GET['page']); //Récupération de la page ...
}
else
{
$page = 1; // Page par defaut
}
// Calculation de la limite du numéro de base
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
while ($donnees = mysql_fetch_array($reponse))
{
echo '<p><strong>' . $donnees['pseudo'] . '</strong> Posté le ' . $donnees['date'] . '<br />' . $donnees['message'] . '<br /><hr /></p>';
}
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="livre.php?page=' . $i . '">' . $i . '</a> ';
}
mysql_close();
?>
<p>Ajouter votre message</p>
<form method="post" action="livre.php">
<p>
<label for="pseudo">Pseudo :<br/></label><input name="pseudo" /><br /><br />
<label for="message">Message :</label><br/>
<textarea name="message" rows="10" cols="50">
1) Les dates de mes messages s'affichent comme ceci : Pseudo posté le 2.
2) Ensuite j'ai rajouté un code pour vérifier si les champs sont vides (avec empty) mais maintenant qu'il soient vide ou pas ... Ca me met le message d'erreur prévu si les champs sont vides ...
Voici le code :
<!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">
<!--
img
{
border:none;
}
-->
</style>
</head>
<body>
<p>Hello hello, voici le Livre d'Or du Fun-Mag</p>
<?php
$serveur = 'localhost';
$pseudo = 'root';
$mot_de_passe = '';
$base = 'livre';
mysql_connect("$serveur", "$pseudo", "$mot_de_passe");
mysql_select_db("$base");
if(empty($_POST['$pseudo']) OR empty($_POST['$message']))
{
echo 'Vous n\'avez pas remplie tous les champs<br /><br />';
}
else
{
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
$date = date('d/m/Y/H/i/s'); //Définition de la variable date
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); //Sécurité Powa !
$message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); //Idem ^^
$message = nl2br($message); // Remplacement de "entrer" par <br/>
mysql_query("INSERT INTO livreor VALUES('', '".$date."', '".$pseudo."', '".$message."')");
}
}
?>
<?php
$nombreDeMessagesParPage = 10; // A modifier !
// Récupération du nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];
// Calcul du nombres de pages créées
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Boucle ... Affichage des numéro de pages ainsi que des liens vers celles ci ...
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="livre.php?page=' . $i . '">' . $i . '</a> ';
}
?>
<?php
//Affichage des messages
if (isset($_GET['page']))
{
$page = intval($_GET['page']); //Récupération de la page ...
}
else
{
$page = 1; // Page par defaut
}
// Calculation de la limite du numéro de base
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
while ($donnees = mysql_fetch_array($reponse))
{
echo '<p><strong>' . $donnees['pseudo'] . '</strong> Posté le ' . $donnees['date'] . '<br />' . $donnees['message'] . '<br /><hr /></p>';
}
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="livre.php?page=' . $i . '">' . $i . '</a> ';
}
mysql_close();
?>
<p>Ajouter votre message</p>
<form method="post" action="livre.php">
<p>
<label for="pseudo">Pseudo :<br/></label><input name="pseudo" /><br /><br />
<label for="message">Message :</label><br/>
<textarea name="message" rows="10" cols="50">
J'ai aussi oublié de préciser que les "entrer" dans le message ne se transforme pas en <br/> ...
Merci d'avance ^^
Merci d'avance ^^
Bon j'ai reussit à régler les problèmes de date et de saut de ligne ...
Mais je n'arrive toujours pas à empecher la validation d'un formulaire vide ...
de plus je me sens un peu seul là ^^
Mais je n'arrive toujours pas à empecher la validation d'un formulaire vide ...
de plus je me sens un peu seul là ^^
warlix
Messages postés
1201
Date d'inscription
mercredi 25 juillet 2007
Statut
Contributeur
Dernière intervention
21 février 2009
288
3 sept. 2007 à 12:58
3 sept. 2007 à 12:58
salut
étant intessé par ce genre de systeme , pourquoi ne pas expliquer comment tu as résolu les erreurs? :)
étant intessé par ce genre de systeme , pourquoi ne pas expliquer comment tu as résolu les erreurs? :)
Ok ^^ :
Pour les dates je n'ai pas reussit de le faire celon la méthode courte :
$date = date('d/m/Y');
J'ai donc créé d'autre variables :
$date = date('d'); //Définition de la variable date
$date1 = date('m'); //Définition de la variable date
$date2 = date('Y'); //Définition de la variable date
$date3 = date('H'); //Définition de la variable date
$date4 = date('i'); //Définition de la variable date
$date5 = date('s'); //Définition de la variable date
Dans l'affichage des messages j'ai ajouté les données :
. $donnees['date'] . '/' . $donnees['date1'] . '/' . $donnees['date2'] . ' à ' . $donnees['date3'] . ':' . $donnees['date4'] . ':' . $donnees['date5'] . '<br />' .
Et j'ai aussi ajouté les nouvelles variables dans la base de données ...
Ce qui me donne : 3/09/2007 à 13:04:52
Pour la transformation de "saut de ligne" en <br/> :
J'ai tout simplement réunit les deux différentes variables de message :
$message = mysql_real_escape_string(nl2br(htmlspecialchars($_POST['message'])));
Voila ^^ Mais il me reste toujours l'anti-validation de formulaire vide :p
Pour les dates je n'ai pas reussit de le faire celon la méthode courte :
$date = date('d/m/Y');
J'ai donc créé d'autre variables :
$date = date('d'); //Définition de la variable date
$date1 = date('m'); //Définition de la variable date
$date2 = date('Y'); //Définition de la variable date
$date3 = date('H'); //Définition de la variable date
$date4 = date('i'); //Définition de la variable date
$date5 = date('s'); //Définition de la variable date
Dans l'affichage des messages j'ai ajouté les données :
. $donnees['date'] . '/' . $donnees['date1'] . '/' . $donnees['date2'] . ' à ' . $donnees['date3'] . ':' . $donnees['date4'] . ':' . $donnees['date5'] . '<br />' .
Et j'ai aussi ajouté les nouvelles variables dans la base de données ...
Ce qui me donne : 3/09/2007 à 13:04:52
Pour la transformation de "saut de ligne" en <br/> :
J'ai tout simplement réunit les deux différentes variables de message :
$message = mysql_real_escape_string(nl2br(htmlspecialchars($_POST['message'])));
Voila ^^ Mais il me reste toujours l'anti-validation de formulaire vide :p
LeYaude
Messages postés
304
Date d'inscription
vendredi 24 août 2007
Statut
Membre
Dernière intervention
8 février 2009
46
28 déc. 2007 à 19:22
28 déc. 2007 à 19:22
if(empty($_POST['$pseudo']) OR empty($_POST['$message']))
{
echo 'Vous n\'avez pas remplie tous les champs<br /><br />';
}
Les lignes incriminées semblent être ici : enlève les '$' devant les arguments de $_POST
Exemple : $_POST['$pseudo'] ==> $_POST['pseudo']
Sinon PHP cherche le champ ayant pour name "$pseudo" et pas "pseudo"
J'espère que c'est ça, mais normalement ça devrait marcher.
Le Yaude
{
echo 'Vous n\'avez pas remplie tous les champs<br /><br />';
}
Les lignes incriminées semblent être ici : enlève les '$' devant les arguments de $_POST
Exemple : $_POST['$pseudo'] ==> $_POST['pseudo']
Sinon PHP cherche le champ ayant pour name "$pseudo" et pas "pseudo"
J'espère que c'est ça, mais normalement ça devrait marcher.
Le Yaude