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
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
A voir également:
- Php prob de récuperation du valeur
- Easy php - Télécharger - Divers Web & Internet
- Convertisseur récupération de texte - Guide
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Impossible de récupérer mon compte gmail - Guide
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
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'];
?>
<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'];
?>
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
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']
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']
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
<?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
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
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 :
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 :
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 !
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 !
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
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 :
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 ! ;-)
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 ! ;-)
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
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
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à ?
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à ?