variables superglobales $_POST

Eléphant du PHP | 51 Messages

09 juil. 2007, 14:16

Bonjour j'ai une page avec un form $_POST pour une raison que j'ignore les valeurs sont stocker dans l'url alors que se ne devrait pas êtres le cas pouvez vous me donner une explication SVP

Merci d'avance
Il y a ceux qui pensent, Il y a ceux qui croient et Il y a ceux qui doutent. Je pense que je crois que je doute. :-k
Image

Mammouth du PHP | 959 Messages

09 juil. 2007, 14:30

montre nous ton code, sinon, on peut pas trop t'aider.... :)

Eléphant du PHP | 51 Messages

09 juil. 2007, 14:46

désoler je penser que dans le cas présent le code n'étais pas nécessaire
je te la xsl ou il y a les checkbox

page xsl

Code : Tout sélectionner

<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="ISO-8859-1" doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/strict.dtd" indent="yes" /> <xsl:template match="/"> <html> <head> <title>Paramétrage</title> <link href="setup.css" rel="stylesheet" type="text/css"/> </head> <body class="i-fond"> <img src="h_logo.gif"/> <center><span class="h-stitre"><b>Bienvenue dans la console de paramétrage</b></span></center> <br /><hr /><br /> <form action="valider_para.php" methode="POST"> <!--Sélection des paramétres--> <center><span class="h-stitre"><b>PARTENAIRES</b></span></center><br /> <center><table border="2" cellpadding="2" bordercolor="#0084BD"> <xsl:for-each select="parametrage/partenaires/partenaire"> <tr><td><input name="case" type="checkbox" value="{nom}"> <xsl:attribute name="id"><xsl:value-of select="nom"/></xsl:attribute> </input> <span class="h-stitre"><b><xsl:value-of select="nom"/></b></span></td></tr> </xsl:for-each> </table></center> <br /><hr /><br /> <center><span class="h-stitre"><b>FLUX</b></span></center><br /> <center><table border="2" cellpadding="2" bordercolor="#0084BD"> <xsl:for-each select="parametrage/nflux/flux"> <tr><td><input name="case" type="checkbox" value="{nom}"> <xsl:attribute name="id"><xsl:value-of select="nom"/></xsl:attribute> </input> <span class="h-stitre"><b><xsl:value-of select="nom"/></b></span></td></tr> </xsl:for-each> </table></center> <br /><hr /><br /> <!--Bouton de validation et d'annulation--> <center><input class="h-bout" style='cursor:pointer' this.style.cursor='pointer' type="submit" value="Valider"></input> <input class="h-bout" style='cursor:pointer' this.style.cursor='pointer' type="button" value="Annuler" onClick="javascript:location.href='install_ini.php';"/></center> </form> <a href="http://www.monsite.fr/" target="about:blank"><img src="h_logo_asp-one.gif" align="right" border="0"/></a> </body> </html> </xsl:template> </xsl:stylesheet>
page de resultat PHP
<html>
<head>
	<title>Validation des paramétres</title>
	<link href="setup.css" rel="stylesheet" type="text/css"/>
</head>
	<body class="i-fond">
	<img src="h_logo.gif">
			<form method="POST" ACTION="para_install.php">
			<input type="hidden" name="actions" 	value="install">		
				<center><span class="h-stitre"><b>Console de validation des paramétres</b></span></center><br><hr><br>	
				
			<input type="hidden" name='case'
				<center><span class="h-stitre"><b><?php
					$nom=array();
					$link=array();
					//vérification de la sélection
					if(isset($_POST['case']))
					{
						echo ("Vous allez installer les partenaires et les flux suivant :");
				?></b></span></center><br>
				<center><span class="h-stitre"><b><?php
						for ($i = 0, $c = count ($_POST['case']); $i < $c; $i++)
						{
							echo ($nom[$_POST['case'][$i]]);
				?></b></span></center><br>
				<center><span class="h-stitre"><b><?php
							$link[$i]=$chemin.$nom[$_POST['case'][$i]].'.xml';
							echo ($link[$i]);
						}
				?>
				</b></span></center><br>
				<!--affichage des bouttons de validation et d'annulation-->
				<center><input class=h-bout style='cursor:pointer' this.style.cursor='pointer' type=button value="Installer" onClick="javascript:document.filtre.submit();">
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
				<input class="h-bout" style='cursor:pointer' this.style.cursor='pointer' type="button" value="Retour" onClick="javascript:location.href='para.php';"/></center>
				<center><span class="h-stitre"><b><?php
					}
					else
					{
						echo ("Vous n'avez rien sélectionner !");
				?></b></span></center><br>
				<!--affichage du boutton d'annulation-->
				<center><input class="h-bout" style='cursor:pointer' this.style.cursor='pointer' type="button" value="Retour" onClick="javascript:location.href='para.php';"/></center>
				<?php
					}
				?>
			</form>
	<a href="http://www.monsite.fr/" target="about:blank"><img src="h_logo_asp-one.gif" align="right" border="0"/></a>
	</body>
</html>
Il y a ceux qui pensent, Il y a ceux qui croient et Il y a ceux qui doutent. Je pense que je crois que je doute. :-k
Image

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

09 juil. 2007, 14:58

L'attribut du formulaire c'est "method" et pas "methode" :) du coup en l'absence de "method" c'est la valeur GET qui est utilisé par défaut ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

09 juil. 2007, 15:07

Joli coup d'oeil Ryle =D>
Comme quoi, le code, toujours le code ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 51 Messages

09 juil. 2007, 15:10

:oops: heu merci
Pour un 'e' que je n’avais pas vu #-o |*() mais malheureusement j'ai toujours un problème la ou les
Valeurs sélectionner ne s'affiche pas pourquoi
Il y a ceux qui pensent, Il y a ceux qui croient et Il y a ceux qui doutent. Je pense que je crois que je doute. :-k
Image

Mammouth du PHP | 959 Messages

09 juil. 2007, 15:14

nan ! il n'y a pas de 'e' Ryle !
sa toujours été

Code : Tout sélectionner

method="post ou get"
:) et je l'afirme :D :lol:

Eléphant du PHP | 51 Messages

09 juil. 2007, 15:20

nan ! il n'y a pas de 'e' Ryle !
sa toujours été

Code : Tout sélectionner

method="post ou get"
:) et je l'afirme :D :lol:
Dans ce cas explique moi pourquoi j'avais les valeurs sélectionner dans l'url a causse de se 'e'
Il y a ceux qui pensent, Il y a ceux qui croient et Il y a ceux qui doutent. Je pense que je crois que je doute. :-k
Image

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

09 juil. 2007, 15:20

@Garth : si tu veux obtenir un tableau contenant les valeurs des différentes cases qui ont été cochées, il te faut ajouter des crochets dans le nom de la checkbox, sans quoi tu n'auras qu'une seule valeur (celle de du dernier élément du formulaire portant ce nom) :

Code : Tout sélectionner

<input name="case[]" type="checkbox" value="{nom}"> ... </input>
@chrislabricole : lol c'est justement son erreur... relis ma phrase et regarde ou est la négation, tu verras que c'est bien ce que je lui indique ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 51 Messages

09 juil. 2007, 15:34

:evil: pourquoi il a fallu que je récrive mon code en dynamique il marché très bien couin
merci a vous deux :D
Il y a ceux qui pensent, Il y a ceux qui croient et Il y a ceux qui doutent. Je pense que je crois que je doute. :-k
Image