Php prob de récuperation du valeur

Fermé
mikmak2011 Messages postés 5 Date d'inscription jeudi 5 mai 2011 Statut Membre Dernière intervention 10 juin 2011 - 9 mai 2011 à 18:33
coeus Messages postés 3021 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 - 16 mai 2011 à 13:44
Bonjour,

<input type='text' size='3' id='$nomp' readonly='readonly'>
comment récupéré la valeur de ce champs pa get
merciiiiiiiiii
A voir également:

4 réponses

Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 97
Modifié par Freedomsoul le 9/05/2011 à 22:06
<form method="get" action="">
<input type="text" size="3" name="test" readonly="readonly">
<input type="submit" value="valider">
</form>

<?php
if (isset($_GET['test']))
echo " la valeur est ".$_GET['test'];
?>
3
coeus Messages postés 3021 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 119
9 mai 2011 à 22:01
Salut,

Faut que tu donnes à ton <input> un name="exemple_de_nom".
Après tu peux envoyer le formulaire et récupérer $_GET['exemple_de_nom']
1
salut coeus voila mon code complet si tu peu m'aidé

<?php
include ('fonction.php');
connexion();
$req= "SELECT * from produits where cat='amande_noisette' limit 0,8";
$res=mysql_query($req);
while($enreg=mysql_fetch_array($res)){
$nomp=$enreg['nomproduit'];
$comp=$enreg['composition'];
$prix=$enreg['Prix/Kg'];
$ref=$enreg['ref'];
$str=strtolower($comp);
echo "<table align='left' border='2'><tr>";
echo "<td><img src='images/image produit AN/$nomp.jpg' align='left' width='170' height='120'></td>";
echo"<td style='color:#F30' width='400' valign='top'>
<table border='1'><tr><td><strong>$nomp</strong></td></tr>
<tr><td>$nomp est décomposé de : $str.</td></tr><tr><td>";
echo "<form name='fp' method='GET' action='produits.php'>
<input type='text' size='3' name='t' id='$nomp' readonly='readonly' value='0'/>";
echo "<input type='button' value='plus' onclick='document.getElementById(\"$nomp\").value++;'/>
<input type='button' value='moins' onclick='document.getElementById(\"$nomp\").value--;'/>";
echo"<a href='panier.php?action=ajout&l=$nomp&q=?????????&p=$prix'>Ajouter au panier</a></table>";
echo "</td></tr></table></form>";
}
?>

le prob c au niveau de la quantité je veux passé la quantité qui est incrémentable par l'url comme le nom et le prix et merci d'avance mon ami le paranoïaque
ah le code marche trés bien juste le champ de la quantité est tjr=0
0
coeus Messages postés 3021 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 119
11 mai 2011 à 14:04
Salut !

Mmmmmm je pense que tu vas devoir changer de méthode...
Premièrement, dans le <form>, change le method="get" pour un method="post". Mettre ses variables en GET, rien de moins sécuritaire !

Ensuite, pour "ajouter au panier", le mieux serait de mettre un <input type="submit"> au lieu d'un <a>. Alors seulement, quand tu vas cliquer dessus, il va envoyer toutes les données de ton formulaire dans la variable $_POST (ou $_GET, si tu choisis de garder le method="get").

Il y a des variables qui ne pourront pas se transmettre aussi facilement qu'avec un <a>. Par exemple, dans l'URL du <a>, tu as "action=ajout"... Pour ça, si tu en as vraiment besoin, tu peux rajouter à ton formulaire un <input type="hidden" name="action" value="ajout"/> ; comme ça il va exister une variable ($_POST['action'] = 'ajout') lors de l'envoi du formulaire. Tu peux faire pareil pour n'importe quelle information "statique" (que l'utilisateur ne décide pas).

Finalement, dans :

<input type='text' size='3' name='t' id='$nomp' readonly='readonly' value='0'/>";

Remarque le value="0". Avec ça, à chaque chargement de la page, la valeur se remet à zéro. Habitue-toi, pour tes formulaires (peut-être que ça ne s'appliquera pas ici en particulier, mais ça va s'appliquer souvent) à faire quelque chose comme :

echo '<input type="text" name="un_nom" id="un_id" value="' . (isset($_POST['un_nom']) && $_POST['un_nom'] != '' ? $_POST['un_nom'] : '') . '" />';


Ainsi, le formulaire ne reviendra pas à ses valeurs par défaut, par exemple lorsque l'utilisateur aura mal rempli le formulaire et sera obligé de le compléter ; le formulaire gardera en mémoire les informations déjà entrées ; donc l'utilisateur ne perd pas tout.

En espérant que ça t'aide !!! Bonne chance !
0
merci coeus ça marche mon ami merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
0
Salut bon c le même code mais juste je veux incrémenté par 0,5 et si c'est possible avec le mot Kilo gramme après dans le champs et merci d'avance
0
coeus Messages postés 3021 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 119
13 mai 2011 à 13:55
Bon pour ton incrémentation de 0.5, j'imagine que ce que tu veux faire un bouton qui, quand tu pèses dessus, va incrémenter la valeur de ton champ de texte en Javascript ?

Si c'est ça, faut juste faire gaffe à un détail. Si tu essaies d'incrémenter la valeur en JS, il va confondre les chiffres et le texte... Faut juste bien lui préciser où se trouvent les nombres, où se trouvent les strings.

Voici un exemple d'un tel bouton :
<input type="button" onclick="document.getElementById('mon_nombre_de_kg').value = (parseFloat(document.getElementById('mon_nombre_de_kg').value)+0.5);" />

Après, pour le mot kilogramme, moi je te conseillerais de le mettre tout bêtement sous forme de texte à côté du champ contenant le chiffre. Oui, ça se fait de le rajouter directement dans le champ de texte, mais ça va te demander beaucoup de traitement à toutes les étapes dans ton code. Je ne pense pas que tu veuilles ça ! ;-)
0
merci ça marche mais je suis en train d'affiché la quantité dans le panier ça elle ne veu pas s'affiché en virgule je pense qu'elle prend l'arondi tjr
0
coeus Messages postés 3021 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 119
16 mai 2011 à 13:44
Il y a quelque chose de pas correct alors.
L'important est de faire un parseFloat() de ton nombre et non un parseInt(). Avec un parseFloat, tu es certain(e) d'identifier ta valeur comme un nombre décimal, pas comme un nombre entier.

Après pour afficher la quantité dans le panier, tu la transmets via PHP, j'imagine ? Dans ce cas, PHP prendra la valeur comme une chaîne de caractères ; il ne verra pas "2.5" comme un chiffre, mais comme un mot. Donc il n'y a aucune raison pour qu'il convertisse ce "mot" en nombre entier.

Peut-être que tu peux me donner le code qui te permet de transmettre cette valeur au panier, et je verrai de là ?
0