Probléme php

fm825 Messages postés 522 Date d'inscription   Statut Membre Dernière intervention   -  
fm825 Messages postés 522 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un petit problème avec un script php voici les messages d'erreur que je recoie:
Notice: Use of undefined constant page - assumed 'page' in .../blog.php on line 196
Notice: Undefined index: page in .../blog.php on line 196
Notice: Undefined offset: -1 in .../blog.php on line 202
Notice: Undefined offset: -2 in .../blog.php on line 202
Notice: Undefined offset: -3 in .../blog.php on line 202


Et voici le fichier qui poses problème ici :
http://media.n.free.fr/blog.txt

J'ai cherché quelle prouvé être la cause mais je ne vois pas se qui ne fonctionne pas donc si qu'elle qu'un à une solution je l'en remercie!

8 réponses

  1. Stouffi Messages postés 67 Statut Membre 40
     
    Salut,

    $cur_page = $_GET[page] ? $_GET[page] : 1; 
    


    Cette ligne contient deux erreurs ^^, deux fois la même.
    La variable que tu passes en GET dans ton url est bien page MAIS !!!

    $_GET est une variable PHP qui est en fait un array (une liste, ou un tableau à une dimension si tu préfères), un array "associatif", c'est à dire que pour accéder à un élément tu dois indiquer un label (ou un nom, ou une étiquette, bref...) qui est en fait un String (chaîne de caractères), soit une constante, soit une variable qui contient un String

    une constante String en PHP est une chaîne de caractères délimitée par des simple quotes (ou double) exemple : 'page' ou "page"

    Une variable PHP s'écrit avec un $ exemple : $page.

    Mais si tu écris page seulement, PHP croit qu'il s'agit d'un nom de constante, mais tu ne l'as pas déclaré, donc il t'affiche l'erreur ligne 196.

    Donc il faut écrire

    $cur_page = $_GET['page'] ? $_GET['page'] : 1; 
    


    Pour les erreurs lignes 202, peut-être que la correction de la première va les annuler, je n'ai pas regardé en détails cette ligne.

    Bon c'était peut-être une erreur d'étourderie, je te prends pas pour un débutant mais, c'est aussi pour les autres ^^

    Bye
    1
  2. fm825 Messages postés 522 Date d'inscription   Statut Membre Dernière intervention   36
     
    Oui c'est une erreur d'étourderie je vais continuer à les traqué car après modification je me retrouve avec une erreur :
    Notice: Undefined index: page in .../blog.php on line 196

    Et les autres sont toujours présente.

    Je sais maintenant que l'erreur provient du faite que lors de l'affichage de la page en direct le get n'est pas dans l'url.
    Pour éviter l'erreur il faudrait que la page envoie dont une variable même si il n'y a pas de get dans l'url ex:
    Avec cette url pas d'erreur:
    http://localhost/site/index.php?page
    Mais avec celle-ci :
    http://localhost/site/index.php

    Donc pour résoudre le problème il faudrait que $_GET['page'] soit envoyé vide mais je ne vois pas comment faire car si je met :
    $_GET['page'] = "";

    Le script ne fonctionnera donc plus.
    Je ne vois pas comment remplacé se get.
    Ajouté une condition me semble assez compliquer si vous avez une idée ...

    Sinon pour les erreurs de la ligne 202 je suis entrain de les revérifier ....

    Merci pour ton aide!
    0
  3. Stouffi Messages postés 67 Statut Membre 40
     
    Je pense que la meilleure solution serait de faire un contrôle sur la variable :

    ...
    if (!isset($_GET['page']) { // On vérifie si la variable n'existe pas
        $_GET['page'] = ""; // On initialise cette variable pour éviter les erreurs ^^
    }
    ... // A partir de maintenant utiliser $_GET['page'] n'engendrera plus d'erreur.
    
    0
  4. fm825 Messages postés 522 Date d'inscription   Statut Membre Dernière intervention   36
     
    Salut,
    Et une erreur de moi qui perturbera php bon.
    La structure dans le fichier
    if (!isset($_GET['page'])) {$_GET['page'] = "";}

    Il manquai une petit parenthèse se qui ma un peu perturbé mais c'est corrigé.
    Merci pour cette condition! Je n'y avais pas pensé.

    Ensuite il me reste toujours se type d'erreur qui ne signifie rien pour moi ...
    Notice: Undefined offset: -1 in

    J'ai envie de les chassé j'ai déjà une solution radical qui est de
    error_reporting(E_ALL ^ E_NOTICE);

    Bien quelle cache les erreurs je les sais présente.
    Dois-je continué à les terrasser ou sont-elles peut importante?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Alain_42 Messages postés 5413 Statut Membre 904
     
    ça doit te donner un numéro de ligne non ?

    a mon avis c'est un pb avec une boucle
    0
  7. fm825 Messages postés 522 Date d'inscription   Statut Membre Dernière intervention   36
     
    J'ai pas redonner les n de lignes car c'est les même erreurs que ceux du premier poste à savoir:

    Notice: Undefined index: page in .../blog.php on line 196
    Notice: Undefined offset: -1 in .../blog.php on line 202
    Notice: Undefined offset: -2 in .../blog.php on line 202
    Notice: Undefined offset: -3 in .../blog.php on line 202
    
    


    Les N° de ligne n'ont pas changer car je n'ai pas ajouter de retour a la ligne dans les précédente modif.
    0
  8. Alain_42 Messages postés 5413 Statut Membre 904
     
    donnes nous le code de la ligne 202

    (avec qqs unes avant et après)
    0
  9. fm825 Messages postés 522 Date d'inscription   Statut Membre Dernière intervention   36
     
        for ($n=$start-1  ;  $n>=$end  ;  $n-- ) { 
            $blog = explode("|", $line[$n]);  //ligne 202
            
            if (isset($blog[0]) & $blog[0] != '') {
                
                $date = explode( ' ' , $blog[2]);


    Pour plus de ligne le fichier en sa globalité est dans mon premier post.
    0