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 :

Recuperer un formulaire sur la même page


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 118
    Points : 94
    Points
    94
    Par défaut Recuperer un formulaire sur la même page
    Bonjour à tous,

    Au vu de l'étendu de ma question, j'ai preférer poster mon message ici, j'espere avoir bien fait

    Voila le souci (ca ne serait pas marrant sinon ):
    Mon but est de pouvoir récupérer le texte saisie par l'utilisateur afin d'effectuer des recherche (regarder dans un annuaire LDAP si la personne avec le texte saisie existe bien, et si elle existe, l'affichait ou les afficher suivant le texte saisies par l'utilisateur)

    Pour cela, je dispose donc d'une Input text que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div id="divModification">
      <form action="Modification.php" method="post">
          <input type="text" id="txtRecherche" maxlength="30" size="15" class="Texte" OnChange="test()" />
          <input type="button"id="btnRecherche"size="14"value="Rechercher" OnClick="test()" />
      </form>
    </div>
    N'ayant trouvé d'autres solutions pour recuperer le texte saisie, j'ai utilisé un formulaire en mode POST afin de recupérer les informations.
    Cette extrait de code se trouve dans la même page que mon Input text :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $search=ldap_search($connect,"ou=people,dc=fresnel,dc=fr","uid=".$_POST["txtRecheche"]);
    Le problème est que la variable $_POST n'est pas reconnu au moment où l'on arrive sur la page (ceux qui est tout à fait normal).

    J'aimerai donc savoir si il existe une solution pour soumettre un formulaire sur la même page... voir mieux, si il existe une autre méthode que le formulaire pour récupérer le texte de l'input text.

    J'ai vu sur une discussion ( car bon... j'ai fais des recherche avant de poser la question) que l'on pouvait utiliser la varialbe $SERVEUR... mais je ne sais absolument pas à quoi cela correspond.

    Voila voila, merci à tous

  2. #2
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    salut,

    tu dois simplement faire un test

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(isset($_POST)){
    $search=ldap_search($connect,"ou=people,dc=fresnel,dc=fr","uid=".$_POST["txtRecheche"]);
    //autres codes
    }
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 118
    Points : 94
    Points
    94
    Par défaut
    Salut,

    Enfaite je mettais complétement trompé sur l'erreur... ce n'est pas la variable POST qui lui pose un soucis, c'est le "txtRecherche".
    Voici l'erreur :
    Notice: Undefined index: txtRecheche in C:\wamp\www\Interface LDAP\Modification.php on line 37

    j'ai naturellement effectué les changement pour que le bouton soit de type submit et j'ai ajouté l'attribut name aussi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     <form action="Modification.php" method="post">
          <input type="text" id="txtRecherche" name="txtRecherche" maxlength="30" size="15" class="Texte" OnChange="test()" />
          <input type="submit" id="btnRecherche" size="14" value="Rechercher" OnClick="test()" />
      </form>
    mais rien n'y fait...

  4. #4
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Dans ce cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     <form action="<?php echo basename(__FILE__); ?>" method="post">
          <input type="text" id="txtRecherche" name="txtRecherche" maxlength="30" size="15" class="Texte"/>
          <input type="submit" id="btnRecherche" size="14" value="Rechercher" />
      </form>
    if(isset($_POST['txtRecherche']) AND !empty(trim($_POST['txtRecherche']))){
    //...
    $search=ldap_search($connect,"ou=people,dc=fresnel,dc=fr","uid=".$_POST["txtRecheche"]);
    //...
    }
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 118
    Points : 94
    Points
    94
    Par défaut
    J'ai mis le test que tu m'as donné... je n'avais encore jamais vu ces méthodes (c'est la 1er fois que je manipule des formulaires pour un site, je découvre)

    Mais en tout cas il est pas trés content :
    Fatal error: Can't use function return value in write context in C:\wamp\www\Interface LDAP\Modification.php on line 36

    Aurait-tu, ou quelqu'un, une idée ? pendant ce temps je vais en savoir plus sur les méthodes utilisées dans la fonction.

    Et encore merci !

  6. #6
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    A quoi correspond la ligne 36 ?
    Dans mon code j'avais pas mis les tags php (<?php ?>) avant et après le if, tu as bien mis hein ?
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 118
    Points : 94
    Points
    94
    Par défaut
    La ligne 36 est la ligne de test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      if(isset($_POST['txtRecherche']) AND (!empty(trim($_POST['txtRecherche']))){
    Et oui oui... je te rassure, mon code est entre balise PHP ( pas le input biensur)

    Je te mets la 1er partie du code PHP, meme si ça ne sert pas à grand chose...

    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
    <?php
    //----------------------Connexion avec la serveur LDAP--------------------------
     
    $connect=ldap_connect("$server"); 
     
    if ($connect) {    
       $ident=ldap_set_option($connect,LDAP_OPT_PROTOCOL_VERSION,3);
       $ident=ldap_bind($connect,$rootdn,$rootpw);
     
       if ($ident){  
         if(isset($_POST['txtRecherche']) AND (!empty(trim($_POST["txtRecherche"]))){
    // -------------------------Recherche dans l'annuaire--------------       
     
    $search=ldap_search($connect,"ou=people,dc=fresnel,dc=fr","uid=".$_POST["txtRecheche"]); 
     $info=ldap_get_entries($connect,$search);
     }
    // ... traitement...
    ...
     
    ?>
    voila

  8. #8
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    il manque une paranthèse dans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if(isset($_POST['txtRecherche']) AND (!empty(trim($_POST["txtRecherche"])))
    A ta place j'aurais fait ceci
    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
     
    //vérifier d'abord que le texte à rechercher est rempli avant d'établir la connexion ldap
    if(isset($_POST['txtRecherche']) AND (!empty($_POST["txtRecherche"]))){
    //----------------------Connexion avec la serveur LDAP--------------------------
     
    $connect=ldap_connect("$server"); 
     
    if ($connect) {    
       $ident=ldap_set_option($connect,LDAP_OPT_PROTOCOL_VERSION,3);
       $ident=ldap_bind($connect,$rootdn,$rootpw);
     
       if ($ident){  
    // -------------------------Recherche dans l'annuaire--------------       
     
    $search=ldap_search($connect,"ou=people,dc=fresnel,dc=fr","uid=".$_POST["txtRecheche"]); 
     $info=ldap_get_entries($connect,$search);
     }
    // ... traitement...
    ...
    }
    ?>
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 118
    Points : 94
    Points
    94
    Par défaut
    Merci à toi pour ton aide.

    Bon, ça à l'air de marcher comme ça car en faisant un echo juste aprés la déconnexion de $_POST["txtRecherche"], il m'affiche bien ce que j'ai marqué dans la boite de texte, et ta démarche est tout à fait la bonne en plus.

    Par contre j'ai toujours l'erreur sur la ligne de recherche, donc les tests sont bon et marchent. Je remets la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $search=ldap_search($connect,"ou=people,dc=fresnel,dc=fr","uid=".$_POST["txtRecheche"]);
    Et le message d'erreur :Notice: Undefined index: txtRecheche in C:\wamp\www\Interface LDAP\Modification.php on line 56

    Voila

  10. #10
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    c'est pas plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $search=ldap_search($connect,"ou=people,dc=fresnel,dc=fr","uid=".$_POST["txtRecherche"]);
    et oui tu as oublié le "r" dans txtRecherche .
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 118
    Points : 94
    Points
    94
    Par défaut
    Re-salut et désolé de ne pas pouvoir repondre plus tôt

    En effet, il manquait le r dans le mot recherche...
    J'ai meme rajouté les caracteres joker pour paufiner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $search=ldap_search($connect,"ou=people,dc=fresnel,dc=fr","uid=".$_POST["txtRecherche"]."*");
    Et voila,

    Et encore merci à toi

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/05/2012, 17h04
  2. Suite d'un formulaire sur la même page
    Par bricechris dans le forum Langage
    Réponses: 1
    Dernier message: 18/09/2011, 22h29
  3. [2.x] 2 formulaires sur la même page
    Par Elwood J. Blues dans le forum Symfony
    Réponses: 7
    Dernier message: 14/09/2011, 18h22
  4. [Spring MVC] Deux formulaires sur une même page
    Par djodjo dans le forum Spring Web
    Réponses: 1
    Dernier message: 20/10/2008, 09h52
  5. Plusieurs formulaires sur une même page
    Par patsak dans le forum Langage
    Réponses: 3
    Dernier message: 11/06/2008, 16h14

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