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 :

<form> / Menu deroulant / transfert d'info


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 29
    Points : 15
    Points
    15
    Par défaut <form> / Menu deroulant / transfert d'info
    Bonjour à tous,

    Je vais vous résumez ce que je cherche à faire:
    Page1.php demande la saisie d'un chemin (eg: D:/chemin/), information transmis a Page2.php & Page3.php.
    La Page2.php utilise ce chemin pour afficher un menu déroulant listant les fichiers du dossier, et transmet le nom choisi a la Page3.php
    Page3.php récupérer le nom du document et le chemin pour faire quelques opération (pas le problème ici).
    Donc mon problème est le suivant Peut on envoyer la même information avec la balise <form> a plusieurs page différentes?
    J'ai fais quelques essai, sans succès notamment de cette manière:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <form name ="Insert" action=page2.php method="post">
    <form name ="Insert" action=pages3.php method="post">
    J'ai du coup essayer avec 2 variable, mais problème, j'ai fais de cette manière:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <label for="cheminDoc">Chemin du dossier contenant les CSV:</label>
    		<input type="text" name="cheminDoc" id="cheminDoc" value="" maxlength="50" size="40"><br>
    				<label for="test">Repeter le chemin:</label>
    				<input type="text" name="test" id="test" value="" maxlength="50" size="40"><br>
    Ce qui force l'utilisateur a effectuer la saisie 2 fois
    Toute aide serait apprécié

    EDIT: code du menu deroulant de la Page2.php
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <form name ="cheminDoc" action=Page3.php method="post">
    	<label for ="chemin">Chemin choisi: </label>
    		<?php
    			$chemin=$_POST['cheminDoc'];
    			echo '<select name="cheminDoc">'."\n"; 								
    			echo '<option value="">Choix du chemin <option>'."\n";			
    			echo "<option value=".$chemin.">".$chemin;
    			echo'</option>'."\n";
    		?>
    	<label for ="choixDoc">Choix du CSV: </label>
    		<?php 
    			$chemin=$_POST['test'];
    			echo"hello";
    			echo"$chemin";
    			$doc="$chemin/FichierCSV";
    			echo '<select name="choixDoc">'."\n"; 								
    			echo '<option value="">Choix d\'un fichier <option>'."\n";			
    			if($dossier = opendir($chemin)) 										
    			{
    				while(false !== ($fichier = readdir($dossier)))					
    				{
    					if(substr($fichier,-4)==".csv") 							
    					{
    						echo "<option value=" .$fichier.">".$fichier; 			
    						echo '</option>'."\n";									
    					}
    				} 
    				closedir($dossier); 											
    			}
    			else {
    			echo 'Le dossier n\' a pas pu être ouvert';
    			}	
    		?>	
    	<input type="submit" value="Envoyer">

  2. #2
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    Tu l'envoies à la page2, où tu la sauvegardes dans une variable $_POST (valeur d'un input caché de ton formulaire de la page2); et tu la récupères à la page3.
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    L'envoyer, de cette manière ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form name ="Insert" action=ChoixDoc.php method="post">
    		<label for="cheminDoc">Chemin du dossier contenant les CSV:</label>
    	<input type="submit" value="Envoyer">

  4. #4
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    Est ce que tu y es?
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  5. #5
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    Je peux avoir le code des trois formulaires: page1, page2 et page3?
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    Je ne vais mettre que l'essentiel du code, le reste étant de la mise en page.
    Page1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form name ="Insert" action=ChoixDoc.php method="post">
    		<label for="cheminDoc">Chemin du dossier contenant les CSV:</label>
    		<input type="text" name="cheminDoc" id="cheminDoc" value="" maxlength="50" size="40"><br>
    	<input type="submit" value="Envoyer">
    Page2:
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <form name ="cheminDoc" action=insertCSV.php method="post">
    	<label for ="cheminDoc">Chemin choisi: </label>
    		<?php
    			$chemin=$_POST['cheminDoc'];  //ici je veut simplement afficher si le chemin c'est bien transmis entre la p1 et p2
    			echo"$chemin";		           //Je ne sais pas vraiment quoi faire de l'info, je l'utilise en dessous aussi
    		?>
    	<label for ="fichier">Choix du CSV: </label>
    		<?php  
    			$chemin=$_POST['cheminDoc'];
    			echo"$chemin";	
    			$doc="$chemin/FichierCSV";
    			echo '<select name="fichier">'."\n"; 							
    			echo '<option value="">Choix d\'un fichier <option>'."\n";			
    			if($dossier = opendir($doc)) 										
    			{
    				while(false !== ($fichier = readdir($dossier)))					
    				{
    					if(substr($fichier,-4)==".csv") 							
    					{
    						echo "<option value=" .$fichier.">".$fichier; 			
    						echo '</option>'."\n";									
    					}
    				} 
    				closedir($dossier); 											
    			}
    			else {
    			echo 'Le dossier n\' a pas pu être ouvert';
    			}	
    		?>	
    	<input type="submit" value="Envoyer">
    La page 3 réceptionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $Emplacement=$_POST['cheminDoc'];  //reception du chemin saisie en page 1 normalement
    	echo"$Emplacement";									
     
    	$choixDoc = $_POST['fichier']; //reception du choix de dossier saisie en page 2
    	echo"$choixDoc";

  7. #7
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    page1

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form name ="Insert" action=page2.php method="post">
        <label for="cheminDoc">Chemin du dossier contenant les CSV:</label>
        <input type="text" name="cheminDoc" id="cheminDoc" value="" maxlength="50" size="40"><br>
        <input type="submit" value="Envoyer">     
    </form>

    page2
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    if (isset($_POST['chemeinDoc'])){
        $hemin = $_POST['chemeinDoc'];
    }?>
     
    <form name ="Insert" action=page3.php method="post">
        <label for="cheminDoc">Choix du CSV:</label>
        <select>
            Liste des fichiers CSV
        </select>
        <input hidden="true" type="text" name="cheminDoc" id="cheminDoc" value="<?php $hemin;?>" maxlength="50" size="40"><br>
        <input type="submit" value="Envoyer">     
    </form>

    page3 tu récupère le chemin
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    if (isset($_POST['chemeinDoc'])){
        $hemin = $_POST['chemeinDoc'];
    }?>
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  8. #8
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    Attends que j'insère cela dans le code que tu as posté
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  9. #9
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    Voici ce que tu devrais faire:
    page1
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form name ="Insert" action=ChoixDoc.php method="post">
        <label for="cheminDoc">Chemin du dossier contenant les CSV:</label>
        <input type="text" name="cheminDoc" id="cheminDoc" value="" maxlength="50" size="40"><br>
        <input type="submit" value="Envoyer">

    page2
    Code php : 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
    22
    23
    24
    25
    26
    27
    28
    29
     
    <form name ="cheminDoc" action=insertCSV.php method="post">
        <label for ="cheminDoc">Chemin choisi: </label>
        <?php
        $chemin = $_POST['cheminDoc'];  //ici je veut simplement afficher si le chemin c'est bien transmis entre la p1 et p2
        echo $chemin;             //Je ne sais pas vraiment quoi faire de l'info, je l'utilise en dessous aussi
        ?>
        <label for ="fichier">Choix du CSV: </label>
        <?php
        $chemin = $_POST['cheminDoc'];
        echo $chemin;
        $doc = "$chemin/FichierCSV";
        echo '<select name="fichier">' . "\n";
        echo '<option value="">Choix d\'un fichier <option>' . "\n";
        if ($dossier = opendir($doc)) {
            while (false !== ($fichier = readdir($dossier))) {
                if (substr($fichier, -4) == ".csv") {
                    echo "<option value=" . $fichier . ">" . $fichier;
                    echo '</option>' . "\n";
                }
            }
            closedir($dossier);
        } else {
            echo 'Le dossier n\' a pas pu être ouvert';
        }
        ?>
        <!-- cheminDoc cahé -->
        <input hidden="true" type="text" name="cheminDoc" id="cheminDoc" value="<?php echo $hemin; ?>" maxlength="50" size="40"><br>
        <input type="submit" value="Envoyer">

    page3
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $Emplacement = $_POST['cheminDoc'];  //reception du chemin saisie en page 1 normalement
    echo $Emplacement;
     
    $choixDoc = $_POST['fichier']; //reception du choix de dossier saisie en page 2
    echo $choixDoc;
    Dis-moi ce que tu as comme résultat. Résolu si OK n'oubli pas.
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Nazoïde Voir le message
    Dis-moi ce que tu as comme résultat. Résolu si OK n'oubli pas.
    J'ai essayer ton code, il marche nickel !
    J'aimerais juste avoir quelques indications sur le pourquoi du comment, c'est grace au <input hidden> que cela fonctionne ? :o

  11. #11
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    tu as une variable d'un formulaire que tu aimerais récupérer sur une page qui n'est pas celle de l'action du formulaire: Il te faut la "trainer" jusqu'à la page finale.
    une fois postée, il te suffit de la mettre dans un input que tu caches à l'utilisateur, pour chaque page intermédiaire (au niveau du formulaire) afin de l'avoir à la page finale.
    C'est aussi simple que ça.
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    D'accord, donc si je comprends bien, jusque la, la variable n'était pas "trainer" jusqu’à la troisième page, mais utiliser à la 2ieme puis "oublier" ?
    Alors qu'avec le hidden input, on peut utiliser la variable, mais on la garde en mémoire pour la page d'après?

  13. #13
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    D'accord, donc si je comprends bien, jusque la, la variable n'était pas "trainer" jusqu’à la troisième page, mais utiliser à la 2ieme puis "oublier" ?
    Alors qu'avec le hidden input, on peut utiliser la variable, mais on la garde en mémoire pour la page d'après?
    Félicitation tu as tout compris

    hidden permet de ne pas afficher l'input à l'utilisateur, malgré qu'il soit dans le formulaire.
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    D'acc, je prends note de ca dans un coin de ma tête, merci a toi et bonne journée!

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

Discussions similaires

  1. mise en forme css (menu deroulant qui deroule pas)
    Par grisby007 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 28/10/2013, 23h58
  2. menu deroulant en forms 9
    Par simpletz dans le forum Forms
    Réponses: 3
    Dernier message: 26/07/2005, 14h32
  3. [VBA-E] Barre d'outils et menu déroulants
    Par Tcmat dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/08/2004, 21h51
  4. [LG]Menu déroulant sous Pascal
    Par Apprenti Sorcier dans le forum Langage
    Réponses: 8
    Dernier message: 26/03/2004, 13h29

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