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

PHP & Base de données Discussion :

transmission d'un formulaire à un autre


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Décembre 2012
    Messages : 12
    Par défaut transmission d'un formulaire à un autre
    Bonjour,
    Cela fait un bon moment déjà que je cherche mais n'arrive pas trouver ce qui cloche...
    J'ai une page listant des guides. Chaque guide est rangé dans une rubrique et une sous-rubrique.
    Dans cette page, j'ai un lien qui me permet de modifier un guide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="modif_guide.php?modifier_guide='.$donnees['id'].'&RubriqueID='.$donnees['RubriqueID'].'&ss_titreID='.$donnees['ss_titreID'].'">Modifier ce guide</a>
    Sur modif_guide.php : je demande tout d'abord, si la rubrique doit être changée
    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
    <?php
    if (isset($_GET['modifier_guide'])) 
    {
    $_GET['modifier_guide'] = mysql_real_escape_string($_GET['modifier_guide']);
    // On recupere les infos du lien correspondant
    $retour = mysql_query('SELECT * FROM guide WHERE id=\'' . $_GET['modifier_guide'] . '\'');
    $donnees = mysql_fetch_array($retour);
     
    //Formulaire 1 : le choix	
    echo "<form action='modif_guide.php?modifier_guide=$id_guide' method='POST'>
    <fieldset>
    <legend>Souhaitez-vous changer la rubrique ou la sous-rubrique de votre guide ?</legend>";
    echo "<input type='radio' name='choix' value='oui'> Oui<br />";
    echo "<input type='radio' name='choix' value='non'> Non<br />";
    echo "<input type='hidden' name='RubriqueID' value='$RubriqueID' />";
    echo "<input type='hidden' name='ss_titreID' value='$ss_titreID' />";
    echo "<input type='submit' name='change' value='Ok' />";
    echo "</fieldset></form>";
    Si réponse non => mon formulaire pour changer le pdf fonctionne très bien
    Si réponse oui => Je fais apparaitre mon formulaire pour changer la rubrique
    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
    <?php
    if(isset($_POST['change']) AND isset($_POST['choix']))
    {
    	if ($_POST['choix']=="non")
    	{ //ok fonctionne
    }//fin choix non
    	else{
     
    	//Formulaire :recupere rubrique
    echo "<form action='modif_guide.php?modifier_guide=$id_guide' method='POST'>
    <fieldset>
    <legend>S&eacute;lectionner une rubrique</legend>";
     
    //Requête : chercher les rubriques existantes
    	$query = "SELECT * FROM rubrique ORDER BY RubriqueName ASC";
    	$result = mysql_query($query) OR die('<div class="erreur">Rubriques non trouv&eacute;es</div>');
     
    //select rubrique
    	echo '<select name = "select_rub" style="width:312px">';
    	$Selected = 0;
    		while($row = mysql_fetch_array($result)){
    			if($Selected ==0){
    			echo '<option value ="',$row[0], '" selected="selected">',$row[1],'</option>';
    	$Selected = 1;
    			}
    			else{
    			echo '<option value ="', $row[0], '">',$row[1],'</option>';
    			}
    		}
    	echo "</select><br /><br />";
    	//echo "<input type='hidden' name='id_guide' value='$id_guide' />";
    	echo "<input type='submit' name='rub' value='Ok' />";
    	echo "</fieldset></form>";
    C'est ici que ça va mal, je sélectionne ma rubrique, bouton Ok, puis plus rien, mon 2ème formulaire pour ma sous-rubrique ne s'affiche pas.
    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
    <?php
    //Formulaire :recupere sous-rubrique
    if(isset($_POST['rub']) AND isset($_POST['select_rub'])){
    $RubriqueID = $_POST['select_rub'];	
    echo "<form action='modif_guide.php?modifier_guide=$id_guide' method='POST'>
    <fieldset>
    <legend>S&eacute;lectionner une sous-rubrique</legend>";	
    //Requête : chercher les sous-rubriques existantes
    $query = "SELECT * FROM ss_rubrique WHERE RubriqueID='$RubriqueID' ORDER BY sousRub ASC";
    $result = mysql_query($query) OR die('<div class="erreur">Sous-rubriques non trouv&eacute;es</div>');
     
    //Select sous rubrique
    echo '<select name = "select_SSrub" style="width:312px">';
    	$Selected = 0;
    		while($row = mysql_fetch_array($result)){
    			if($Selected ==0){
    			echo '<option value ="',$row[0], '" selected="selected">',$row[1],'</option>';
    	$Selected = 1;
    			}
    			else{
    			echo '<option value ="', $row[0], '">',$row[1],'</option>';
    			}
    		}
    	echo "</select><br /><br />";
    	echo "<input type='hidden' name='RubriqueID' value='$RubriqueID' />";
    	echo "<input type='hidden' name='id_guide' value='$id_guide' />";
    	echo "<input type='submit' name='SSrub' value='Ok' />";
    	echo "</fieldset></form>";
    	mysql_free_result ($result);
    	}
    Ensuite, normalement..., je continue en ouvrant un 3ème formulaire qui me permettra de changer le fichier pdf

    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
    <?php
    //Formulaire 3
    if(isset($_POST['SSrub']) AND isset($_POST['select_SSrub'])){
    		$RubriqueID = $_POST['RubriqueID'];
    		$ss_titreID = $_POST['select_SSrub'];
    ?>		
    <form action='liste_guide.php' method='POST' enctype='multipart/form-data'>
    <fieldset>
    <legend>Insertion Pdf</legend>
    <label for='pdf'>Pdf : 
    <input type='file' name='pdf' size='40' />
    </label><br /><br />
    <p><label for='descript'>Description :
    <input type='text' size='49' name='descript' id='descript' value='<?php echo $descript; ?>' />
    </label></p><br />
    <input type='hidden' name='id_guide' value='<?php echo $id_guide; ?>' />
    <input type='hidden' name='RubriqueID' value='<?php echo $RubriqueID; ?>' 
    <input type='hidden' name='ss_titreID' value='<?php echo $ss_titreID; ?>' />
    <input type='submit' name='Envoyer' id='Envoyer' />
    </fieldset></form>
    <?php	
    	}		
    }//fin oui
     
    }//fin change choix
    }//fin du isset modifier_guide
    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu te doutes que relire un code pareil est assez indigeste.
    A vue d'oeil comme ça, et en supposant que j'ai bien compris comment ça s'articule, je n'ai pas vu le problème.

    De manière générale, si tu n'obtiens pas le résultat attendu c'est qu'une condition n'est pas remplie.
    Tu peux simplement debuguer tout ça en plaçant des marqueurs dans ton code et en contrôlant les variables clefs ; tu identifieras déjà le point de blocage et il n'y aura plus qu'a remonter à son orgine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var_dump($_POST);
    if(isset($_POST['rub']) AND isset($_POST['select_rub'])){
       echo 'Condition 12 remplie<br/>';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Décembre 2012
    Messages : 12
    Par défaut
    Merci sabotage. J'avais déjà fait des echo et mes id correspondent bien...
    Je continue de chercher.

  4. #4
    Membre chevronné

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 205
    Billets dans le blog
    1
    Par défaut
    C'est ici que ça va mal, je sélectionne ma rubrique, bouton Ok, puis plus rien, mon 2ème formulaire pour ma sous-rubrique ne s'affiche pas.
    Tu as une page blanche ? Autre chose ?

    Tu as affiché le résultat de ta condition (isset($_POST['rub']) AND isset($_POST['select_rub'])) ?
    Tu rentres bien dans le bloc ou tu es arrêté plus haut ?
    Essaies d'avancer bloc par bloc, voir où tu rentres et ne rentres pas avec des marqueurs comme le propose sabotage et tu trouveras vite la condition qui n'est pas satisfaite
    si ce post vous a été utile, si votre problème est résolu.
    Pensez-y !
    __________________________________
    Doc officielle PHP | FAQ PHP | Cours PHP

  5. #5
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    Un complément utile de debuggage est aussi de faire afficher le code source htm généré. Ainsi tu peux vérifier si c'est conforme (et notamment si tes liens sont correctement créés).

    Quelques remarques au passage sur ton code :
    - Tu devrais éviter d'utiliser 'AND' car au niveau des priorités ce n'est pas exactement la même chose que '&&'. Dans ton code cela ne change rien mais c'est à éviter à moins que tu ne sache exactement pourquoi tu utilises plutôt "AND" que "&&". En d'autres termes il ne faut pas utiliser indifféremment l'un ou l'autre.
    Par ailleurs isset accepte plusieurs variables, donc tu peux raccourcir un peu ton code en faisant :
    if(isset($_POST['rub'],$_POST['select_rub']))

    - Quand tu fais un echo sur une chaine, la plupart du temps c'est plus indiqué de la mettre entre simples quotes plutôt qu' entre doubles quotes car cela produit un code plus conventionnel et on voit mieux les variables par concaténation. En plus c'est un poil plus optimisé car php n'essaie pas d'interpréter toute la chaine.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<form action="modif_guide.php?modifier_guide='.$id_guide.'" method="POST">
    <fieldset>
    <legend>Souhaitez-vous changer la rubrique ou la sous-rubrique de votre guide ?</legend>';

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Décembre 2012
    Messages : 12
    Par défaut
    Merci pour vos réponses et de vos conseils car j'en ai bien besoin...
    Je n'ai pas trouvé ce qui clochait , après pas mal d'heures passées dessus !
    J'ai fini par enlever le formulaire du choix 'oui', 'non' et arrive à ce que je souhaite à peu près.
    Maintenant, je me perds dans la suppression des rubriques et sous-rubriques, tout un programme... je tourne, je tourne

Discussions similaires

  1. formulaire multicritère - autre contrôle
    Par Nabouille dans le forum Access
    Réponses: 2
    Dernier message: 14/04/2006, 17h39
  2. Saisie immédiate d'un formulaire à un autre
    Par ivan7 dans le forum IHM
    Réponses: 4
    Dernier message: 08/02/2006, 13h18
  3. Lien sous-formulaire à un autre sous-formulaire
    Par jehhej dans le forum Access
    Réponses: 4
    Dernier message: 25/01/2006, 08h05
  4. Réponses: 38
    Dernier message: 22/07/2005, 08h30
  5. Réponses: 2
    Dernier message: 28/10/2004, 16h54

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