Aller au menu - Aller au contenu
> Le Site du Zéro > Cours > Tutoriels > Site Web > PHP > Systèmes complets > Un livre d'or > Lecture des commentaires

Un livre d'or


Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page Précédente  1  2  3  4  5  6 
Pseudo Commentaire
Page Précédente  1  2  3  4  5  6 
Hors ligne gazaillegen # Posté le 27/11/2009 à 01:16:21

Ville : Rawdon
Pays : Canada

Bonjour,

Kulgar, tu m'as aidé à régler le problème du retour à la ligne. J'avais beau relire les explications de Mateo, je n'y arrivais pas.

Mille fois merci Kulgar !

EDIT : Qu'est-ce que le intval dans $page = intval($_GET['page']); ? Je ne comprends pas.

Autre problème, le livre d'or enregistre des messages en "blanc" !!
Si aucun pseudo et aucun message tapé par le visiteur mais que ce dernier clique sur le bouton "envoyer", un nouveau message est ajouté à la BDD avec des espaces blancs. Comment éviter la chose ?

Personnellement, je considère que je ne peux utiliser l'exemple du livre d'or de Mateo sur mon site. Il me faudra l'améliorer non seulement au niveau du design ce qui n'est pas un problème mais surtout au niveau des champs à ajouter et de la sécurité.

Merci quand même Mateo pour ce tuto car j'apprends beaucoup avec toi.
Hors ligne Mut # Posté le 29/11/2009 à 16:36:05
Avatar
Flux RSS

Citation : gazaillegen
EDIT : Qu'est-ce que le intval dans $page = intval($_GET['page']); ? Je ne comprends pas.

intval() transforme une variable en nombre entier. Si on met un nombre décimal, ça l'arrondit. Si on met n'importe quoi d'autre, ça donne 0.

Citation : gazaillegen
Autre problème, le livre d'or enregistre des messages en "blanc" !!
Si aucun pseudo et aucun message tapé par le visiteur mais que ce dernier clique sur le bouton "envoyer", un nouveau message est ajouté à la BDD avec des espaces blancs. Comment éviter la chose ?

Avec empty(), qui permet de tester si une variable contient une valeur nulle (donc aussi une chaîne vide).

J'ai aussi vu que certains s'embêtent à calculer la moyenne eux-mêmes. En fait, il y a plus simple avec SQL :
Code : SQL
1
SELECT AVG(note) AS moyenne FROM livreor;

Citation : Kadoc (Kaamelott, Livre V)
Vous rendez la poulette ou sinon c'est plus vous qui donnez à manger aux lapins.

Et je parle espéranto.
 
Hors ligne oh_capitaine # Posté le 02/12/2009 à 18:41:50
Avatar

Bon moi ça fait des mois que j'ai réussi à faire fonctionné mon livre d'or sur mon site mais j'ai un petit soucis...

On va dire que mon livre d'or marche très bien, beaucoup de messages, et du coup, avec la configuration apprise ici... BEAUCOUP TROP DE PAGES !!!

c'est très déplaisant et très moches, quelqu'un c'est comment réduire les nombres de pages affichés genre :

"pages : 1 2 3 4 ..."

"pages : ... 4 5 6 7 ..."

ou un lien qui mène vers un tuto qu'il l'explique..lui... ?
Hors ligne zirconias # Posté le 10/12/2009 à 01:01:15
Avatar

salut tout le monde ;
j'arrive pas a comprendre depuis que j'ai installé wampserver sur windows 7
et quand j'execute "minichat.php" qui fonctionnait bien avant...au depart c'etait pour tester mon fichier livreor.php
mais j'ai toujours cette erreur :
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\test1\minichat.php on line....

aidez moi svp !
Hors ligne Jdrien # Posté le 22/12/2009 à 19:39:58

Pour oh_captain:
j'ai mis un menu deroulant dans la parti <form> qui permet de choisir le nombre de message par page à afficher:
mess/pages:
<select type="int" name="nbrmesspage">
<option value="10" >10</option>
<option value="25" selected="selected">25</option>
<option value="50" >50</option>
<option value="80" >80</option>
<option value="100" >100</option>
</select>

puis:
if (isset($_POST['nbrmesspage']))
{
$nombreDeMessagesParPage = intval( $_POST['nbrmesspage']);
}
elseif (isset($_GET['nbrmesspage']))
{
$nombreDeMessagesParPage = intval( $_GET['nbrmesspage']);
}
else
{
$nombreDeMessagesParPage = 25;
}

et enfin pensez a changer dans la boucle pour afficher les numero des pages:
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="livreor.php?page=' . $i . '&amp;nbrmesspage=' . $nombreDeMessagesParPage . '">' . $i . '</a> ';
}
voila j'espere ke sa ira.
Hors ligne pasdouée # Posté le 30/12/2009 à 00:18:55

Bonjour à tous =)
Alors voilà j'ai un soucis et vous comprendrez pourquoi j'ai pris ce pseudo ^^

Alors tout d'abord j'ai suivis le TP, j'ai réussis a créer les tables et après je bloque :'(
en fait je voudrais savoir le code on le mets où ??? dans "bloc note" et en .php ou bien dans PhpMyadmin j'avoue que je suis complètement perdue et aussi savoir comment on le mets en ligne
sur son site !

Vous inquiétez pas je comprends vite mais lentement :-°

Merci de votre aide =)
Hors ligne oO XaM Oo # Posté le 01/01/2010 à 23:53:00
<?php echo='Dur le PHP!' ?>
Avatar

Tres bon tuto, j'aime bien cette idée de faire des tp!
J'ai juste une petite correction à apporter:
Si on veut que les retours à la ligne soient transformés par PHP en <br />, il faut appliquer la fonction Citation
nl2br()
après les avoir lus dans la BDD (au moment ou on veut les afficher), et non au moment ou on les enregistre.

Testez, vous verrez. Il faut donc:
Code : PHP
1
2
3
4
5
6
7
8
9
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$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> a écrit :<br />' . nl2br($donnees['message']) . '</p>';
}


Et non:
Code : PHP
1
2
3
4
5
6
7
8
9
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
    $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
    $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message
    $message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
 
    // On peut enfin enregistrer :o)
    mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
}


A+

Cordialement,
XaM
 
Hors ligne charlus97 # Posté le 02/01/2010 à 17:32:42

salut tout le monde j'ai un petit problème il faut bien enregisttrer le code php dans :c/wamp/www/test/

après je compren pas on l'ouvre avec wamp je compren rien moi pareille pour le minichat...

Image utilisateur
:p Je sais enfin faire du PHP et MYSQL :p

Grace a M@teo21
 
Hors ligne DuriToff # Posté le 25/01/2010 à 21:25:28
Avatar

Salut et merci XaM pour cette petite précision qui m'a enlevé une épine du pied !

A part ça, un grand merci a M@teo pour ses cours que je trouve très chouettes :)
Hors ligne DaTa # Posté le 02/02/2010 à 14:58:41
I code therefore I am
Avatar

Un gros gros merci à M@théo pour ce super tutoriel ! J'ai appris beaucoup de choses !

Je ne ferai qu'une légère remarque, peut-être que tu pourrais en parler dans le tutoriel car j'ai perdu beaucoup de temps à cause de ça :S
C'est à propos du TP sur le livre d'or. Il faut préciser que sous la dernière version de firefox, quand tu ne fais que cliquer sur Envoyer, le message qui vient d'être envoyé à la BDD n'est pas affiché, mais bien les autres : tu es obligé de rafraichir manuellement la page ou cliquer sur le numéro de la page...
Par contre sous Chrome et Internet Explorer 8, il n'y a aucun problème, la BDD "se recharge" toute seule et affiche bien le dernier message envoyé aussi :)
Voilou encore merci pour ce tutoriel !!!

Love is a dreadful bond, and yet, so easily severed !
― Davy Jones, Pirates des Caraïbes 3
 
Hors ligne djan59 # Posté le 14/02/2010 à 23:18:39

Si j'ai bien compris, pour réussir ce TP, il faut d'abord étudier la correction de ce TP.
Hors ligne polna # Posté le 19/02/2010 à 22:13:07
Avatar

Bonjour , je ne comprends pas , quand je crée la table , on m'affiche "ce n'est pas un nombre" quand je la sauvegarde .

Il y a deux choses infinies : l'Univers et la bêtise humaine ( c'est plus poli :-° ), et en ce qui concerne l'Univers , je n'en ai pas encore la certitude exacte .
 
Hors ligne millepuces # Posté le 08/03/2010 à 09:05:50
Avatar

Bonjour à vous tous,

j'ai suivi les explications de Mateo21 tjrs aussi génial, mon livre d'or fonctionne bien sur mon site
mais avec tout ca, j'ai des spams depuis une semaine, ils me prennent facilement 3 pages voir 4 et en cherchant partout dans le web, j'ai pas trouvé mon bonheur !

J'aimerais rajouter un anti-spam sur le livre d'or de mateo21, si kelkun peut m'aider ?

Merci pour vos aides
Millepuces ;)
Hors ligne kefah # Posté le 12/03/2010 à 02:58:29

bonjour,
j'ai pas suivis des cours de PHP mais j'ai Suivis les cours de xHTML et CSS et JavaScript pour faire mon site internet, je n'ai pas le temps pour suivre le cours de PHP du coup j'ai piquer le code de M@teo et je l'ai mis dans un fichier LivreOr.php il y a cette partie qui s'afiche correctement car elle contient de code html :
<form method="post" action="LivreOr.php">
<p>Mon site vous plaît ? 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>

mais en bas on voit le code PHP :euh:
Image utilisateur
Image utilisateur

est ce que quel qu'un peux m'aider?
Merci d'avance.
Hors ligne eaglend # Posté le 14/03/2010 à 15:42:00

bonjour,
pareil que keraf j'ai pas suivi les cours de php et j'ai pas installer WAMP. je debute en XHTML mais je voudrais bien avoir un livre d'or pour mon site. est-ce possible de l'avoir sans le code php,
c'est à dire purement en XHTML. merci
Hors ligne kefah # Posté le 14/03/2010 à 15:59:40

bonjour eaglend,
Non ca marche pas en xHTML, car xHTML est très basique, je crois possible de faire avec JavaScript! mais je ne suis pas sure!
Hors ligne eaglend # Posté le 17/03/2010 à 23:19:52

ok kefah
je les vu c'etait bien marqué dans le cours xhtml/css (les formulaires).
va alors pour le php,qui est apparament similaire au C++ que je connais deja.
Pour accéder à cette section
Connectez-vous !
connexion_rpx