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 :

Récupération d'une valeur à travers 2 fichiers


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Récupération d'une valeur à travers 2 fichiers
    Bonjour,

    Je vais essayer d'être clair et précis pour que vous compreniez parfaitement mon problème.

    J'ai donc en premier lieu un formulaire qui via un select, propose 2 choix. Une fois un choix effectué, un include permet d'afficher un formulaire d'inscription en fonction du choix précédemment fait (particulier ou entreprise).

    Nous avons donc pour le moment :
    formulaire_choix => formulaire_particulier (ou formulaire_entreprise)

    Une fois le formulaire particulier rempli, le submit fait appel à un fichier qui contient les vérifications et les requêtes vers la BDD.
    formulaire_choix.php => formulaire_particulier.php => requete_bdd.php

    J'ai cette erreur :
    Notice: Undefined index: inscription in [...]
    sur la ligne :
    if ($_POST['inscription'] == "1") {

    Je fais ça en début de requete_bdd pour vérifier que la personne qui s'inscrit est bien un particulier (ce qui joue sur les requêtes).

    Le problème ici, je pense, c'est que la valeur inscription est disponible dans formlaire_choix, mais pas dans formulaire_particulier. J'ai essayé de faire un "rappel" de la valeur de inscription dans formulaire_particulier en pensant que $_POST['inscription'] allait pouvoir être récupéré, mais non.

    Merci à tous.




    edit : il se trouve que je n'ai plus d'erreur lorsque j'enléve cette ligne (normal me direz-vous). Est-il indispensable de verifier à l'entrée du fichier que le fichier appelé correspond bien au choix ?

  2. #2
    Membre chevronné
    Code php :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    if ( isset($_POST['inscription']) && $_POST['inscription'] == "1") {

  3. #3
    Membre habitué
    Plus de message d'erreur mais il rentre justement pas dans la boucle de ce if.

  4. #4
    Membre chevronné
    Citation Envoyé par knolz Voir le message
    Plus de message d'erreur mais il rentre justement pas dans la boucle de ce if.
    Yep normal, vu que $_POST["inscription"] n'existe pas (et c'est d'ailleurs pour ça que tu avais une erreur Notice).

    Ton formulaire inclu ne doit pas être dans un nouveau <form></form> tu ne peux pas imbriquer 2 formulaire l'un dans l'autre !

    Ce que tu peux faire, c'est commencer un <form> inclure ton formulaire ici (sans <form></form> dedans) et ensuite fermer le formulaire </form>

  5. #5
    Membre habitué
    Je n'ai pas 2 formulaires imbriqués puisque j'ai 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
    <form id="form" name="form" method="get" action="">
    	<table>
    		<tr><td>Vous êtes :</td>
    		<td><select name="inscription" id="inscription" onchange="this.form.submit();">
    			<option value="" <?php if(isset($_GET['inscription'])) {if (!(strcmp("", $_GET['inscription']))) {echo "selected=\"selected\"";} }?>>-------Choisir-------</option>
    			<option value="1" <?php if(isset($_GET['inscription'])) {if (!(strcmp(1, $_GET['inscription']))) {echo "selected=\"selected\"";} }?>>un particulier</option>
    			<option value="2" <?php if(isset($_GET['inscription'])) {if (!(strcmp(2, $_GET['inscription']))) {echo "selected=\"selected\"";} }?>>un professionnel</option>
    		</select></td></tr>
     
    	<br />
    </form>	
    	<?php
    	if(isset($_GET['inscription'])) {
     
    		if ($_GET['inscription'] == "1") {
    			include('form_particulier.php') ;
    		}

    [......]


    Et avec un seul formulaire, je ne pourrais pas exécuter le fichier que je souhaite lors du submit à cause du onchange (qui execute le formulaire dès que je choisi une valeur )

  6. #6
    Membre habitué
    J'ai donc enlevé ce "if" pour faire des tests, et j'ai toujours le même problème : le $_POST ne récupére rien, mais cette fois-ci il ne récupére pas les valeurs du formulaire_particulier (qui lui appelle requetes_bdd grâce au submit)

    Voila un exemple de requête présente dans mn requetes_bdd :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    [...]
    $req_nom_part='SELECT nom FROM particuliers WHERE nom="'.$_POST["nom"].'";';
    [...]


    J'ai donc des erreurs sur $_POST["nom"], $_POST["prenom"], etc

  7. #7
    Membre expérimenté
    Bonsoir,
    Pourrais tu poster le code de ta page 'form_particulier.php' ...