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 :

Syntaxe PHP6 essai en 5


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Par défaut Syntaxe PHP6 essai en 5
    Bonjour, j'essaye qlque chose que j'ai vu dans un article sur PHP6 et que je trouve intéressante, voic l'articke: http://www.php.net/manual/en/faq.html.php.
    Cela traite des formulaires HTML et de leurs intéractions avec PHP


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      
    <td width="163">
    <input type="text" name="<?php $field["nom"] ?>   maxlength="32" value="<?php if (isset($_POST[$field["nom"]])) echo $_POST[$field["nom"]] ?>" />
    </td>
    S'il pourrait paraître intéressant d'avoir toutes les variables d'un formulaire dans un seul tableau PHP, l'article en question ne dit rien sur la suite de l'input et le keyword value et le test sur $_POST.
    Je ne suis pas arrivé à avoir une syntaxe correcte.... j'ai commencé par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        
    <td width="163">
    <input type="text" name="<?php $field["nom"] ?>   maxlength="32" value="<?php if (isset($_POST[$field["nom"]])) echo $_POST[$field["nom"]] ?>" />
    </td>
    Ce qui me donne comme erreur PHP


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [28-May-2010 09:08:14] PHP Notice:  Undefined variable: field in F:\WebSites\test\checkform.php on line 774

    Une idée ou je vais top vite ?

    Merci à tous

  2. #2
    Membre expérimenté
    Homme Profil pro
    Consultant PLM
    Inscrit en
    Août 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Consultant PLM

    Informations forums :
    Inscription : Août 2007
    Messages : 203
    Par défaut
    Il vaut quelque chose ton $field["nom"] ?

  3. #3
    Membre expérimenté
    Homme Profil pro
    Consultant PLM
    Inscrit en
    Août 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Consultant PLM

    Informations forums :
    Inscription : Août 2007
    Messages : 203
    Par défaut
    De plus, j'aurais tendance à dire qu'il te manque un "echo" et des ";" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <td width="163">
    <input type="text" name="<?php echo $field['nom']; ?>" maxlength="32" value="<?php if (isset($_POST[$field['nom']])) echo $_POST[$field['nom']]; ?>" />
    </td>

  4. #4
    Membre éclairé Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Par défaut Architecture de données et formulaire
    Bonjour et merci,

    Qu'il y ait qlqchose ou non n'importe pas.
    Le code doit prévoir les 2 situations non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    value="<?php if (isset($_POST[$field['nom']])) echo $_POST[$field['nom']]; ?>"
    La version non adapté le prévoit aussi..... alors

    J'ai essayé ta/la syntaxe suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <td width="163">
    805 ==> <input type="text" name="<?php $field["nom"] ?>   maxlength="32" value="<?php if (isset($_POST[$field['nom']])) echo $_POST[$field['nom']]; ?>" />
    Mais je retrouve dans le log:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [28-May-2010 10:12:36] PHP Notice:  Undefined variable: field in F:\WebSites\test\checkform.php on line 804
    [28-May-2010 10:12:36] PHP Notice:  Undefined variable: field in F:\WebSites\test\checkform.php on line 804
    Tu me diras que je peux ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php $field = array() ?>
    en début de page HTML

    Mais à ce moment j'ai dans le log:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [28-May-2010 10:16:33] PHP Notice:  Undefined index: nom in F:\WebSites\test\checkform.php on line 805
    [28-May-2010 10:16:33] PHP Notice:  Undefined index: nom in F:\WebSites\test\checkform.php on line 805
    Le condition d'existence de la variable n'est pas testée.???

    Dur dir la vie d'artiste

  5. #5
    Membre expérimenté
    Homme Profil pro
    Consultant PLM
    Inscrit en
    Août 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Consultant PLM

    Informations forums :
    Inscription : Août 2007
    Messages : 203
    Par défaut
    Mais si tu ne définis pas $field["nom"], quel va être le name de ton champ texte ?
    Tu es obligé de définir au moins le tableau $field et la clé "nom" dans $field ...

    Le "isset(...)" que tu utilises te permet seulement de tester que le tableau $_POST contient ou non une valeur associée à la clé $field["nom"] (clé qui n'est pas définie ...)

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Qu'il y ait qlqchose ou non n'importe pas.
    Bien au contraire !

    PHP Notice: Undefined index: nom
    t'informe simplement que $field['nom') n'est pas défini , tu dois donc dans ton attribut nom tester son existance avant d'essayer de l'afficher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    name="<?php echo (isset($field['nom']))?$field['nom']:'nom_par_defaut'; ?>"
    Par contre , c'est quoi le rapport avec PHP6 ? j'ai pas compris
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [syntaxe] Gerer les variables dans une requete
    Par rastapopulos dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 15/04/2003, 12h53
  2. Syntaxe requete
    Par Chipolata dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/03/2003, 14h22
  3. [Syntaxe] Action simultanée sur plusieurs élements
    Par FranT dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/03/2003, 20h20
  4. Syntaxe TASM <-> MASM
    Par LFC dans le forum Assembleur
    Réponses: 3
    Dernier message: 28/02/2003, 15h56
  5. [VB6] [Syntaxe] Fonction renvoyant un tableau d'objets
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 18/10/2002, 15h33

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