IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Mail] Problème avec changement de la version d'EasyPHP


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de H-bil
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Points : 151
    Points
    151
    Par défaut [Mail] Problème avec changement de la version d'EasyPHP
    salut
    sur easyphp1.8 j'ai les erreur suivante alors que le site marchait tres bien sue easyphp1.6
    Notice: Undefined variable: chaine in c:\program files\easyphp\www\www.gratis-annonce.com\index.php on line 10
    ligne10
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chaine.= chr( rand(0,25)+97);
    Notice: Use of undefined constant id_cat - assumed 'id_cat' in c:\program files\easyphp\www\www.gratis-annonce.com\index.php on line 147
    ligne147
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo"<tr><td width='390' height='20'><a href='annonce.php?c=".$t[id_cat]."' class='cat'>".$t['titre_cat']."</a>";
    merci d'avance de votre aide

  2. #2
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Je te parie mes chaussettes que la réponse est là :
    http://php.developpez.com/faq/?page=...ions_easyphp17
    La note concerne les sessions, mais c'est valable aussi pour les variables de formulaires et de cookies.

  3. #3
    Membre actif Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Points : 224
    Points
    224
    Par défaut
    Salut,
    Ou des variables provenant de GET ou POST avec le register_global à off...



    EDIT : Bon, d'accord, promis, la prochaine fois, je regarde les liens proposés avant de poster

  4. #4
    Membre habitué Avatar de H-bil
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Points : 151
    Points
    151
    Par défaut
    mais meme avec easyphp1.6 je travaillais avec register_globals à off

  5. #5
    Membre actif Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Points : 224
    Points
    224
    Par défaut
    Pour la ligne 10 : est-ce que $Chaine est définie avant ? Parce que là, tu concatène. il faut donc qu'elle existe. Ne serait-elle pas délarée dans un if ?

  6. #6
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par H-bil
    mais meme avec easyphp1.6 je travaillais avec register_globals à off
    OK alors dis-nous en plus. La variable $chaine, comment elle est initialisée par exemple, elle vient d'où ?

  7. #7
    Membre actif Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Points : 224
    Points
    224
    Par défaut
    Ah, ah ! je t'ai grillé !

  8. #8
    Membre habitué Avatar de H-bil
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Points : 151
    Points
    151
    Par défaut

    j'ai pas initialiser ma variable auparavant .
    mais easyphp1.6 ne me renvoyait aucune erreur !!
    @+

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    La différence vient du fait que par défaut dans les anciennes versions, les erreurs de type E_NOTICE n'étaient pas signalées. PHP est capable d'accèder une variable PHP non initialisée (Ce qui est nécessaire dansle cas d'une concaténation) simplement en lui donnant une valeur par défaut. Accèder à une variable non initialisée en PHP est une opération lente et possiblement "dangereuse". Pour accroître la sécurité toutes les informations de type E_NOTICE sont désormais signalées.

  10. #10
    Membre actif Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Points : 224
    Points
    224
    Par défaut
    Tiens, à ce propos.

    Chez moi, avec EasyPhp 1.8, j'ai un message d'erreur lorsu'il tombe sur une variable inconnu (faute de frappe ou autre). Je déduis de ce que tu viens de dire que php doit les detecter parce qu'elles ne sont pas initialisées.

    Or, au boulot, il ne vois rien (Config Apache et tout le tintouin) et c'est la galère lorsque j'ai une simple erreur d'orthographe su une variable.

    Est-ce que ça viendrais de ce E_NOTICE ? Et comment le configurer correctement ?

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    Au début d'un script, on peut définir le niveau d'affichage d'erreur que l'on veut avec error_reporting :

    http://fr2.php.net/manual/fr/functio...-reporting.php

    PHP5 apporte les erreurs de type E_STRICT que certains prendront un plaisir à éradiquer, et d'autres à ignorer.

  12. #12
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Et en développement, on prendra bien soin de tout mettre à E_ALL, ce qui permet par exemple de détecter les fautes de frappe, effectivement... Et de prendre un tas de bonnes habitudes.

  13. #13
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Citation Envoyé par Eusebius
    Et en développement, on prendra bien soin de tout mettre à E_ALL, ce qui permet par exemple de détecter les fautes de frappe, effectivement... Et de prendre un tas de bonnes habitudes.
    et en phase de mise en ligne, on désactive le rapport d'erreurs

  14. #14
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par Maxoo
    et en phase de mise en ligne, on désactive le rapport d'erreurs
    Mieux : on intercepte les erreurs et on les logge (ou on avertit un administrateur par mail, des trucs comme ça).

  15. #15
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Citation Envoyé par Eusebius
    Mieux : on intercepte les erreurs et on les logge (ou on avertit un administrateur par mail, des trucs comme ça).
    t'as un code tout pret ?

  16. #16
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par Maxoo
    t'as un code tout pret ?
    Un tuto en projet, mais rien sous la main tout de suite tout de suite, aujourd'hui et maintenant.
    Il y a une fonction error_log, mais je crois qu'il y a des choses plus intelligentes à faire. A suivre...

  17. #17
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par Eusebius
    Un tuto en projet, mais rien sous la main tout de suite tout de suite, aujourd'hui et maintenant.
    Il y a une fonction error_log, mais je crois qu'il y a des choses plus intelligentes à faire. A suivre...
    Voilà, c'est ça la fonction "plus intelligente" que je cherchais l'autre jour : http://fr.php.net/manual/fr/function...or-handler.php

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    Pas vraiment plus intelligente, ou alors je n'ai pas compris le sens : on peut utiliser set_error_handler en coordination avec error_log.

  19. #19
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par Blustuff
    on peut utiliser set_error_handler en coordination avec error_log.
    oui oui, tout à fait.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 10/06/2006, 14h31
  2. [Mail] Problème avec mail()
    Par narber76 dans le forum Langage
    Réponses: 1
    Dernier message: 10/05/2006, 19h34
  3. [Mail] Problème avec mail et image
    Par phpaide dans le forum Langage
    Réponses: 5
    Dernier message: 27/04/2006, 09h06
  4. [Mail] Problème avec mon script d'envoi de mail
    Par leroivert dans le forum Langage
    Réponses: 18
    Dernier message: 02/12/2005, 00h26
  5. [Mail] problème avec la fonction mail()
    Par artotal dans le forum Langage
    Réponses: 2
    Dernier message: 13/11/2005, 03h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo