Récup' variables

Louyii -  
louloute300 Messages postés 347 Statut Membre -
Bonjour,

J'ai un formulaire en Html et je souhaite faire afficher les variables dans un code php.
Est-ce possible ?

Merci

17 réponses

Breub62 Messages postés 3452 Statut Membre 369
 
Oulala très compliqué voir impossible...

Regarde quand même ça dès fois que ;-)

https://apprendre-php.com/tutoriels/tutoriel-12-traitement-des-formulaires-avec-get-et-post.html
0
Louyii
 
Merci de ta réponse rapide ;)

Si c'est compliqué avec du php, c'est possible de récupérer des variables en restant dans Html ?
0
Breub62 Messages postés 3452 Statut Membre 369
 
Non je plaisante ce n'est pas du tout compliqué, ne t'en fais pas. Par contre en html, je ne crois pas que tu puisse traiter des variables. Regarde le lien que je t'ai donné sur les GET et les POST, si tu as des questions je suis là.

Bon courage...
0
Louyii
 
lol c'est gentil ;)

J'ai fait une chose à peu près pareil que le site que tu m'as donné mais rien ne s'affiche, je comprends pas pourquoi il ne veut pas prendre les variables :s
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Breub62 Messages postés 3452 Statut Membre 369
 
Fais moi voir ce que tu as fait (ta page html qui contient le formulaire ainsi que ta page php où tu récupère tes variables...)
0
louloute300 Messages postés 347 Statut Membre 29
 
voila un code type (le plus simplifié possible):

<?

$var=isset($_POST['donnee1'])?$_POST['donnee1']:"";

echo '<html><body><form name="form1" method="post">';
echo '<input type=text name="donnee1" value='.$var.'>';
echo '<input type=submit value="Envoyer le formulaire">';
echo '</form></body></html>';

?>
0
Breub62 Messages postés 3452 Statut Membre 369
 
$var=isset($_POST['donnee1'])?$_POST['donnee1']:"";

Je pense qu'on peut trouver plus simple que ça pour commencer... ;-)
0
louloute300 Messages postés 347 Statut Membre 29
 
C'est juste un code qui permet de diminuer le nb d'erreur...
Alors, oui, il parait compliquer, mais en application, il est plus que fiable...

PS: C'est le seul truc compliqué dans le code énoncé
0
Louyii
 
Mercii ;)

Voici mon code :

1/Partie en Html:
<input type="hidden" name="variable" value=""><b><font SIZE="4" COLOR="Orange">Variable :</font></b>
<input hidden type='radio' name="variable" value='Nombre de Colliers'onfocus="javascript:visibilite_variable('traitement'); return false;">
<font COLOR="White">Nombre de Colliers</font>
<input hidden type='radio' name="variable" value="Nombre de Bracelets"onfocus="javascript:visibilite_variable('traitement'); return false;">
<font COLOR="White">Nombre de Bracelets</font>

2/Partie en Php:
<?php
$var=isset($_POST['variable'])?$_POST['variable']:"";

$var = $_POST['variable'];
echo "affichage : ",$var;
?>

Rien ne s'affiche, alors que je voudrais que Nombre de Colliers et Nombre de Bracelets s'affichent...

Tu comprends ce que je veux dire ?

Merci en tout cas ;)
0
Breub62 Messages postés 3452 Statut Membre 369
 
Tu n'utilise pas de form...
0
Louyii
 
Ah si, dsl !
En fait les 2 parties je les ai entourée d'un form comme ça :

<form action="Resultats.php" target="_blank" method="POST">
1/Partie Html
2/Partie Php
</form>

Il faut en mettre un autre dans la partie Php ??
0
Breub62 Messages postés 3452 Statut Membre 369
 
Voici un exemple simple :


if(!isset($_POST['OK']))
{
    echo "<form method=post>
               Variable :  <input type=text name='variable' />
               <input type=submit name='OK' value='OK' />
             </form>";
}
else
{
    echo "variable = ".$_POST['variable'];
}






Voila qui devrait marcher...
0
Louyii
 
Quand je clique sur mes boutons radio et qu'à ce moment là, je veux que la variable (nom du bouton) s'affiche, c'est le même code ??

Je clique sur Nombre de Colliers et je veux qu'il s'affiche "Nombre de Colliers" en bas...
0
Breub62 Messages postés 3452 Statut Membre 369
 
Absolument mais il faut que tu renseigne correctement ton champs radio :
Nombre de Colliers <input type=radio name='a' value='Nombre de Colliers' />
Nombre de bagues <input type=radio name='a' value='Nombre de bagues' />

Note que le nom doit être le même si tu veux que ça fonctionne
0
Louyii
 
Pourtant c'est bien ce que j'ai fait dans ma partie Html :s

<input hidden type='radio' name="variable" value="Nombre de Colliers">
<font COLOR="White">Nombre de Colliers</font>
<input hidden type='radio' name="variable" value="Nombre de Bracelets">
<font COLOR="White">Nombre de Bracelets</font>

Puis dans Php j'ai ms ça :

echo "variable = ".$_POST['variable'];

Mais ça n'affiche que "variable="
0
Breub62 Messages postés 3452 Statut Membre 369
 
pourquoi mettre un hidden?

Le hidden est un type d'input qui sert à transmettre une variable sans intervention de l'utilisateur...

En enlevant les hidden ça devrait marcher
0
Louyii
 
J'en ai besoin pour afficher les traitements sur une autre page qui se connecte à une base de données et transmet des statistiques grâce à la sélection du formulaire
0
Breub62 Messages postés 3452 Statut Membre 369
 
Non, tu ne peux pas avoir besoin de quelque chose qui n'existe pas...

Quand tu poste un formulaire les infos sont toujours transmises à la page que tu as mis dans l'action de ton form... ;-)
0
Louyii
 
Okii merci je les ai enlevé mais ça ne change rien :s
0
Breub62 Messages postés 3452 Statut Membre 369
 
Fais voir l'intégralité de ton code
0
Louyii
 
<html>

<script> <!-- permet de cacher les traitements non sélectionnés et de réinitialiser la page à chaque sélection-->
function visibilite_variable(thingId)
{
document.getElementById('traitement').style.display = 'none';

if(document.getElementById(thingId))
document.getElementById(thingId).style.display='';
}
</script>

<body>

<form action="Resultats.php" target="_blank" method="POST">

<b><font SIZE="4" COLOR="Orange">Variable :</font></b>
<input type='radio' name="variable" value="Nombre de Colliers" onfocus="javascript:visibilite_variable('traitement'); return false;">
<font COLOR="White">Nombre de Colliers</font>
<input type='radio' name="variable" value="Nombre de Bracelets" onfocus="javascript:visibilite_variable('traitement'); return false;">
<font COLOR="White">Nombre de Bracelets</font>

<?php
$var = $_POST['variable'];
echo "var : ",$var;
?>

<b><font SIZE="4" COLOR="Orange">Traitement :</font></b>
<input type='radio' name="traitement" value="Ventes Janvier<?php echo ($var); ?>">
<font COLOR="White">Ventes Janvier <?php echo ($var); ?></font>
<input type='radio' name="traitement" value="Ventes Février<?php echo ($var); ?>">
<font COLOR="White">Ventes Février<?php echo ($var); ?></font>

<input type='submit' name='submit' value='Valider'title="Résultat"/>

</form>
</body>
</html>

Je cherche à récupérer les variables car quand je clique sur le bouton radio Nombre de Colliers je veux qu'il s'ajoute quand le traitement s'affiche, comme par exemple "Ventes Janvier Nombre de Colliers" et "Ventes Février Nombre de Colliers" et inversement lorsque je clique sur Nombre de Bracelets.

Ça m'éviterait aussi d'écrire un traitement pour chacune des 2 variables... donc ça permettrait d'alléger le code ;)
0
Breub62 Messages postés 3452 Statut Membre 369
 
Essaye ça ~

<html>

<script> <!-- permet de cacher les traitements non sélectionnés et de réinitialiser la page à chaque sélection-->
function visibilite_variable(thingId)
{
document.getElementById('traitement').style.display = 'none';

if(document.getElementById(thingId))
document.getElementById(thingId).style.display='';
}
</script>

<body>

<form method="POST">

<b><font SIZE="4" COLOR="Orange">Variable :</font></b>
<input type='radio' name="variable" value="Nombre de Colliers" onfocus="javascript:visibilite_variable('traitement'); return false;">
<font COLOR="White">Nombre de Colliers</font>
<input type='radio' name="variable" value="Nombre de Bracelets" onfocus="javascript:visibilite_variable('traitement'); return false;">
<font COLOR="White">Nombre de Bracelets</font>

<?php

if(isset($_POST['Valider'])
{
$var = $_POST['variable'];
echo "var : ",$var;

?>

<b><font SIZE="4" COLOR="Orange">Traitement :</font></b>
<input type='radio' name="traitement" value="Ventes Janvier<?php echo ($var); ?>">
<font COLOR="White">Ventes Janvier <?php echo ($var); ?></font>
<input type='radio' name="traitement" value="Ventes Février<?php echo ($var); ?>">
<font COLOR="White">Ventes Février<?php echo ($var); ?></font>


<?php

}

?>


<input type='submit' name='submit' value='Valider' title="Résultat"/>

</form>
</body>
</html> 


0
Louyii
 
La page ne s'affiche plus et m'inscrit une erreur :
Parse error: parse error, unexpected '{' in C:\wamp\www\Artichow-php5\Site.php on line 128

A cause de :
<?php

if(isset($_POST['Valider'])
{
$var = $_POST['variable'];
echo "var : ",$var;

?>

traitement...

<?php
}
?>
0
Breub62 Messages postés 3452 Statut Membre 369
 
excuse j'ai oublié une parenthèse après if(isset($_POST['Valider'])

il faut mettre if(isset($_POST['Valider']))
0
Louyii
 
Merci !!

La page s'affiche mais dès que je sélectionne Nombre de Colliers ou Nombre de Bracelets, les traitements ne s'affichent plus en suivant comme avant(Ventes Janvier, Ventes Février)...

J'ai essayé d'afficher echo $var; mais toujours rien... je ne comprends vraiment pas :(
0
Breub62 Messages postés 3452 Statut Membre 369
 
<html>

<head>
	<title>exemple</title>
</head>

<body>
<form method=POST>

<?php

if(isset($_POST['submit']))
{
	$var = $_POST['variable'];
	
	if($var == 'Nombre de Colliers')
	{
		echo "
		<b><font SIZE=4 COLOR='Orange'>Variable :</font></b>
		<input type='radio' name='variable' value='Nombre de Colliers' selected='selected' />
		<font>Nombre de Colliers</font>
		<input type='radio' name='variable' value='Nombre de Bracelets'>
		<font>Nombre de Bracelets</font>";
	}
	else if($var == 'Nombre de Bracelets')
	{
		echo "
		<b><font SIZE=4 COLOR='Orange'>Variable :</font></b>
		<input type='radio' name='variable' value='Nombre de Colliers'>
		<font>Nombre de Colliers</font>
		<input type='radio' name='variable' value='Nombre de Bracelets' selected='selected' />
		<font>Nombre de Bracelets</font>";
	}
	echo "<br />";

	echo "<b><font SIZE=4 COLOR='Orange'>Traitement :</font></b>
	<input type='radio' name='traitement' value='Ventes Janvier".$var."'>
	<font >Ventes Janvier ".$var."</font>
	<input type='radio' name='traitement' value='Ventes Février".$var."'>
	<font>Ventes Février ".$var."</font>";
}
else
{

	echo "
	<b><font SIZE=4 COLOR='Orange'>Variable :</font></b>
	<input type='radio' name='variable' value='Nombre de Colliers'>
	<font>Nombre de Colliers</font>
	<input type='radio' name='variable' value='Nombre de Bracelets'>
	<font>Nombre de Bracelets</font>";
}
?>


<input type='submit' name='submit' value='Valider' title="Résultat"/>

</form>
</body>
</html> 
0
Louyii
 
Merci ton code marche mais le truc c'est que ça revient au même que si je faisais mon premier formulaire :

<b><font SIZE="4" COLOR="Orange">Variable :</font></b>
<input type='radio' name="variable" value="Nombre de Colliers" onfocus="javascript:visibilite_variable('Nombre de Colliers'); return false;">
<font COLOR="White">Nombre de Colliers</font>
<input type='radio' name="variable" value="Nombre de Bracelets" onfocus="javascript:visibilite_variable('Nombre de Bracelets'); return false;">
<font COLOR="White">Nombre de Bracelets</font>

<!--Traitement 1 : Nombre de Colliers-->
<div id="NombreColliers" style="display:none;"><input type="hidden" name="traitement1" value="traitement1">
<b><font SIZE="4" COLOR="Orange">Traitement :</font></b><br>
<input type='radio'name='traitement'value=Ventes Janvier Nombre de Colliers'onfocus="javascript:visibilite_traitement('Janvier'); return false;">
<font COLOR="White">Ventes Janvier Nomre de Colliers</font>
<input type='radio'name='traitement'value='Ventes Février Nombre de Colliers' onfocus="javascript:visibilite_traitement('Février'); return false;">
<font COLOR="White">Ventes Février Nombre de Colliers</font>
</div>

<!--Traitement 2 : Nombre de Bracelets-->
<div id="NombreBracelets" style="display:none;"><input type="hidden" name="traitement2" value="traitement2">
<b><font SIZE="4" COLOR="Orange">Traitement :</font></b><br>
<input type='radio'name='traitement'value=Ventes Janvier Nombre de Bracelets'onfocus="javascript:visibilite_traitement('Janvier'); return false;">
<font COLOR="White">Ventes Janvier Nombre de Bracelets</font>
<input type='radio'name='traitement'value='Ventes Février Nombre de Bracelets' onfocus="javascript:visibilite_traitement('Février'); return false;">
<font COLOR="White">Ventes Février Nombre de Bracelets</font>
</div>

Voilà ce que j'avais fait au tout début qui marchait très bien. Mon problème c'est que je voudrais au lieu qu'il y ait 2 traitements (un pour chacune des variables) qu'il y en ait 1 pour 2 variables parce qu'imaginons qu'il y ait plus de variables... :s

Désolé, je suis pas très claire dès le début je crois :s
0
Louyii
 
C'est pour ça que je pensais à insérer du Php afin de regrouper et afficher les variables !
0
Breub62 Messages postés 3452 Statut Membre 369
 
Ok j'avais pas compris ce que tu voulais faire... Voilà qui devrait être mieux :


<html>

<head>
	<title>exemple</title>
</head>

<body>


<?php

if(isset($_POST['submit']))
{
	$var = $_POST['variable'];
	$traitement = $_POST['traitement'];
	
	echo "variable : ".$var." <br />traitement : ".$traitement;
	
}
else
{
	echo "<form method=POST>";

	echo "<b><font SIZE=4 COLOR='Orange'>Variable :</font></b>
	<input type='radio' name='variable' value='Nombre de Colliers'>
	<font>Nombre de Colliers</font>
	<input type='radio' name='variable' value='Nombre de Bracelets' selected='selected' />
	<font>Nombre de Bracelets</font>";


	echo "<br /><b><font SIZE=4 COLOR='Orange'>Traitement :</font></b>
	<input type='radio' name='traitement' value='Ventes Janvier".$var."'>
	<font >Ventes Janvier ".$var."</font>
	<input type='radio' name='traitement' value='Ventes Février".$var."'>
	<font>Ventes Février ".$var."</font>";

	echo "<input type='submit' name='submit' value='Valider' title='Résultat'/>";
	
}
?>




</form>
</body>
</html> 


0
Louyii
 
C'est normal que | echo "variable : ".$var." <br />traitement : ".$traitement; | m'affiche :

variable :
traitement :

sans rien à côté... c'est ça que je comprends pas, ça n'affiche rien... normalement ça devrait me prendre les variables et les traitements non ?
0
Breub62 Messages postés 3452 Statut Membre 369
 
Tu as bien sélectionné qqch??
0
Louyii
 
Sans rien sélectionner je voudrais afficher juste les variables "Nombre de Colliers" et "Nombre de Bracelets"
0
Breub62 Messages postés 3452 Statut Membre 369
 
C'est exactement ce qu'il fait... Si tu ne sélectionne rien les variables sont nulles, donc c'est normal qu'il ne t'affiche rien...
0
Louyii
 
J'ai essayé ce code php mais quoi que je choisisse, ça ne m'affiche que la dernière variable "Nombre de Bracelets"...

<?php

$var= $_POST['variable'];
print ("$var");

if ($var=="Nombre de Colliers") {
$affichage1 = " de Colliers";
}
if ($var=="Nombre de Bracelets") {
$affichage1 = " de Bracelets";
}

?>
0
Louyii
 
Breub62, je crois que c'est assez compliqué :s mais merci à toi de m'avoir aidé ! ;)
0
louloute300 Messages postés 347 Statut Membre 29
 
Alors, je pense qu'il peut y avoir 2 problèmes:
1):
<form method="POST"> mettre des guillements autour de post.

2):
$var= $_POST['variable'];
print ("$var");
echo $var;

Si tu mets echo $var, est-ce que cela écris quelque chose ou non?
0
Breub62 Messages postés 3452 Statut Membre 369
 
Le 1) n'a en principe aucune incidence, je n'en mets jamais et je n'ai pas de problème de même pour les input type=text, type=password, type=submit. Tout ceci passe sans problème.

Pour le 2) je ne vois pas l'intérêt de faire un print et un echo...

Si ça ne renvoie rien c'est que pour une raison x ou y la "variable" n'as pas été postée correctement...
0
louloute300 Messages postés 347 Statut Membre 29
 
Si $var = "" alors, faut pas chercher plus loin que form...
0