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 :

$_GET dans un Header(Location: )


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Responsable ingénierie des logiciels - Recherche alternance
    Inscrit en
    Novembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable ingénierie des logiciels - Recherche alternance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 68
    Points : 92
    Points
    92
    Par défaut $_GET dans un Header(Location: )
    Bonjour,

    J'ai un problème sur l'une de mes redirections où je souhaite faire passer plusieurs variables en paramètre.
    J'ai tournée la chose dans tout les sens, mais pas moyen ...

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php 
    if( isset($_POST['critere']) && isset($_POST['ordre']) )
    {
              $_SESSION['rc_genre'] = $_GET['genre'];
               header('Location: Tuto.php?genre='.$_SESSION['rc_genre'].'&critere='.$_POST['critere'].'&ordre='.$_POST['ordre']);
              echo $rc_genre;
    }
    ?>
    Résultat : http://localhost/Dvp%20--%20Tuto/Tuto.php?genre=&critere=nom&ordre=ASC

    Comme vous pouvez le voir, les variables 'critere' et 'ordre' passent sans problème. En revanche, $_GET['genre'] ne s'affiche jamais ! Quoi je puisse essayer ... Même en passant par des variables sessions ...

    Pour tester j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $rc_genre = $_GET['genre'];
    echo '<h1>'.$rc_genre.'</h1>';
    Et là, ça marche sans problème ... C'est exactement les mêmes lignes mais ça marche pas ... Je comprend vraiment pas là, et c'est pas faute d'avoir cherché.

    Aidez moi pls

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 252
    Points : 358
    Points
    358
    Par défaut
    Pourquoi ne pas simplement faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    header('Location: Tuto.php?genre='.$_GET['rc_genre'].'&critere='.$_POST['critere'].'&ordre='.$_POST['ordre']);
    si un parametre "rc_genre" existe bien il sera mis dans la redirection.

  3. #3
    Membre régulier
    Homme Profil pro
    Responsable ingénierie des logiciels - Recherche alternance
    Inscrit en
    Novembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable ingénierie des logiciels - Recherche alternance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 68
    Points : 92
    Points
    92
    Par défaut
    Je résume pour être sûr, l'url du début ressemble à :
    http://localhost/Dvp%20--%20Tuto/Tuto.php?genre=Action

    A partir de là, je souhaite récupérer cette variable et la placée dans le header.
    Je n'ai aucun soucis pour faire des $_GET sur cette variable et travailler dessus, je le fais plus loin dans le même fichier.

    Mais même en faisant comme tu dis (à la différence près que je remplace $_GET['rc_genre'] par $_GET['genre'] :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    		<input type="submit" name="trier" value="Trier" />
    		<?php echo ' '.$_GET['genre'].' ';?>
    	</fieldset>
    </form>
    <?php 
    if( isset($_POST['critere']) && isset($_POST['ordre']) )
    {
    	header('Location: Tuto.php?genre='.$_GET['genre'].'&critere='.$_POST['critere'].'&ordre='.$_POST['ordre']);
    }
    ?>
    Comme vous pouvez voir à la deuxième ligne, je tente des echo pour tester la valeurs et être sûr que la variable n'est pas vide ...
    Résultat : La variable s'affiche correctement !!

    Par contre encore une fois le header ne me prend pas en compte ma variable ...
    L'url ressemble après à : http://localhost/Dvp%20--%20Tuto/Tuto.php?genre=&critere=nom&ordre=DESC

    Je ne sais que faire, c'est vraiment bizarre ...

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 252
    Points : 358
    Points
    358
    Par défaut
    Tu dois écraser la variable $_GET ou $_GET["genre"] à un moment ou un autre car le code devrait fonctionner. Peux tu mettre le code complet ?

    à la place de la redirection, si tu affiche le lien (voir ci dessous) as tu le même problème ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if( isset($_POST['critere']) && isset($_POST['ordre']) )
    {
    	echo 'Location: Tuto.php?genre='.$_GET['genre'].'&critere='.$_POST['critere'].'&ordre='.$_POST['ordre'];
    }

  5. #5
    Membre régulier
    Homme Profil pro
    Responsable ingénierie des logiciels - Recherche alternance
    Inscrit en
    Novembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable ingénierie des logiciels - Recherche alternance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 68
    Points : 92
    Points
    92
    Par défaut
    Malheureusement oui, il affiche la même chose que ce que le header fait :
    Résultat du echo : Location: Tuto.php?genre=&critere=nom&ordre=DESC

    Message d'erreur : (le message indiquant qu'il ne reconnait plus la variable en question)
    Undefined index : genre in "Tuto.php" ...

    ...sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if( isset($_POST['critere']) && isset($_POST['ordre']) )
    { // ICI
    	echo 'Location: Tuto.php?genre='.$_GET['genre'].'&critere='.$_POST['critere'].'&ordre='.$_POST['ordre'];
    }
    Bon clairement, ça m'étonnerai que le problème vienne d'ici, seulement je n'utilise que trois/quatre fois ce " $_GET['genre'] " dans le reste du fichier.
    Ici la partie du code contenant ces utilisations :
    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
     
    						<?php 
    						connectMaBase(); // PS : Il n'y était pas à la base, normalement il est inutile ici, mais sais-t-on jamais ...
     
    						if( isset($_POST['critere']) && isset($_POST['ordre']) )
    						{
    							echo 'Location: Tuto.php?genre='.$_GET['genre'].'&critere='.$_POST['critere'].'&ordre='.$_POST['ordre'];
    						}
    						?>
     
    					</div>
     
    				</div> <!-- FIN MENU BLOG -->
     
     
    				<div id="liste_produit">
     
    					<?php
     
    						connectMaBase();
     
    						if( empty($_GET['genre']) )
    						{
    							echo ' <h2>Nouveauté</h2> ';
    							$sql = 'SELECT * FROM produits';							
    						}
    						else
    						{
    							echo ' <h2>'.$_GET['genre'].'</h2>';
    							$sql = 'SELECT * FROM produits WHERE genre= "'.$_GET['genre'].'" ';
     
    							if( isset($_GET['critere']) && isset($_GET['ordre']) ) // Si les deux options sont cochées
    							{
    								$sql .= ' ORDER BY '.$_GET['critere'].' '.$_GET['ordre'].'';
    								$alert = 'Bien jouer, tu as réussis à trier.';
    								echo '<p style="color:red">'.$alert.'</p>';
    							}
    							else // Si l'utilisateur n'a choisis qu'une option
    							{
    								$alert = 'Vous n\'avez pas choisis les deux options de tri.';
    								echo '<p style="color:red">'.$alert.'</p>';
    							}
    						}
     
     
    						$requete = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    						echo ' <div id="produit"> ';
    						while( $result = mysql_fetch_array( $requete ) )
    						{
    							echo ' <img src="Images/separateur.jpg" alt="" id="separateur_2" style="width: 100%;"/> <img class="img_produit" src="'.$result['image'].'" style=" width: 25%; "/> ';
    							echo ' <p class="nom_produit"> '.$result['categorie'].' : '.$result['nom'].' &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; || &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Genre : '.$result['genre'].'</p>';
    							echo ' <p class="description_produit"> '.$result['description'].' </p>';
    							echo ' <p class="pq_produit"> prix : <b>'.$result['prix'].'</b>&euro; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; quantite restante : <b>'.$result['quantite'].'</b> </p>';
    						}
     
    						echo '</div>';
    						mysql_free_result ($requete);
    					?>

  6. #6
    Membre régulier
    Homme Profil pro
    Responsable ingénierie des logiciels - Recherche alternance
    Inscrit en
    Novembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable ingénierie des logiciels - Recherche alternance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 68
    Points : 92
    Points
    92
    Par défaut
    Si je met un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo' '.$_GET['genre'].' ';
    Après le mysql_free_result (vers la fin), la variable s'affiche correctement ...

    Je comprend pas .

    Je met tout le fichier ici, parce que la je coince quelque peu ...

    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
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
     
    <!DOCTYPE html>
    <html lang="fr">
    <head> 
    <meta charset="UTF-8">
    <!-- DECLARATION DE L'EN T뵥 -->
    <!--[if lt IE 9]>
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
     <![endif]-->
    		<title> ► OpenSource : Why ? ◄ </title>
    		<link rel="stylesheet" href="css/Accueil.css"/>
     
    		<?php 
    			include("fonctions.php");
    		?>
     
    		<!-- SCRIPTS JS -->
    		<script> src="js/JS -- Prototype_1.7.2.js" </script>
    		<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> <!-- JQUERY -->
    		<script src="js/libs/audio.player.js"></script> <!-- Audio player plugin -->
    		<script src="js/libs/jquery-ui.js"></script> <!-- Audio player plugin -->
     
    	</head>
     
    <body> <!-- INDICATION DES INSTRUCTIONS COMPOSANT LE CORPS DU DOCUMENT -->
            <div id="bloc_page"> <!-- BLOC COMPRENANT LA PAGE ENTIERE  -->
                <header> <!-- HAUT DE PAGE -->
                    <div id="titre_principal"> <!-- Div (LOGO)  -->
                        <img src="Images/logo.jpg" alt="Logo de Zozor" id="logo" style="width:110px; height:88px; "/>
                        <h1>Os-Daze</h1>
                        <h2>La passion de Daze</h2>
                    </div>
     
    				<div id="lien_deco">
    					<a href="deconnexion.php"><h2>Déconnexion</h2></a>
    					<a href="Profil.php"><h2>Afficher le profil</h2></a>
    				</div>
     
                    <nav> <!-- MENU  -->
                        <ul>
                            <li><a href="Accueil.php">Accueil</a></li>
                            <li><a href="Tuto.php">Tuto</a></li>
                            <li><a href="Test.php">Test</a></li>
                            <li><a href="CV.php">CV</a></li>
                            <li><a href="Contact.php">Contact</a></li>
                        </ul>
                    </nav>
    				<hr>
                </header>
     
                <div id="bloc_produits">
    				<div id="menu-blog">
    					<ul id="menu-accordeon">
    					   <li>
    					   <a href="#">DVD</a>
    					      <ul>
    					        <li>
    								<a href="Tuto.php?genre=Action">
    								<img src="Images/fleche.png" alt="fleche" id="fleche" style="width:20px; height:20px;"/>
    								Action 
    								</a>
    							</li>
    					        <li>
    								<a href="Tuto.php?genre=Aventure">
    								<img src="Images/fleche.png" alt="fleche" id="fleche" style="width:20px; height:20px;"/>
    								Aventure
    								</a>
    							</li>
    					        <li>
    								<a href="Tuto.php?genre=Guerre">
    								<img src="Images/fleche.png" alt="fleche" id="fleche" style="width:20px; height:20px;" />
    								Guerre
    								</a>
    							</li>
    					        <li>
    								<a href="Tuto.php?genre=Thriller">
    								<img src="Images/fleche.png" alt="fleche" id="fleche" style="width:20px; height:20px;" />
    								Thriller
    								</a>
    							</li>
    					      </ul>
    					   </li>
     
    					    <li>
    						<a href="#">CD</a>
    					      <ul>
    					        <li>
    								<a href="#">
    								<img src="Images/fleche.png" alt="fleche" id="fleche" style="width:20px; height:20px;" />
    								RAP
    								</a>
    							</li>
    					        <li>
    								<a href="#">
    								<img src="Images/fleche.png" alt="fleche" id="fleche" style="width:20px; height:20px;" />
    								RNB
    								</a>
    							</li>
    					        <li>
    								<a href="#">
    								<img src="Images/fleche.png" alt="fleche" id="fleche" style="width:20px; height:20px;" />
    								Classique
    								</a>
    							</li>
    					        <li>
    								<a href="#">
    								<img src="Images/fleche.png" alt="fleche" id="fleche" style="width:20px; height:20px;" />
    								Electro
    								</a>
    							</li>
    					      </ul>
    					   </li>
    					</ul>
     
    					<div id="tri_produit">
     
    						<form action="Tuto.php" method="post">
    							<fieldset>
    								<legend><h3>Trier les produits</h3></legend>
     
    									<p> 
    									Critère <br/>
    									<label> 
    									<input type="radio" name="critere" value="nom" selected="selected"/> Nom
    									</label><br/>
    									<label> 
    									<input type="radio" name="critere" value="prix" /> Prix
    									</label><br/>
    									<label> 
    									<input type="radio" name="critere" value="recent" /> "Récent"
    									</label>
    									</p>
     
     
    									<p> 
    									Ordre<br/>
    									<label> 
    									<input type="radio" name="ordre" value="ASC" selected="selected"/> Croissant
    									</label><br/>
    									<label> 
    									<input type="radio" name="ordre" value="DESC" /> Décroissant
    									</label>
    									</p>
     
    									<input type="submit" name="trier" value="Trier" />
     
    							</fieldset>
    						</form>
    						<?php 
    						connectMaBase(); // PS : Il n'y était pas à la base, normalement il est inutile ici, mais sais-t-on jamais ...
     
    						if( isset($_POST['critere']) && isset($_POST['ordre']) )
    						{
    							echo 'Location: Tuto.php?genre='.$_GET['genre'].'&critere='.$_POST['critere'].'&ordre='.$_POST['ordre'];
    						}
    						?>
     
    					</div>
     
    				</div> <!-- FIN MENU BLOG -->
     
     
    				<div id="liste_produit">
     
    					<?php
     
    						connectMaBase();
     
    						if( empty($_GET['genre']) )
    						{
    							echo ' <h2>Nouveauté</h2> ';
    							$sql = 'SELECT * FROM produits';							
    						}
    						else
    						{
    							echo ' <h2>'.$_GET['genre'].'</h2>';
    							$sql = 'SELECT * FROM produits WHERE genre="'.$_GET['genre'].'"';
     
    							if( isset($_GET['critere']) && isset($_GET['ordre']) ) 
    							{
    								$sql .= ' ORDER BY '.$_GET['critere'].' '.$_GET['ordre'].'';
    								$alert = 'Bien jouer, tu as réussis à trier.';
    								echo '<p style="color:red">'.$alert.'</p>';
    							}
    							else 
    							{
    								$alert = 'Vous n\'avez pas choisis les deux options de tri.';
    								echo '<p style="color:red">'.$alert.'</p>';
    							}
    						}
     
     
    						$requete = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    						echo ' <div id="produit"> ';
    						while( $result = mysql_fetch_array( $requete ) )
    						{
    							echo ' <img src="Images/separateur.jpg" alt="" id="separateur_2" style="width: 100%;"/> <img class="img_produit" src="'.$result['image'].'" style=" width: 25%; "/> ';
    							echo ' <p class="nom_produit"> '.$result['categorie'].' : '.$result['nom'].' &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; || &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Genre : '.$result['genre'].'</p>';
    							echo ' <p class="description_produit"> '.$result['description'].' </p>';
    							echo ' <p class="pq_produit"> prix : <b>'.$result['prix'].'</b>&euro; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; quantite restante : <b>'.$result['quantite'].'</b> </p>';
    						}
     
    						echo '</div>';
    						mysql_free_result ($requete);
    						echo' '.$_GET['genre'].' ';
    					?>
     
    				</div>
     
    			</div>
     
     
                <footer> <!-- PIED DE PAGE -->	
     
    				<div id="music">
    				<h3> Musique du jour : " Two Steps From Hell "</h3>
    					<p><audio preload="auto" controls>
    					<source src="Musiques/Two Steps from Hell - Protectors of the Earth.mp3" type="audio/mp3" />
    					<source src="Musiques/Two Steps from Hell - Protectors of the Earth.ogg" type="audio/ogg" />
    					Your browser does not support the audio element.
    					</audio> </p>
     
    					<script>
    					$( function()
    					{
    						$( 'audio' ).audioPlayer(
    						{
    							classPrefix: 'audioplayer', // De loin le plus important, il s'agit du nom de la classe parente de tout le player, ainsi que le prꧩxe des autres classes du player, utile dans le cas de multiples players aux allures diff곥ntes
    							strPlay: 'Play', // Il s'agit du titre du bouton "Play", vous pouvez très bien le changer en "Lecture"
    							strPause: 'Pause', // Le titre du bouton "Pause"
    							strVolume: 'Volume' // Le titre du bouton "Volume"
    						});
    					});
    					</script>
     
                    </div>
     
                    <div id="tweet"> <!-- BLOC 1 -->
                        <h1>Mon dernier tweet</h1>
                        <p>Hii haaaaaan !</p>
                        <p>le 12 mai 13h12</p>
    				</div>
     
                    <div id="mes_photos"> <!-- BLOC 2 -->
                        <h1>Mes photos</h1>
                        <p> 
    					<img src="Images/photo1.jpg" alt="Photographie" style="width:90px; height:90px; "/>
    					<img src="Images/photo12.jpg" alt="Photographie" style="width:90px; height:90px; "/>
    					<img src="Images/background.jpg" alt="Photographie" style="width:90px; height:90px; "/></p>
                    </div>
     
                    <div id="mes_amis"> <!-- BLOC 3 -->
                        <h1>Mes amis</h1>
                        <ul>
                            <li><a href="#">Pupi le lapin</a></li>
                            <li><a href="#">Mr Baobab</a></li>
                            <li><a href="#">Kaiwaii</a></li>
                            <li><a href="#">Perceval.eu</a></li>
                        </ul>
                        <ul>
                            <li><a href="#">Belette</a></li>
                            <li><a href="#">Le concombre masqué</a></li>
                            <li><a href="#">Ptit prince</a></li>
                            <li><a href="#">Mr Fan</a></li>
                        </ul>
                    </div>
    				<hr>
    				<div id="copy">Daze_Passion.com  --   Copyright @ 2014</div>
                </footer>
            </div> <!-- Fin du BLOC PAGE -->
    </body>
    </html>
    L'erreur doit vraiment être extrêmement stupide si ça ne change pas de mes habitudes
    Non plus sérieusement c'est quand même bizarre ...

  7. #7
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu utilises $_GET['genre'] ligne 154 sans savoir si elle existe ou non.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre régulier
    Homme Profil pro
    Responsable ingénierie des logiciels - Recherche alternance
    Inscrit en
    Novembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable ingénierie des logiciels - Recherche alternance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 68
    Points : 92
    Points
    92
    Par défaut
    Oui j'ai vue ça, j'ai modifié entre-temps, cependant le résultat reste le même.

  9. #9
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Montre nous le code corrigé alors.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre régulier
    Homme Profil pro
    Responsable ingénierie des logiciels - Recherche alternance
    Inscrit en
    Novembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable ingénierie des logiciels - Recherche alternance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 68
    Points : 92
    Points
    92
    Par défaut
    J'ai seulement modifié la ligne indiqué :

    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
     
    									<input type="submit" name="trier" value="Trier"/>
     
    							</fieldset>
    						</form>
    						<?php 
    						connectMaBase(); // PS : Il n'y était pas à la base, normalement il est inutile ici, mais sais-t-on jamais ...
     
    						if( isset($_POST['critere']) && isset($_POST['ordre']) && isset($_GET['genre']) )
    						{
    							echo 'Location: Tuto.php?genre='.$_GET['genre'].'&critere='.$_POST['critere'].'&ordre='.$_POST['ordre'];
    						}
    						?>
    					</div>
     
    				</div> <!-- FIN MENU BLOG -->
    Jusqu'ici le seul changement notable est le fait qu'il n'affiche pas le message(echo).
    Donc j'en déduit qu'il ne passe pas dans la boucle à cause isset($_GET['genre']).

    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
     
    									<input type="submit" name="trier" value="Trier"/>
     
    							</fieldset>
    						</form>
    						<?php 
    						connectMaBase(); // PS : Il n'y était pas à la base, normalement il est inutile ici, mais sais-t-on jamais ...
     
    						if( isset($_POST['critere']) && isset($_POST['ordre']) && isset($_GET['genre']) )
    						{
    							header('Location: Tuto.php?genre='.$_GET['genre'].'&critere='.$_POST['critere'].'&ordre='.$_POST['ordre']);
    						}
    						?>
    					</div>
     
    				</div> <!-- FIN MENU BLOG -->
    Même constat en remplacent le echo par un header, il rafraichit seulement la page.

    PS : le message d'erreur à disparu, mais bon le problème reste le même

  11. #11
    Membre régulier
    Homme Profil pro
    Responsable ingénierie des logiciels - Recherche alternance
    Inscrit en
    Novembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable ingénierie des logiciels - Recherche alternance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 68
    Points : 92
    Points
    92
    Par défaut
    J'ai essayé de cette manière sans succès ...
    Le else ajouté sur "if" me confirme bien que tant je n'ai pas demandé le form, $_GET['genre'] n'est pas vide et a la bonne valeur.
    Par contre quand je valide les boutons, ça ne réagis pas comme souhaité

    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
     
    									<input type="submit" name="trier" value="Trier"/>
     
    							</fieldset>
    						</form>
    						<?php 
    						connectMaBase(); // PS : Il n'y était pas à la base, normalement il est inutile ici, mais sais-t-on jamais ...
     
    						if( isset($_POST['critere']) && isset($_POST['ordre']) && !empty($_GET['genre']) )
    						{
    							echo 'Location: Tuto.php?genre='.$_GET['genre'].'&critere='.$_POST['critere'].'&ordre='.$_POST['ordre'];
    						}
    						else
    						{
    								echo' '.$_GET['genre'].' ';
    						}
    						?>
    					</div>
     
    				</div> <!-- FIN MENU BLOG -->
    PS : Si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_GET['genre']='Action';
    juste avant le "if" en question tout marche comme souhaité ...

  12. #12
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    $_GET['genre'] n'existe pas quand tu valides le formulaire, tu arrives directement sur tuto.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre régulier
    Homme Profil pro
    Responsable ingénierie des logiciels - Recherche alternance
    Inscrit en
    Novembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable ingénierie des logiciels - Recherche alternance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 68
    Points : 92
    Points
    92
    Par défaut
    Ah c'est bon ! Je crois du coup voir où la merde merci.

    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
     
    					<div id="tri_produit">
     
    						<form action="Tuto.php" method="post"> <!-- Form action vicieux comme tout !!! -->
    							<fieldset>
    								<legend><h3>Trier les produits</h3></legend>
     
    									<p> 
    									Critère <br/>
    									<label> 
    									<input type="radio" name="critere" value="nom" selected="selected"/> Nom
    									</label><br/>
    									<label> 
    									<input type="radio" name="critere" value="prix" /> Prix
    									</label><br/>
    									<label> 
    									<input type="radio" name="critere" value="" /> "Récent"
    									</label>
    									</p>
    Merci beaucoup, il suffit tout bêtement d'enlever le .
    Perdre autant de temps là-dessus , désespérant .

    J'ai un don pour faire des erreurs royalement maladroite ... incontestablement le maître en la matière .
    En tout cas merci sabotage !!

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

Discussions similaires

  1. Paramètres dans un header location
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 26/05/2014, 14h15
  2. Réponses: 2
    Dernier message: 16/09/2013, 11h06
  3. ancre html ne marche pas dans header location
    Par hammag dans le forum Langage
    Réponses: 2
    Dernier message: 01/07/2009, 16h42
  4. header("Location: ...") dans un nouvel onglet
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 21/04/2008, 19h26
  5. Variable $_POST dans header('Location:index.php')
    Par adr22 dans le forum Langage
    Réponses: 2
    Dernier message: 02/04/2008, 12h59

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