culture [PHP]Pagination pour blog

Statut
La discussion n'est pas ouverte à d'autres réponses

pep23

Membre Junior
Bonjour tous le monde,
je suis actuellement entrain de créer un blog, mais j'ai un problème concernant le systèm de pagination. Je vous avoue que je suis un tutroriel à la lettre pour cette étape de création de mon blog, n'aiyant pas du tout compris la logique de ce systèm .
Mon problème : Je fait passé la donnée du numéro de la page grâce à un $_GET (par l'URL donc), mais je n'arrive pas à affiché les autres pages que la page 1 (index.php).
Pouvez vous me dire si vous voyez une quelconque erreur dans mon code / si vous avez une solution s'il vous plait ?
Code sur Pastebin : http://pastebin.com/gwm09vB6
Merci d'avance :sourire-4e62:
 
Dernière édition:
:hello-11a1:

Ligne 42 : pour t'éviter de nombreux soucis d'attaques XSS ou par injection de SQL, il est obligatoire de vérifier la syntaxe de ton entrée GET ou POST via regex. De plus, ça te libère des empty() et intval(), donc gain de vitesse d'exécution et de ressources utilisées :

PHP:
if(isset($_GET['page']) && preg_match('/^[1-9][0-9]*$/', $_GET['page'])){
    $pageAcuelle = $_GET['page'];
    // Si page n'existe pas
    if($pageActuelle > $nbDePages)
        $pageActuelle = $nbDePages;
}
else
    die('Hacking attempt');

De plus, au lieu d'utiliser des opérateurs de comparaison du type "AND", "OR", etc. utilise plutôt leurs équivalents "&&", "||", etc. qui s'exécutent plus vite (car pas besoin d'interpréter la macro par le préprocesseur) :icon_wink-221e:

Que donnerait un print_r($pageActuelle) en ligne 54 ?

Si tu vois que ton script ne réagit pas comme tu le souhaite, n'hésite surtout pas à abuser du print_r() pour vérifier tes variables impliquées :sourire-4e62:
 
Dernière édition:
Merci de ta réponse et de tes conseilles NEO III, je n'avais pas pensé au print_r(). :sourire-4e62:
Cela m'a montré que la variable $pageActuelle était en cause(La valeur affichée est toujours 1). Je pense que le problème vient du fait que j'assigne $pageActuelle à 1 au début du code.
Le problème, c'est que si je n'assigne pas $pageActuelle à une valeur, j'ai une erreur (Undefined Variable). J'ai essayé de l'associé à un entier ($pageActuelle = int; ), mais j'ai cette erreur : Notice: Use of undefined constant int - assumed 'int' in C:\wamp\www\blog\index.php on line 39
Aurais tu une solution pour parer ces erreurs ?
Encore merci :sourire-4e62:

EDIT : Mon code ressemble maintenant à ça : http://pastebin.com/DGXwzjMq

Re-EDIT : Je viens de me rendre compte que le problème à été causé par une simple faute d’orthographe :doh-454d:
Vraiment désolé d'avoir gâcher votre temps, mais j'ai quand même eut des conseilles quand à l'utilisation des "&&" et "||" , et la protection contre les attaques.
Donc encore merci, et encore désolé .
Bonne soirée.
 
Dernière édition:
Pas de soucis :sourire-4e62:

J'ai moi même été de nombreuses fois à m'arracher les cheveux sur un problème qui n'était en réalité qu'une faute de frappe :lol-1923:

Si tu as besoin d'autres conseils, n'hésite pas :sourire116-287e:
 
Statut
La discussion n'est pas ouverte à d'autres réponses
Retour
Haut