récupération de variable de formulaire ?

x@v
Mammouth du PHP | 570 Messages

27 avr. 2008, 12:37

Bonjour,
j'essaie de récupérer en vain mes variables.
<form action="controlleur.php" method="GET">
	<input type="hidden" name="ajoutProduitForm" value="ajout" />
	<input type="hidden" name="cat" value="<?php echo $_SESSION['idCategorie'];?>" />
	<input type="hidden" name="id" value="<?php echo $id;?>" />
	<select name="<?php echo 'nombreId';?>">
		<?php for($i=1; $i<=20; $i++)
			echo '<option value="'.$i.'">'.$i.'</option>';?>
	</select>
	<input type="submit" value="Ajouter" />
</form>
Récupération des variables :
dans l'ordre mon formulaire me rend cette chaine.
http://localhost/mvc/controlleur.php?aj ... nombreId=1
ce qui me convient. Mais je n'arrive pas à les imprimés pourtant
echo 'sssss';
cette chaine s'affiche
if (isset($ajoutProduitForm)) 
{
	if (isset($_GET['cat'])) 
	{
		if (isset($_GET['id']))
		{
			echo 'sssss';
			$_GET['id']=$id;
			$_GET['nombreId']=$nombreId;
			echo $_GET['id'].$id.'<br>';
			echo $_GET['nombreId'].$nombreId;
			if(isset($_GET[$nombreId]))
			{
				$caddie[$id]=0;
				$caddie[$id]+=$_GET[$nombreId];
			}
			else
				$caddie[$id] += $_GET[$nombreId];
			$_SESSION['caddie'] = $caddie;
		}
	}
	//echo $_GET['id'].'<br>';
	//echo $_GET['nombreId'];
	//include('./produit.php');
}
Bien ami[calm]ent

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

27 avr. 2008, 12:47

Selon toi, lorsque tu fais
$_GET['id']=$id;
Est-ce la valeur de $_GET['id'] que tu affectes à la variable $id ? ou bien est-ce la valeur de la variable $id (qui n'est à priori pas définie donc vide) que tu affectes à $_GET['id'] ? ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 1668 Messages

27 avr. 2008, 12:53

Répond : combient tu as bût de bouteil depusi ce matin :wink: Ment pas ça se voit tu programme à l'envers :p
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

x@v
Mammouth du PHP | 570 Messages

27 avr. 2008, 13:04

Je ne savais pas qu'on devait affecter une variable de droite à gauche !
Merci
Par contre je me retrouve devant un problème insoluble (dans ma marre de café ;))
j'ai un formulaire qui doit récupérer le résultat en passant par une autre page, pour notamment afficher la valeur de mon caddie instantanément, ce qui qui de cette manière ne fonctionnait pas
visible ici
http://developpus.com/mvc/controlleur.p ... =categorie
	// ajoute un formulaire avec le nom et nombre d'article comme variable, grenade comme le fruit ;)
	public function setFormulaireAjout($nombreGrenade, $grenade)
	{
		if (isset($_GET[$grenade]))
		{
			if(isset($_GET[$nombreGrenade]))
			{
				$this->caddie[$grenade]=0;
				$this->caddie[$grenade]+=$_GET[$nombreGrenade];
			}
			else
				$this->caddie[$grenade] += $_GET[$nombreGrenade];
			$_SESSION['caddie'] = $this->caddie;
		}?>
		<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="GET">
			<input type="hidden" name="cat" value="<?php echo $_SESSION['idCategorie'];?>" />
			<?php //echo 'Nombre de '.$grenade;?>
			<select name="<?php echo $nombreGrenade;?>">
				<?php for($i=1; $i<=20; $i++)
					echo '<option value="'.$i.'">'.$i.'</option>';?>
			</select>
			<input type="hidden" name="<?php echo $grenade;?>" value="<?php echo $grenade;?>" />
			<input type="submit" />
		</form><?php
	}
Alors je vouvrai pouvoir passer par une sorte de controlleur, mais comme je ne connais pas le nom de mes variables, je coince.
	public function testFormulaireAjout($nombreGrenade, $grenade)
	{?>
		<form action="controlleur.php" method="GET">
			<input type="hidden" name="cat" value="<?php echo $_SESSION['idCategorie'];?>" />
			<?php //echo 'Nombre de '.$grenade;?>
			<select name="<?php echo $nombreGrenade;?>">
				<?php for($i=1; $i<=20; $i++)
					echo '<option value="'.$i.'">'.$i.'</option>';?>
			</select>
			<input type="hidden" name="<?php echo $grenade;?>" value="<?php echo $grenade;?>" />
			<input type="submit" />
		</form><?php
	}
	public function testFormul($nombreGrenade, $grenade)
	{
		if (isset($_GET[$grenade]))
		{
			if(isset($_GET[$nombreGrenade]))
			{
				$this->caddie[$grenade]=0;
				$this->caddie[$grenade]+=$_GET[$nombreGrenade];
			}
			else
				$this->caddie[$grenade] += $_GET[$nombreGrenade];
			$_SESSION['caddie'] = $this->caddie;
		}
	}
