Publicité
+ Répondre à la discussion
Page 2 sur 2 PremièrePremière 12
Affichage des résultats 21 à 27 sur 27

Discussion: Participez à la FAQ

  1. #21
    Expert Confirmé
    Avatar de Eusebe
    Inscrit en
    mars 2006
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : mars 2006
    Messages : 1 993
    Points : 3 147
    Points
    3 147

    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
    Expert Confirmé
    Avatar de Eusebius
    Inscrit en
    avril 2003
    Messages
    3 303
    Détails du profil
    Informations forums :
    Inscription : avril 2003
    Messages : 3 303
    Points : 3 469
    Points
    3 469

    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
    Inscrit en
    juin 2004
    Messages
    5 845
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations forums :
    Inscription : juin 2004
    Messages : 5 845
    Points : 9 970
    Points
    9 970

    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 :
    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
    Invité de passage
    Inscrit en
    avril 2006
    Messages
    1
    Détails du profil
    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 :
    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 :
    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 Expert
    Avatar de Seb33300
    Homme Profil pro Sébastien Alfaiate
    Développeur Web
    Inscrit en
    janvier 2007
    Messages
    1 457
    Détails du profil
    Informations personnelles :
    Nom : Homme Sébastien Alfaiate
    Âge : 28
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : janvier 2007
    Messages : 1 457
    Points : 2 151
    Points
    2 151

    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.

  6. #26
    Modérateur
    Avatar de s.n.a.f.u
    Homme Profil pro jmleroux
    Développeur Web
    Inscrit en
    août 2006
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Nom : Homme jmleroux
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : août 2006
    Messages : 2 761
    Points : 3 449
    Points
    3 449

    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 :
    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 éprouvé
    Homme Profil pro Jonathan Clairet
    Étudiant
    Inscrit en
    avril 2011
    Messages
    473
    Détails du profil
    Informations personnelles :
    Nom : Homme Jonathan Clairet
    Âge : 24
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : avril 2011
    Messages : 473
    Points : 455
    Points
    455

    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 :
    number_format(float $number [, int $decimal =0 ])
    C'est un peu barbare donc voici un exemple:
    Code :
    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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •