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 :

explication d'une syntaxe


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    retraité, ex chef de projets en informatique
    Inscrit en
    Juillet 2005
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité, ex chef de projets en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juillet 2005
    Messages : 602
    Par défaut explication d'une syntaxe
    Bonjour,
    Je sais, voilà une drôle de question, peut-être déplacée et osée !!
    Il y a plusieurs années j'ai utilisé la séquence suivante qui fonctionne bien.
    J'ai dû la récupérer par un copier-coller sur un forum ou dans une revue.
    Je n'arrive plus à la comprendre pour les points soulignés.
    * cette fonction est appelée sans aucun paramètre dans un script php évidemment.
    * dans le répertoire de l'application je n'ai aucune trace de edit_book.php!

    Donc c'est bien la mémoire qui flanche chez moi!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function display_book_form($book = "")
    // formulaire de saisie du linteau
    {
    $conn=db_connect();
    $edit = is_array($book);
    ?>
      <form name="bookform" method=post
            action="<?php echo"$edit?"edit_book.php":"insert_book.php";";?>">
      <table border=0>
                <tr>
      		  <td>VILLE:  </td>
    		  <td><input type=text name=l_ville size=5 maxlength=5          value="<?php echo"$edit?$book["l_ville"]:"";"; ?>">
                      <select name=v_ville>
    ...
    Je vous remercie.
    Marcel Marie

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Quel est le nom de la page qui appel cette fonction ?
    Aurait il une page qui stockerait des données dans un tableau : $book ?
    Fait des recherche sur tous les appels à cette fonction pour éventuellement repérer un cas ou un paramètre serait passé en argument.

    Aussi, cette 1ère ligne soulignée comporte des erreurs de syntaxes.
    D'ailleurs, si je fais un copier/coller de ton code, j'obtiens belle et bien une erreur.
    N'obtiens tu pas une erreur sur cette ligne ?
    Mais comme tu précise que c'est un code qui date de longtemps, peut être est ce lié à ton environnement. Php4 peut être ?
    As tu activé l'affichage des erreurs ? (php.ini : display_errors à On)

    Elle serait plus juste comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $edit ? 'edit_book.php' : 'insert_book.php'; ?>
    Pour la logique, de ce code :
    SI un paramètre est passé en argument ET que c'est un tableau, $edit sera VRAI -> affichera edit_book.php. Le nom de la ville sera affiché aussi dans le champ texte.
    SINON (ou par défaut) -> insert_book.php


    Mis à part ça, si toi même tu n'as pas connaissance de ce fichier edit_book_php, comment veux qu'on le sache, on a aucun moyen de le vérifier.
    C'est peut être une erreur qui date depuis que ce code a été écrit.
    Ou alors le nom de cette page a été modifié/renommé à une époque, ce qui sous entend que ce code n'a pas été corrigé non plus.
    Ou tout simplement que le fichier a été supprimé par erreur.
    Que sais je ...

  3. #3
    Membre éclairé
    Homme Profil pro
    retraité, ex chef de projets en informatique
    Inscrit en
    Juillet 2005
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité, ex chef de projets en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juillet 2005
    Messages : 602
    Par défaut
    Merci pour avoir changé le titre.
    Merci pour votre longue explication.

    Mais "oh là là", j'aggrave mon cas.
    En fait les deux écritures étaient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
           action="<?=$edit?"edit_book.php":"insert_book.php";?>">
            value="<?=$edit?$book["l_ville"]:""; ?>">
    et je suis en train de normaliser les choses avec les balises <?php ... ?>
    et je n'ai pas su bien écrire le changement dans ce cas.

    Avant modif donc, cette application tourne super aussi bien en local (PHP 4.3.10) que sur Internet (PHP 5.2.5).

    L'appel est dans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?
    // inclut les fichiers de fonctions
    require_once("book_sc_fns.php");
    session_start();
    do_html_header("Ajout d'un linteau","bgcolor=#FFCC80 text=#000060");
      display_book_form();
      display_button("choix_administrateur.php", "admin-menu", "Retour Menu Administrateur");
    do_html_footer();
    ?>
    NON, je ne sais pas ce que c'est que edit_book.php !! Ce fichier n'existe pas dans le répertoire de mon application. Par contre on en parle beaucoup sur Internet, on en donne apparemment même le listing mais je n'y comprends rien, peu dans la langue de Shakespeare et encore moins dans l'écriture du script. Dans mon application, on n'y passe d'ailleurs peut-être jamais !!

    Je n'ai pas testé ma modif d'écriture. Je vais le faire à l'instant, mais je vous crois bien entendu car c'est la façon normale d'écrire ECHO.

    A plus tard. Merci encore, c'est très sympa..
    Marcel Marie

  4. #4
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Avant modif donc, cette application tourne super aussi bien en local (PHP 4.3.10) que sur Internet (PHP 5.2.5). La preuve
    Pourquoi développer en local dans un environnement très différent, et même obsolète, que celui de ton hébergeur ?

    A mon sens, tu te mets des bâtons dans les roues.
    En règle général, on s'efforce d'avoir un environnement le plus proche possible.

    A savoir que Php4 n'est plus supporté par la communauté, donc ça n'évoluera plus jamais. Php4 fait partie de l'histoire ancienne.

    En tout cas, j'ai jamais codé dans un environnement Php4, mais à lire, c'est très différent de Php5, tant sur le plan de la syntaxe que sur son comportement.
    Je le perçois comme extrêmement déroutant.

    Ceci dit, c'est peut être ce que tu est en train de faire, rendre ton code plus compatible, à jour.

  5. #5
    Membre éclairé
    Homme Profil pro
    retraité, ex chef de projets en informatique
    Inscrit en
    Juillet 2005
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité, ex chef de projets en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juillet 2005
    Messages : 602
    Par défaut
    Suite au message précédent :

    Pas facile en peu de temps de repérer où est le $book qui intervient car j'ai dû prendre LA CHOSE dans une application anglaise? sur les livres et qui le fait intervenir dans tous les modules. Je vais suivre le chemin à l'envers.

    Les deux écritures
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php echo"$mavariable"; ?> 
    <?php echo $mavariable; ?>
    donnent en fait le même résultat mais je préfère la vôtre.

    Je n'ai pas effectivement mis display_errors à On.

    *****

    Mais puisque l'on est sur le sujet des directives de php et que vous semblez bien connaître le sujet, et toujours dans le but de me mettre aux normes actuelles des produits:

    J'utilise actuellement, en mise au point et en local,une ancienne version de Easyphp qui est accompagnée de PHP 4.3.10.
    Tout est bon.
    Tout est bon sur mon site également avec PHP 5.2.5.
    Le nouvel Easyphp est avec PHP 5.3.2 et m'amène plein d'erreurs.
    * ne prend plus HTTP_POST_VARS ..
    * session_is_registered est DEPRECATED fonction

    Je sais y remédier ponctuellement mais l'application est trop lourde pour modifier tous les modules instantanément.

    * Quelles sont les directives de ini.php à modifier pour faire accepter les anciennes instructions et c'est sûrement possible puisque chez mon hébergeur c'est bon.
    * J'ai cru lire quelque part que l'on pouvait "surpasser" les directives de php.ini en mettant des instructions dans les scripts. Ai-je rêvé? Si oui comment, dans ce cas précis?
    Je vous remercie. Bonne journée.

    Marcel Marie

  6. #6
    Membre éclairé
    Homme Profil pro
    retraité, ex chef de projets en informatique
    Inscrit en
    Juillet 2005
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité, ex chef de projets en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juillet 2005
    Messages : 602
    Par défaut
    Nos deux messages se sont croisés.
    JE CONFIRME : j'essaie de rentrer dans le droit chemin mais j'y vais petit à petit car mes applications sont assez lourdes et déjà là si je passais immédiatement dans la nouvelle version de Easyphp en local je serai dans la mouise avec bcp de nuits blanches en vue.
    J'ai mis l'application dans le nouvel environnement Easyphp sur un autre ordinateur. Et ça va se faire petit à petit.
    Merci encore.
    Marcel Marie

  7. #7
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Je ne peux pourrais pas t'aider pour cette étape de compatibilité, car comme je te l'ais dis, j'ai jamais développé dans un environnement aussi ancien, je ne connais pas les différences qu'il y a entre Php4 et php5, tout juste lu qu'il y a de grosses différentes.

    Et pour être franc, je ne souhaite même pas le savoir, et encore moins les rechercher, je ne serais jamais confronté à ce problème, je ne ferais que me "polluer" l'esprit si je peux dire.

    Je ne suis pas capable de te donner une quelconque démarche sur ce point.


    Par contre, WampServer permet d'installer plusieurs environnement (Apache, Php, MySQL), ceci permet de basculer d'un coté comme de l'autre.
    Dans ton cas, je me dis que ceci pourrait t'aider.
    EasyPhp, c'est pareil, je connais le nom, mais jamais essayé.


    Pour revenir à ton problème de edit_book.php.
    Si on suis la logique de cette partie de code, tu dois avoir 2 fonctionnalités, 2 phases :
    (Il y a entre entre un champ texte (l_ville) qui attend le nom d'une ville normalement).
    - Soit créer une nouvelle ville (insert_book.php). Je suppose que ça débouche sur un INSERT INTO
    - Soit afficher une ville en particulier (le fameux edit_book.php), et permettre très certainement une mise à jour, un UPDATE.

    La question est : Est ce que tu remarque la présence de ces 2 possibilités (insertion et mise à jour) ?

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

Discussions similaires

  1. Besoin d'explication sur une question de syntaxe
    Par Cynthia. dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 25/10/2010, 18h22
  2. Demande d'explication d'une syntaxe
    Par lodan dans le forum Langage
    Réponses: 2
    Dernier message: 05/11/2008, 17h00
  3. Explications sur la syntaxe iptables
    Par Nightfall dans le forum Sécurité
    Réponses: 4
    Dernier message: 11/05/2005, 02h33
  4. [langage] comprendre une syntaxe particulière
    Par mat21 dans le forum Langage
    Réponses: 4
    Dernier message: 08/12/2004, 19h12
  5. [RICHEDIT] -> Coloriser une syntaxe ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 6
    Dernier message: 18/01/2004, 13h57

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