EDIT
j'ai réglé une partie du problème en faisant une méthode pour afficher ma session
	public function getQuantitePanierProduit()
	{
		if (isset($_GET['cat']) )
		{
			if (isset($_SESSION['caddie']) || !empty($_SESSION['caddie']) || $_SESSION['caddie'] != 0)
			{?>
				Vous avez <?php
				foreach ($_SESSION['caddie'] as $idSession => $quantite)
					$quantiteTotal+=$quantite;
				if ($quantiteTotal != 1)
				{
					echo $quantiteTotal;?>
					articles<br /><a href="./controlleur.php?detruitSession=destruction">vider le panier</a><?php
				}
				else
				{
					echo $quantiteTotal;?>
					article<br /><a href="./controlleur.php?detruitSession=destruction">vider le panier</a><?php
				}
			}
			else
				echo 'Panier vide';
		}
	}
Le problème c'est que je n'arrive pas à effacer entièrement la session
http://developpus.com/mvc/produit.php?cat=1
il refuse d'effacer mon dernier article insérer ?
dans la page controlleur ces un simples test
if (isset($detruitSession) && !empty($detruitSession))
{
	session_destroy();
	header('Location:'.$_SERVER['HTTP_REFERER']);
}
A vrai dire je détruit la session et je me demande comment je peux encore avoir le dernier enregistrment dans ma session ?
Merci ;)

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 avr. 2008, 22:52

Je ne savais pas qu'on devait affecter une variable de droite à gauche !
C'est une blague ? :P

x@v
Mammouth du PHP | 570 Messages

28 avr. 2008, 10:48

J'écris de gauche à droite naturellement et pas acquis, sans avoir réfléchis sur la règle d'écriture je l'appliquait aux langages informatiques.
Pour preuve, combien de principe croient ont connaître et le moment venu en oublié même leurs existence, pour en revenir à cet instinct propre à l'homme et d'établir une règle à un problème impromptu qui pourtant à mon grand désarroi à été mûrement réfléchis.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 avr. 2008, 11:11

Wow, après 3 lectures je renonce à comprendre ta dernière phrase :)

En fait que le sens d'affectation ne soit pas une évidence ne me choque pas, par contre que tu ne le connaisses pas mais que tu possèdes un site web sur lequel tu proposes des prestations professionnelles, notamment de développement PHP et J2EE me surprend :roll:

x@v
Mammouth du PHP | 570 Messages

28 avr. 2008, 11:22

Code : Tout sélectionner

Wow, après 3 lectures je renonce à comprendre ta dernière phrase Smile En fait que le sens d'affectation ne soit pas une évidence ne me choque pas, par contre que tu ne le connaisses pas mais que tu possèdes un site web sur lequel tu proposes des prestations professionnelles, notamment de développement PHP et J2EE me surprend
Si tu renonces à comprendre comment peut tu répondre comme ça ?
Pour ma part la maturité est une perpétuelle suprise, alors une règle de syntaxe, bah...

Pour le j2ee j'ai suivis une formation qui appuie mes éventuelles recherche, mais à quoi bon me justifier si tu renonces à lire et excuse moi de me défendre.
Modifié en dernier par x@v le 28 avr. 2008, 11:37, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 avr. 2008, 11:35

Je peux répondre ça parceque proposer des prestations facturées de développement dit professionnel, sans connaître la sens d'affectation des variables, qui est le PREMIER truc que l'on apprend, me paraît tout simplement incroyable... les règles de syntaxe c'est un peu le b-a ba du code, tu peux philosopher dessus ça ne changera pas les choses :)

x@v
Mammouth du PHP | 570 Messages

28 avr. 2008, 11:45

Je vend ce que je crois être des compétences,
Ne t'empales pas dans l'amertume, je cherche du boulôt.
Que tu considères que je dois surtout pas taper dans un clavier, je l'ai compris, si, si.
quoi qu'on rigole bien, ne te met pas en boule pour si peu, c'est pas grand chose après tout, j'ai toute la vie pour apprendre l'affection d'une variable ;)
Ps: tu n'es pas un fameux bretteur, tout au plus un enfant et je te conseil de cesser t'es attaques puérils et dénué de fondement, merci

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 avr. 2008, 11:55

Oh je ne suis pas en boule, je ne considère rien du tout et je n'attaque pas, je m'étonne simplement.

Par contre ton PS est stupide, je ne suis pas un enfant (je ne crois pas qu'on se connaisse d'ailleurs) et mon étonnement n'est certainement pas puéril ni dénué de fondement. Je trouve légitime de s'interroger sur la capacité de quelqu'un à produire du travail sérieux alors qu'il ne connait pas ce genre de choses (l'affectation de variables et les boucles/tests sont un peu les fondations du code hein)

Malgré ton conseil donc, je maintiens ma position sceptique concernant ce que tu "crois être tes compétences". Je me trompe peut-être après tout, mais en tout cas ce ne sont pas tes explications tarabiscotées qui pourraient me faire changer d'avis.

x@v
Mammouth du PHP | 570 Messages

28 avr. 2008, 12:02

Ce sont des attaques parce que tu persistes cette phrase, explique que je le savait par acquis, c'est à dire naturellement et qu'on apprends pas quelque chose de naturel.

Code : Tout sélectionner

J'écris de gauche à droite naturellement et pas [b]acquis[/b], sans avoir réfléchis sur la règle d'écriture je l'appliquait aux langages informatiques.
Sa rentre !

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 avr. 2008, 12:34

Mince, comment on fait les autres alors :lol:

Bon c'est pas grave on va pas débattre des heures, si tu t'en sors tant mieux pour toi.

ViPHP
ViPHP | 5924 Messages

28 avr. 2008, 14:14

ouckileou, je te plussoie à 100% :-/

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

28 avr. 2008, 16:17

Modération :
Merci de rester dans le sujet et de poursuivre vos digressions en privé si le coeur vous en dit...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...