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 :

Je veux le premier élément de $_POST


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 88
    Par défaut Je veux le premier élément de $_POST
    Nan, là je craque :

    je ne parviens pas à lire $_POST autrement qu'en parcourant un à un les éléments. C'est bien, mais moi, ya que le premier qui m'intéresse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (isset($_POST)) {
    	foreach($_POST as $cle=>$valeur);
       	echo "$cle";
    }
    alors j'essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (isset($_POST)) {
    	($_POST as $cle=>$valeur);
       	echo "$cle";
    }
    Ca ne marche évidemment pas

    Une idée ?

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 325
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 325
    Billets dans le blog
    17
    Par défaut
    Regarde les fonctions current( ) et key( ) éventuellement précédées de reset( ).

  3. #3
    Membre chevronné Avatar de GregPeck
    Inscrit en
    Novembre 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 530
    Par défaut
    Moi je ferais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $var = array_keys($_POST);
    echo $_POST[$var[0]];
    Mais ya sans doute plus propre...

  4. #4
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Rappel: $_POST est un tableau associatif est donc il n'y a pas de notion d'ordre. Je ne baserais pas mes dev sur le fait que reset();each() renvoie apparemment toujours le meme couple clef/valeur...

  5. #5
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    une question bete:
    pourquoi postes tu plein d'elements si il n'y en a qu'un seul qui t'interresses ???

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 88
    Par défaut
    Bonjour,

    En fait j'utilise ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    http_request.open("POST", url, true);		// Mode asynchrone, ne bloque pas le navigateur
    http_request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    http_request.send(data);
    Où url='reserv_lib.php' et data='loginexist=toto'

    et je veux, à l'arrivée ( dans reserv_lib.php), exécuter la fonction loginexist avec comme paramètre toto.
    Je procéde donc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (isset($_POST['loginexist'])) { loginexist($_POST['loginexist']); }
    Et je voulais en fait le rendre générique, du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (isset($_POST) valeurdanspost($_POST['valeurdanspost']);
    Mais je sais pas si c'est possible & si c'est une bonne idée...

  7. #7
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    C'est possible => reset(), suivi de each ou current comme proposés plus haut.

    Je ne pense pas que ce soit une bonne idée car on ne pourra pas faire évoluer ton script. Le jour ou on a besoin de deux parametres, il faudra modifier ton code

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 88
    Par défaut
    Bon vous avez raison,

    Je laisse tomber la généricité c'est plus sage
    Merci pour vos conseils.

    Laurent

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

Discussions similaires

  1. [VB.NET]Insérer un blanc en premier élément d'une combo
    Par Franck2mars dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/06/2006, 12h00
  2. Sélectionner le premier élément d'une ComboBox
    Par deubal dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/11/2005, 10h32
  3. [xslt] Limiter un for-each aux x premiers éléments
    Par camboui dans le forum XSL/XSLT/XPATH
    Réponses: 13
    Dernier message: 18/11/2005, 16h09
  4. Est-il possible de retourner au premier élément ?
    Par magic8392 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 28/09/2005, 14h15
  5. Réponses: 2
    Dernier message: 11/01/2005, 14h10

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