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

Contribuez / Téléchargez Sources et Outils PHP Discussion :

Participez à la FAQ


Sujet :

Contribuez / Téléchargez Sources et Outils PHP

  1. #21
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Y aurait-il une coquille dans la FAQ ?

    Question : http://php.developpez.com/faq/?page=..._forcedownload
    remplacer attachement par attachment ?

    Voir le sujet :
    http://www.developpez.net/forums/sho....php?p=3512971

  2. #22
    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 Eusebe Voir le message
    Y aurait-il une coquille dans la FAQ ?

    Question : http://php.developpez.com/faq/?page=..._forcedownload
    remplacer attachement par attachment ?

    Voir le sujet :
    http://www.developpez.net/forums/sho....php?p=3512971
    Oui, ça a l'air.
    (Pfff, et en plus on suit les mêmes topics, ça va aider tiens pour pas nous confondre !)

  3. #23
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Une question par forcement fréquente mais la réponse n'est pas clairement expliquée dans la doc :

    Pourquoi isset renvoi toujours false ?

    Comme précisé dans la documentation officiel, isset fonctionne uniquement avec les variables.

    Pour les constantes, il faut utiliser defines.

    Et pour les variables "magiques" (ie: gérée avec les fonctions magiques __set et __get), il faut définir la méthode __isset qui sera automatiquement appelée via la fonction isset. Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    class Foo
    {
      private $vars = array ();
     
      private function __set ($key, $value)
      {
        $this->vars[$key] = $value;
      }
     
      public function __get ($key)
      {
        return $this->vars[$key];
      }
     
      public function __isset ($key)
      {
        return isset ($this->vars[$key]);
      }
    }
     
    $foo = new foo ();
    isset ($foo->bar); // Retourne false
    $foo->bar = 'bar';
    isset ($foo->bar); // Retourne true

  4. #24
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    il y a une erreur de code dans la FAQ

    http://php.developpez.com/faq/?page=...ner_couleur_tr


    "Pour alterner les couleurs, il suffit de faire ainsi : "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $i = 0;
    while(condition) 
    {
      $couleur = ($compteur % 2 == 0) ? "#CCCCCC" : "#FFFFFF";
      echo '<tr bgcolor="'.$couleur.'"><td>texte</td></tr>';
      $i++;
    }
    la variable $compteur doit être remplacée par la variable $i

    donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $i = 0;
    while(condition) 
    {
      $couleur = ($i % 2 == 0) ? "#CCCCCC" : "#FFFFFF";
      echo '<tr bgcolor="'.$couleur.'"><td>texte</td></tr>';
      $i++;
    }

  5. #25
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    J'ai une proposition pour la question :
    Explications et correction de l'erreur "headers already sent"
    http://php.developpez.com/faq/?page=...s_already_sent

    Dans la liste de ce qui cause l'envoi des en-têtes, il serait peut être intéressant d'y ajouter : "Les fichiers php encodés en UTF8 avec BOM"

    En effet c'est un cas assez particulier, car aucun texte n'est renvoyé à l'écran et un débutant pourrait pas mal galérer pour trouver la solution. Surtout que la tendance va justement vers l'UTF8.
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  6. #26
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Citation Envoyé par Seb33300 Voir le message
    J'ai une proposition pour la question :
    Explications et correction de l'erreur "headers already sent"
    http://php.developpez.com/faq/?page=...s_already_sent

    Dans la liste de ce qui cause l'envoi des en-têtes, il serait peut être intéressant d'y ajouter : "Les fichiers php encodés en UTF8 avec BOM"

    En effet c'est un cas assez particulier, car aucun texte n'est renvoyé à l'écran et un débutant pourrait pas mal galérer pour trouver la solution. Surtout que la tendance va justement vers l'UTF8.
    Waouh ! J'avais commencé un petit texte, et au moment de faire mon copier-coller, je vois que je ne suis pas le seul à y avoir pensé !

    Pour la description précise du problème, je renvoie vers Wikipedia qui est assez claire sur le sujet, et je ne citerais que ce passage :

    Problèmes liés à l'utilisation de la marque d'ordre des octets
    Beaucoup de logiciels Windows (incluant Windows Notepad) en ajoutent un aux fichiers UTF-8. Cependant, sur des systèmes de type Unix (qui utilisent beaucoup les fichiers textes pour la configuration) cette pratique n'est pas recommandée, car cela peut interférer avec le traitement adéquat de codes importants tels que le sha-bang au début d'un script interprété. Il peut également interférer avec le source pour les langages de programmation qui ne le reconnaissent pas. Par exemple, gcc reporte des stray characters au début du fichier source, et en PHP, si l'output buffering est désactivé, cela a pour effet subtil de faire que la page commence immédiatement à être envoyée au navigateur, et d'empêcher les custom headers d'être spécifiés par le script PHP. La représentation UTF-8 du BOM est la séquence d'octets EF BB BF, qui apparaît en codage ISO-8859-1 comme "" dans les éditeurs de textes et navigateurs mal préparés pour traiter l'UTF-8. Ils peuvent également échouer à appliquer la première règle d'une feuille CSS.
    J'ai eu à intervenir plusieurs fois chez des amis ou connaissances qui développent sous windows avant de charger leur site en FTP sur un système linux.
    Le BOM et l'output buffering ne faisaient pas bon ménage (les vues Zend_View avec ce caractère explosaient le rendu), mais il leur était impossible de trouver cette erreur, qui est assez discrète pour qui n'en a pas eu l'expérience précédemment.
    Pour compliquer la chose, ajoutons à cela que les éditeurs actuels (Notepad++ par exemple) masquent le BOM par défaut.

    Le problème a déjà été rencontré plusieurs fois sur le forum, aussi serait-il judicieux de préciser cette source d'erreur.

    Enfin, si ça peut aider, je peux apporter ma petite contribution sous la forme de ce mini-script qui repère les fichiers incriminés dans une arborescence.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <?php
    /** JML - findBom.php
    Ce script va parcourir toute l'arborescence à partir de son emplacement pour repérer les fichiers contenant le BOM utf8
    La sortie est une table récapitulative des fichiers testés
    */
     
    $path = realpath('./');
    $objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::SELF_FIRST);
     
    echo "<table>\n<tr><th>Fichier test&eacute;</th><th>R&eacute;sultat</th></tr>\n";
     
    foreach($objects as $name => $object){
        if (!preg_match('/php|txt|p?html?$/', $name)) continue;
        echo "<tr>";
        printf ("<td>%s</td>", $name);
        $content = file_get_contents($name);
        if (preg_match('/\x{feff}/u', $content, $match))
            echo '<td style="color: red;">BOM</td>';
        else
            echo '<td style="color: green;">OK</td>';
        echo "</tr>\n";
    }
    echo "</table>\n";
    La correction des fichiers incriminés peut se déduire de ce script, bien que personnellement je préfère le faire en Perl lorsque je dispose d'un accès ssh.

    Qu'en pensez-vous ?
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  7. #27
    Membre confirmé

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    532
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 532
    Points : 604
    Points
    604
    Par défaut Ajout d'une question pour la partie variable de la FAQ
    Bonjour a toutes et tous,
    J'ai parcourus la FAQ pour voir si la question avait déjà était posée et à priori non (mais je ne sais pas si elle peut intéresser) .

    Comment afficher un flottant avec un nombre de chiffre fini après la virgule ?

    J'ai découvert récemment l'existence et la puissance des variables en php en voulant les utiliser pour mon site. Je suis amener à faire différentes opérations mathématiques dont des divisions. Or certaines de mes divisions me donnent des résultats avec un nombre infini de chiffre après la virgule (même si à l'affichage cela s'arrête à 10 je crois). Or dans mon cas je ne veux que 2 chiffres après la virgules et donc voici quel code utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    number_format(float $number [, int $decimal =0 ])
    C'est un peu barbare donc voici un exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    $a = 1;
    $b = 3
    $r = $a / $b
    echo number_format($r, 2);
    en utilisant number_format, on affichera 0.33 au lieu de 0.3333333333
    Après il suffit juste de choisir le nombre que l'on veut après la virgule


    J'espère que ma proposition sera utile
    Si vous voulez suivre les différents championnats de football américain en France, en Europe et dans le Monde (en tout 32 pays différents), c'est sur www.fandefootus.fr

Discussions similaires

  1. Participez à la FAQ JDBC
    Par Mickael Baron dans le forum JDBC
    Réponses: 7
    Dernier message: 23/09/2013, 17h26
  2. Participez à la FAQ Struts
    Par Mickael Baron dans le forum Struts 1
    Réponses: 3
    Dernier message: 05/04/2007, 22h00
  3. [Participez à la FAQ !] La question de la semaine
    Par Giovanny Temgoua dans le forum Langage
    Réponses: 18
    Dernier message: 13/12/2005, 09h58
  4. Participez à la FAQ Java EE
    Par Mickael Baron dans le forum Java EE
    Réponses: 1
    Dernier message: 28/08/2003, 11h49

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