Probleme livre or php/mysql
Forum Programmation : Probleme livre or php/mysql
Bonjour a tous
Je fais appelle a vous car j'ai besoin de votre aide. Je suis en train de creer un livre d'or mais je rencontre un probleme que je n'arrive pas a résoudre.
Lorsque les 20 messages sont affichés la page 1 (qui doit normalement se creer) n'apparait pas et je ne comprend pas pourquoi. En modifiant un peu, le probleme s'aggrave c'est a dire que lorsque a la place de
Code :
|
je met
Code :
|
soit 20 page se creer soit des pages se creer mais de maniere pas logique ( au lieu d'avoir 123 j'ai 294)
j'ai essayer de chercher mes erreurs, je sais qu'il y en a et ou precisement (de la ligne 44 a la ligne 58)
mais je n'arrive pas a les resoudres ...je fais donc appelle a vous.
Dans l'attente d'une reponse de votre part, je vous dit merci.
Voici le script :
Code :
|
PS : je vous demande de ne pas me donner la solution directement mais de m'expliquer mes erreurs.
Merci de votre comprehension
Des erreurs, oui mais quoi ?
Sinon il y a un truc que je comprend pas, tu créés un $_GET['page'] pour ta pagination, c'est bien sauf que dans ton code tu n'as rien derrière qui suit. Ce n'est pas un SELECT if FROM livreor qu'il faut faire, tu risques d'avoir de gros problème d'incohérence sinon. Il faut faire un SELECT COUNT(*) FROM livreor;
Sinon $nombre_de_message_total n'est pas le nombre de message mais une ressource sql. Le résultat est
Code :
|
Pour connaitre la page tu fait un petit code genre :
if(is_numeric($_GET['page'])) $page=$_GET['page']
else $page=0;
Ensuite ta requête de sélection doit être :
Code :
|
Il est toujours préférable de lister l'ensemble des champs que tu souhaites sélectionner en bannir le *
Dans le même genre d'erreur tu as ta requête d'insertion qui devrait être qqchose comme :
Code :
|
Sinon si un jour tu souhaites rajouter une colonne dans ta table alors ton code ne marchera plus sans être modifier ... Et au bout de plusieurs requête un peu partout dans le code cela devient invivable.
Sinon le code me semble relativement correct, même si 2 mysql_connect() c'est un peu bizarre, théoriquement dans du code, on ne doit jamais avoir 2 portions de code qui ont été copier/coller (bon ça c'est l'idéal et lorsqu'on est débutant c'est quasi impossible).
je ne connais pas cette fonction "is_numeric" pouvez vous m'expliquez a quoi elle sert et qu'elles sont le ou les paramètres a indiqué merci beaucoup .
C'est pas le principe de la documentation d'expliquer ça ?
is_numeric() sur php.net
En bref, tu lui passes n'importe quoi en paramètre (parfait donc pour une variable venant de $_GET, $8POST, $_SERVER ... qui sont non sécurisée et modifiable par l'utilisateur (oui $_SERVER)) et il te répond vrai ou faut.
tres bien, merci beaucoup
C'est pas très très propre ça... Déjà, je te conseil de mettre une connexion pour toute la page (mysql_connect en tout en haut et mysql_close en tout en bas). Puis après, indente bien tes codes (http://fr.wikipedia.org/wiki/Style [...] ation_en_C). Et question peut être bête : pourquoi tu ne fais afficher les messages du livre d'or seulement si on en envoie un ? Tu te fatigues pour rien.
Où as-tu appris ton PHP ?
Et voici une page qui pourrais bien t'aider : http://www.siteduzero.com/tutoriel [...] -d-or.html
Message édité par G31 le 30-08-2009 à 23:44:46
Répondre à G31
le php je l'ai appris sur le site su zero pourquoi ?
le php je l'ai appris sur le site su zero
il est pas bien mon php ? en meme temps sa fait meme pas 1 mois que j'ai commencé le php ...
Bonjour,
Apprendre à faire un affichage page par page:
http://www.phpdebutant.org/article84.php
Hosting Favicon
Clic pas ici
Répondre à Allstar27
| wahhh a écrit : il est pas bien mon php ? en meme temps sa fait meme pas 1 mois que j'ai commencé le php ... |
Pour tout te dire, il n'est pas terrible. Parce que moi aussi ça fait pas plus de 2 mois que je l'ai commencé, tu peux déjà voir un site à mon nom. (myhorse.fr.nf) Il faudrait que tu suives les conseils de Mateo sur SdZ et le miens que j'ai donnés plus haut, tu sauveras tes codes d'un bon nombre d'erreurs, tu verras.
Répondre à G31
Sincèrement, il est pas si mal que ça ... il est de la qualité d'une personne apprenant sur le site du zero ...
en même temps je trouve cela normal qu'il y ait un peu le foutoire je suis seul et je ne reçois aucune aide sauf sur les forums de toute maniere cette année je rentre en bts je pense que sa ira bcp mieux apres pour tout tout ce qui est script, le SDZ et super genial je m'en sert tout le temps mais il 'y a pas l'aide que j'attend (des explications personnalisées) mais sa sera reglera a la rentrée sa. en tout cas je vous remercie a tous pour le soutient que vous m'apportez a chaque fois que je post ici. Ici les reponses sont bien expliqués et sont serieuses. Perso je n'ose plus trop posté sur le SDZ, on m'allume a la premiere occasion lorsque je dit une erreur. L'erreur est humaine apres tout, pourquoi on me bombarde alors ? sa je ne sais pas et apres tout c'est en faisant des erreurs qu'on apprend
En même temps je ne le répèterais jamais assez ici, le SDZ est un très mauvais site pour apprendre le PHP, mais est très bien pour le xHTML/CSS.
Si tu le dis, j'ai le choix entre tout ça ou payer 15 000 €. T'as choisi quoi, toi ?
Message édité par G31 le 31-08-2009 à 11:45:49
Répondre à G31
Apprendre-PHP est un très bon site une fois qu'on a des petites bases, perso j'ai tendance à beaucoup apprécié lephpfacile même si il y a quelques points moyens dans les cours (genre les or die() ou les requête sql INSERT INTO toto VALUES).
Sinon il y a le bouquin PHP5 avancé qui est comme son nom de l'indique pas aussi pour les débutant et est une très bonne bible à 50€.
Qu'est-ce que tu appelles un bon site pour apprendre le PHP ? Je trouve très clair le SdZ.
Répondre à G31
Il est assez pédagogique mais pousse à un grand nombre de mauvaise pratique. Il se concentre que sur ce qui est visible et absolument pas sur des points très important comme la sécurité, gérer les erreurs, les validations du contenu etc ... Résultat on retrouve des sites passoires.
Et c'est souvent ces gens qui codent qui sont là à dire, utiliser Firefox, IE n'est pas sécurisé ! Pourtant la plus grosse faille de sécu c'est eux.
| SiM07 a écrit : Il est assez pédagogique mais pousse à un grand nombre de mauvaise pratique. Il se concentre que sur ce qui est visible et absolument pas sur des points très important comme la sécurité, gérer les erreurs, les validations du contenu etc ... Résultat on retrouve des sites passoires.
|
Pourtant, j'ai appris à sécuriser. J'avoue, mon site est optimisé pour Firefox, c'est le HTML/CSS qui ne s'affiche pas complètement sur les autres navigateurs (et je préfère firefox
), mais si mon site n'était fais que de PHP, il serait très bien sécurisé aussi. Je dis tout ça sachant que j'ai appris le HTML, le CSS et le PHP sur SdZ.
Répondre à G31
Je parle sécurité, genre attaque XSS, XSRF, régénération des session_id etc ... Ton site peut être complètement laid, ne passer que sur un seul navigateur mais dans tous les cas il doit être sécurisé.
Ne pas apprendre dès le début à une personne qu'on ne stock pas en clair des mots de passe, qu'on sale le mot de passe avant de le passer dans une fonction de hachage, ça c'est prudent.
Après je ne sais pas si on peut dire qu'une personne qui dans sa 404 à je ne sais combien de balise <html> ouvrant et de déclaration de DOCTYPE connaisse le HTML ...
| SiM07 a écrit : Je parle sécurité, genre attaque XSS, XSRF, régénération des session_id etc ... Ton site peut être complètement laid, ne passer que sur un seul navigateur mais dans tous les cas il doit être sécurisé.
|
OK. T'as raison pour les mots de passe, on a du me l'expliquer sur le forum du SdZ. Et t'as raison aussi pour le premier paragraphe, c'est tout à fait inconnu pour moi. Un petit cours s'impose.
Répondre à G31
Je ferais quelques topic prochainement
en parlant de securité j'ai appris a faire des fichiers .htaccess et .htpasswd mon probleme et que pour ce qui est de montrer le chemin de .htpasswd dans .htaccess je suis vraiment limité, je m'explique, je veux mettre mes 2 fichiers sur le disque dur, mais je ne peux pas car quand je clique sur le fichier qui permet de donner le chemin du fichier dans lequel il est situé (disque dur), sa ne marche pas, la seul maniere que j'ai trouvé et de mettre le fichier dans le repertoire de wamp et ainsi il m'indique le chemin du fichier de serveur. Si je sors le fichier du repertoir wamp, cela ne marche pas je suis donc obliger de mettre mes 2 fichiers dans le repertoire .
Vous pouvez m'aider a résoudre ce probleme ?
Bah c'est tout à fait logique ... le .htaccess est une surcouche de configuration Apache. Si tu mets le fichier ailleurs que dans un répertoire "mappé" par apache alors ça ne marche plus.
Par défaut, sur un système type debian le répertoire par défaut est /var/www/ c'est donc le répertoire le plus bas ou tu peu placer un fichier .htaccess quis'appliquera ensuite à toute la branche à partir de là.
il y a pas moyen de le mettre sur le disque dur ? avec un serveur ftp par exemple ... je dit sa mais mais bon je connais pas trop
Ah bah non ! Après tu peux configurer ton serveur ftp pour qu'il ai un rayon d'action limité en fonction des utilisateurs etc. le .htaccess est je le répète spécifique au serveur Apache httpd (à ne pas confondre avec mon avatar par exemple).
Pour le disque dur, une majorité des systèmes de fichier permettent de gérer les droits. Sous Windows le NTFS le permet. Sous Unix like c'est très simple.
Il y a 2296 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
