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 :

envoie formulaire par post à la meme page


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9
    Points : 4
    Points
    4
    Par défaut envoie formulaire par post à la meme page
    je reviens vers vous car j'ai un problème qui se pose de nouveau, la première fois je l'avais contourné avec des variables de cession mais cette fois je ne peux pas.

    j'explique :

    page1.php

    récupération des données provenant d'une BDD Mysql, je place ces données dans trois formulaires différents, formulaire valider, modif et suppr,
    je poste ces données à la page2.php.

    page2.php

    récupération des données provenant de la page1.php par la méthode POST
    le formulaire s'affiche correctement.
    jusqu'ici tout va bien

    mais dans ce formulaire j'ai deux combobox qui doivent rafraichir ce dernier par POST lors d'un select différent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onChange='document.modif.submit()
    mais quand je choisis une valeur différente dans la combo il me renvoie une page vide.

    j'ai essayé en mettant des nom différents aux boutons des formulaire mais rien y fait.

    au secour !

    page1.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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    		while($row = mysql_fetch_array($result))
     
    		{
     
    			if (($row['CONTAINER']) == '0')
    			{$cont = 'non';
    			}
    			else
    			{$cont = 'oui';
    			}
     
    			//formulaire valider
    			echo "<form  action='index.php?IdPage=7&valider' name='formulaire' method='post'><tr onmouseover=\"this.className='survol';\" onmouseout=\"this.className='parti';\">";
     
    			echo "<td class='tableau_cell Style6 cacher-column' align='center'><input class= type='hidden' name='ID' value=".$row['ID']."></td>";
    			echo "<td width='110' class='tableau_cell Style6' align='center'><input type='hidden' name='NOM' value='".$row['NOM']."'>".$row['NOM']."</td>";
    			echo "<td width='110' class='tableau_cell Style6' align='center'><input type='hidden' name='PRENOM' value='".$row['PRENOM']."'>".$row['PRENOM']."</td>";
    			echo "<td width='70' class='tableau_cell Style6' align='center'><input type='hidden' name='NUMVOIE' value=".$row['NUMVOIE'].">".$row['NUMVOIE']."</td>";	
    			echo "<td width='110' class='tableau_cell Style6' align='center'><input type='hidden' name='NOMVOIE' value='".$row['NOMVOIE']."'>".$row['NOMVOIE']."</td>";
     
    			echo "<td width='70' class='tableau_cell Style6' align='center'><input type='hidden' name='NBPERSONNE' value=".$row['NBPERSONNE'].">".$row['NBPERSONNE']."</td>";
    			echo "<td width='70' class='tableau_cell Style6' align='center'><input type='hidden' name='CONTAINER' value=".$cont.">".$cont."</td>";
    			echo "<td width='50' class='tableau_cell Style6' align='center'><input type='hidden' name='IDDROITSAC' value=".$row['IDDROITSAC']."></td>";
    			echo "<td width='50' class='tableau_cell Style6' align='center'><input type='hidden' name='SAC_JAUNE' value=".$row['SAC_JAUNE'].">".$row['SAC_JAUNE']."</td>";
    			echo "<td width='45' class='tableau_cell Style6' align='center'><input type='hidden' name='SAC_NOIR' value=".$row['SAC_NOIR'].">".$row['SAC_NOIR']."</td>";
    			echo "<td width='50' class='tableau_cell Style6' align='center'><input name='valider' type='submit' value='Valider' class='taill_button' onclick='pages/?IdPade=7'/> </td>";
    			echo "</form>";
     
    			//formulaire modif
    			echo "<form  action='index.php?IdPage=7&modif' name='formulaire' method='post'>";
     
    			echo "<input type='hidden' name='ID' value=".$row['ID'].">";
    			echo "<input type='hidden' name='NOM' value='".$row['NOM']."'>";
    			echo "<input type='hidden' name='PRENOM' value='".$row['PRENOM']."'>";
    			echo "<input type='hidden' name='NUMVOIE' value=".$row['NUMVOIE'].">";	
    			echo "<input type='hidden' name='NOMVOIE' value='".$row['NOMVOIE']."'>";
     
    			echo "<input type='hidden' name='NBPERSONNE' value=".$row['NBPERSONNE'].">";
    			echo "<input type='hidden' name='CONTAINER' value=".$cont.">";
    			echo "<input type='hidden' name='IDDROITSAC' value=".$row['IDDROITSAC'].">";
    			echo "<input type='hidden' name='SAC_JAUNE' value=".$row['SAC_JAUNE'].">";
    			echo "<input type='hidden' name='SAC_NOIR' value=".$row['SAC_NOIR'].">";
    			echo "<td width='50' class='tableau_cell Style6' align='center'><input name='modif' type='submit' value='Modif' class='taill_button' /> </td>";
    			echo "</form>";
     
    			//formulaire supprimer
    			echo "<form  action='index.php?IdPage=7&suppr' name='formulaire' method='post'>";
     
    			echo "<input type='hidden' name='ID' value=".$row['ID'].">";
    			echo "<input type='hidden' name='NOM' value='".$row['NOM']."'>";
    			echo "<input type='hidden' name='PRENOM' value='".$row['PRENOM']."'>";
    			echo "<input type='hidden' name='NUMVOIE' value=".$row['NUMVOIE'].">";	
    			echo "<input type='hidden' name='NOMVOIE' value='".$row['NOMVOIE']."'>";
     
    			echo "<input type='hidden' name='NBPERSONNE' value=".$row['NBPERSONNE'].">";
    			echo "<input type='hidden' name='CONTAINER' value=".$cont.">";
    			echo "<input type='hidden' name='IDDROITSAC' value=".$row['IDDROITSAC'].">";
    			echo "<input type='hidden' name='SAC_JAUNE' value=".$row['SAC_JAUNE'].">";
    			echo "<input type='hidden' name='SAC_NOIR' value=".$row['SAC_NOIR'].">";
    			echo "<td width='30' class='tableau_cell Style6' align='center'><input type='submit' name='suppr' class='bouton' value='' onClick='submit' /> </td>";
    			echo "</form>";
    			echo "</tr>";
    }
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
     
    if (isset($_POST['modif'], $_GET['modif']))
    {
     
    $id = $_POST['ID'];
    echo htmlentities($_POST['modif']); 
     
     
    			if (isset($_POST['ID']))
    			$id = ($_POST['ID']);
    			if (isset($_POST['NOM']))
    			$nom = ($_POST['NOM']);
    			if (isset($_POST['PRENOM']))
    			$prenom = ($_POST['PRENOM']);
    			if (isset($_POST['NOMVOIE']))
    			$nomvoie = ($_POST['NOMVOIE']);
    			if (isset($_POST['NUMVOIE']))
    			$numvoie = ($_POST['NUMVOIE']);
    			if (isset($_POST['COMPADRESSE']) && !empty($_POST['COMPADRESSE']))
    			$compadresse = ($_POST['COMPADRESSE']);
    			else $compadresse = '/';
    			$nbpersonne = ($_POST['NBPERSONNE']);
    			$cont = ($_POST['CONTAINER']);
    			if (($_POST['CONTAINER']) == '0')
    			{$cont = 'non';
    			}
    			else
    			{$cont = 'oui';
    			}
    			$iddroitsac = ($_POST['IDDROITSAC']);
    			$sac_jaune = ($_POST['SAC_JAUNE']);
    			$sac_noir = ($_POST['SAC_NOIR']);
     
    echo "<form  name='modif' id='modif' action='index.php?IdPage=7?modif' ENCTYPE='text/plain' method='post'>
    <table width='100%' height='70' cellspacing='1' border='0'>
     
      <tr>
        <td class='Style11'>Modification</td>
        </tr>
    </table>
    <table width='100%' cellspacing='0'  class='color_tab' border='0'>
     
      <tr>
        <td width='90'>Nom :</td>
        <td class='Style17 cell_auto'><input size='35' type='text' name='NOM' value='".$nom."' /></td>
    </tr>
    <tr>
        <td width='90'>Prénom : </td>
        <td class='cell_auto Style17'><input size='35' type='text' name='PRENOM' value='".$prenom."' /></td>
     
        </tr>
    </table>
    <table width='100%' cellspacing='0'  class='color_tab' border='0'>
      <tr>
        <td width='90'>Adresse :&nbsp;</td>
        <td class='Style17' class='cell_auto'><input size='70' type='tesxt' name='NOMVOIE'  value='".$nomvoie."' /></td>
        <td width='70'>Numéro : </td>
        <td class='Style17' width='50'><input size='4' type='text' name='NUMVOIE' value=".$numvoie." /></td>
        <td width='40'>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
      </table>
      <table cellspacing='0' width='100%' class='color_tab' border='0'>
        <tr>
          <td width='90'>Complément :</td>
          <td colspan='8'><input size='70' type='text' name='NUMVOIE' value='".$compadresse."' /></td>
        </tr>
    	</table>
    	<table cellspacing='0' width='100%' class='color_tab' border='0'>
    	<tr><td colspan='9' height='20'></td></tr>
        <td width='150'>Nombre de personne : </td>
        <td  class='Style17'>        
     
            <select name='nbpersonne' id='nbpersonne' size='1' onChange='document.modif.submit()'>
    		<option value='0' selected='selected'>".$nbpersonne."</option>
            <option value='".$nbpersonne= '1'."'>1</option>
    		<option value='".$nbpersonne= '2'."'>2</option>
    		<option value='".$nbpersonne= '3'."'>3</option>
    		<option value='".$nbpersonne= '4'."'>4</option>
    		<option value='".$nbpersonne= '5'."'>5</option>
            <option value='".$nbpersonne= '6'."'>6</option>
            <option value='".$nbpersonne= '7'."'>7</option>
            <option value='".$nbpersonne= '8'."'>8</option>
            <option value='".$nbpersonne= '9'."'>9</option>
            <option value='".$nbpersonne= '10'."'>10</option>
            <option value='".$nbpersonne= '11'."'>11</option>
            <option value='".$nbpersonne= '12'."'>12</option>
            <option value='".$nbpersonne= '13'."'>13</option>
            <option value='".$nbpersonne= '14'."'>14</option>
    		<option value='".$nbpersonne= '15'."'>15</option>
    		<option value='".$nbpersonne= '16'."'>16</option>
    		<option value='".$nbpersonne= '17'."'>17</option>
    		<option value='".$nbpersonne= '18'."'>18</option>
    		<option value='".$nbpersonne= '19'."'>19</option>
     
    		</select> 
     
    	</td>
        <td width='75'>Container :</td>
        <td  class='Style17'>
    	    <select name='containerm' id='containerm' size='1' onChange='document.modif.submit()>
    		<option value='0' selected='selected'>".$cont."</option>
            <option value='".$cont = 'NON'."'>non</option>
    		<option value='".$cont = 'OUI'."'>oui</option>
    		</select> 
     
     
    	</td>
        <td width='90'>Sacs Jaunes : </td>
        <td  class='Style17'><input size='1'  type='text' name='SAC_JAUNE' value=".$sac_jaune." /></td>
        <td width='80'>Sacs noirs : </td>
        <td  colspan='2' class='Style17'><input size='1' type='text' name='SAC_NOIR' value=".$sac_noir." /></td>
        </tr>
      <tr class='tableau_dot'>
        <td colspan='9'>&nbsp;</td>
        </tr>
    </table>
    <table cellspacing='0' width='100%' class='color_tab' border='0'>
      <tr align='right'>
        <td height='28' colspan='6'><input type='submit' name='recalculer' value='Recalculer' /></td>
        <td width='33%' height='28'>&nbsp;</td>
        <td width='57%' height='28'>Appliquer la dotation :
        <input type='submit' name='appliquemodif' value='Valider' />      <input type='button' name='annuler' value='Annuler'  onClick='document.location.href=\"index.php?IdPage=2\"' /></td>
        </tr>
    </table>
     
    <input type='hidden' name='ID' value=".$id." />
    	<input type='hidden' name='IDDROITSAC' value=".$iddroitsac." />
     
    </form>";
    }
    par avance merci de votre intérêt à ce post

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    index.php?IdPage=7?modif

    c normal que ca fonction pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    index.php?IdPage=7&modif=oui
    de plus tu pourrais écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    index.php?IdPage=7&type=modif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    index.php?IdPage=7&type=inserer
    etc,

    et selon $_GET['type'] afficher le bon formulaire...
    Conception / Dev

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    merci ascito
    vais essayer

  4. #4
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    j'ai mis dans ma page1.php du formulaire modif

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    action='index.php?IdPage=7&type=modif
    puis dans ma page2.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (isset($_POST['modif'], $_GET['type']))
    dans le formulaire de la page2.php que je récupère du post passé par la page1.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    action='index.php?IdPage=7&type=modif'
    mais lorsque je change la valeur de la combobox j'ai toujours une page vide
    il doit y avoir un truc que j'ai pas compris, non ?

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    change pas tout,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    index.php?IdPage=7&modif
    que tu avais juste a changer, pour le reste ct juste une idée qu'il faut que tu pofinne
    Conception / Dev

  6. #6
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    mais si je change ma variable $modif

    je suis obligé de changer aussi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // je suis également obliger de changer 
    if (isset($_POST['modif'])) 
    // en un truc comme ça 
    if ((isset($_POST['modif']) and ($_GET['type'])))
    {
      if ($_GET['type'] == 'modif');
      {
    mais ça ne fonctionne toujours pas

  7. #7
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Franchement, je comprends pas grand chose à ce que tu veux faire ET en plus tu fais un gros mélange entre les post et les get.

    Sur tous tes formulaires, tu restes sur method='post' et puis c tout, fait pas des truc du genre action='index.php?IdPage=7?modif=truc' en plus ou alors tu changes method='get'

    Tu choisi l'un ou l'autre ....

    Pour post, tu fais des champs hidden qui contiendrons le cas 'modif', 'validation', 'suppression' comme par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "<input type='hidden' name='type' value='modif ou supp ou etc'>";
    et dans ce cas juste un isset du $_POST['type']

    Pour get tout est dans action=''index.php?IdPage=7?modif=truc' et tu travailles avec $_GET['modif'] == 'truc' par exemple
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/02/2015, 22h48
  2. [AJAX] Envoi des données du formulaire par POST
    Par Knight.Solidary dans le forum AJAX
    Réponses: 5
    Dernier message: 06/08/2012, 06h50
  3. [PHP 5.3] envoi formulaire par post à la meme page
    Par titi12100 dans le forum Langage
    Réponses: 8
    Dernier message: 05/07/2012, 07h25
  4. Recharger page après validation de formulaire par POST
    Par Flynt dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/02/2008, 16h33
  5. [Mail] Problème envoi formulaire par mail
    Par Nicos77 dans le forum Langage
    Réponses: 5
    Dernier message: 10/11/2005, 17h11

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