rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Php : récupérer les valeurs d'un formulaire

Posté par mia, le mercredi 16 juillet 2003 à 14:42:43
J'ai un problème :
dans un formulaire, je dispose de deux radio buttons et selon la valeur choisie je nourrie une liste déroulante par un accès à une base de données.

Mais ca ne marche pas, je ne parviens pas a recuperer la valeur choisie en php, alors qu'avec javascript si.

Je sais qu'avec php, on peut récupérer la valeur d'un formulaire avec : $_POST['Nom_Objet'] mais les radio buttons ont le même nom car on ne peut en choisir que l'un des deux ! Et quand je fais (le programme ci-dessous) ça ne marche pas. Si quelqu'un a une idée !!!


<p align="left
Materiel
<input type="radio" name="Type" value="Materiel">
Logiciel
<input type="radio" name="Type" value="Logiciel">

<input type="submit" name="ChercheLib" value="Chercher">

<SCRIPT language="javascript">
function testerRadio(radio) {
for (var i=0; i<radio.length;i++) {
if (radio[i].checked) {
alert("Système = "+radio[i].value)
}
}
}
</SCRIPT>
<?
chercheLib($_POST['this.form.Type']);

function chercheLib($val){
...
//Accés aux bases de données mysql

}
Répondre à mia  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Nico, le mercredi 16 juillet 2003 à 14:48:40
salut,

chercheLib($_POST["type"]) et non this.form.type,

php ne connait pas this.form.type, il récupére le nom de ta variable et non les objets et objet d'objet qui vont avec.
javascript et php sont deux choses bien différentes, distincts

voila , normalement ca devrait parcher

A@++
Répondre à Nico

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mia, le mercredi 16 juillet 2003 à 14:55:13
C'est ce que j'ai fait au début, mais je t'assure que ca ne marche pas, je viens meme de retester !!!
Répondre à mia

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ludd, le mercredi 16 juillet 2003 à 14:52:58
la tu confond les données dont tu dispose en javascript ( coté client) et les données donttu dispose en php ( coté serveur).

$_POST['this.form.Type'] n'a pas de sens comme tel car :
$_POST est valorisé coté serveur quand tu transmet ta page en validant
this.form.Type est valorisé coté client et n'a aucune valeur en php.

Solution :
En premier déclare une formulaire sur ta page html :

<FORM method="post" NAME="monformulaire">

//tes boutons radio et ton bouton submit

</FORM> // Fin du formulaire


Dans ta page php tu pourra traiter le contenu du formulaire via la global $_POST qui devrait contenir si je suis ton code.


$_POST ["Type"] = "Materiel" ou "Logiciel"
$_POST ["ChercheLib"] = "Chercher"



Voila en espérant t'aider :)
Répondre à ludd

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Nico, le mercredi 16 juillet 2003 à 15:01:34
je crois savoir.
utilise un autre nom de variable à la place de "type"
type peut etre un nom d' instrustion, il me semble avoir déjà eu ce genre de probleme,
mais dans tous les cas la syntaxe correct de récupération des variables est $_POST["nom de ta variable"] ou directement $nom_de_ta_variable mais ceci n'est pas sur sur tous les serveurs.

A@++
Répondre à Nico

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mia, le mercredi 16 juillet 2003 à 15:08:17
Ben non ca ne marche toujours pas. Le fait que les boutons ont le même non, ca peut etre une influence ?
Répondre à mia

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mia, le mercredi 16 juillet 2003 à 15:10:19
oui merci, mais j'ai pas trop compris ...
les lignes de code de la fin :
"$_POST ["Type"] = "Materiel" ou "Logiciel"
$_POST ["ChercheLib"] = "Chercher""
Répondre à mia

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
maily, le mercredi 16 juillet 2003 à 15:18:29
Bonjour!!
alors, si je me souviens bien, quand tu récupères ta variable
$_POST ["Type"]

tu peux faire le test suivant

if($_POST ["Type"]=="Materiel")


bon courage!!


Maily   :-))))
Répondre à maily

8


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
ludd, le mercredi 16 juillet 2003 à 15:25:05
Quand tu valides ton formulaire les éléments contenu dans ta page( éléments du formulaire) sont transmisent au serveur.

Toi en php ton moyen de traiter ces informations sont de récupérer le contenu de $_POST qui lui contiendra tous les élements transmis.
$_POST est un tableau pour info ^^.

Pour toi tu as déclarer 3 éléments dans ton formulaire dont 2 qui ont le même nom donc ce que tu aurras comme information en php se sera :
$_POST["NomElement"] = "valeur";

NomElement correspond au nom des éléments du formulaire dans ta page html pour toi c'est type et ChercheLib.

La valeur transmise correspond soit a la valeur que tu as défini sinon c'est valoriser suivant ton action.

pour ChercheLib tu as mis value="Chercher" donc tu aurras comme valeur en php $_POST["ChercheLib"] = "Chercher"

Pour le bouton radio et bien cela dépendra sur lequel tu clic.
Si tu clic sur le premier $_POST["type"] aurra pour valeur 'Materiel' si tu clic sur le 2eme $_POST["type"] aurra pour valeur 'Logiciel'

Par contre comme dis Nico renome les bouton radio autrement genre "monchoix" par exemple.
Répondre à ludd

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Nico, le mercredi 16 juillet 2003 à 15:35:04
j'ai testé ton script
le nom de variable type ne convient, j'ai testé avec tipe est ca marche.

le source :
<?

chercheLib($_POST["tipe"]);

function chercheLib($val){
echo "la valeur est : ".$val;

}
?>
<html>
<body>
<form name=frm method=post>

Materiel
<input type="radio" name="tipe" value="Materiel">
Logiciel
<input type="radio" name="tipe" value="Logiciel">

<input type="submit" name="ChercheLib" value="Chercher">

</form>
<SCRIPT language="javascript">
function testerRadio(radio) {
for (var i=0; i<radio.length;i++) {
if (radio[i].checked) {
alert("Système = "+radio[i].value)
}
}
}
</SCRIPT>
</body>
</html>

si tu ne les avais pas mises , n'oublie pas les balises <form method=post> ...

A@++
Répondre à Nico

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mia, le mercredi 16 juillet 2003 à 15:50:25
oui merci, j'ai testé sur un autre exemple et ça marche.
Répondre à mia

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 yac, le mercredi 16 avril 2008 à 18:03:15
comment récuperer en php la valeur des radio boutons ?
Répondre à yac
Logiciels pertinents trouvés dans les téléchargements
Télécharger PHP Edit 0.6PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de...Catégorie: PHP
Licence: Freeware/gratuit
Télécharger PSPad 4.5.2PSPad - PSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS,...Catégorie: Développement
Licence: Freeware/gratuit
Télécharger PC Inspector File Recovery 4.0PC Inspector File Recovery - Tout comme SoftPerfect File Recovery ou HandyRecovery , ce logiciel est capable de récupérer des fichiers effacés, mais...Catégorie: Sauvegarde
Licence: Freeware/gratuit
Télécharger Restoration 2.5.14Restoration - Restoration est un outil gratuit, en anglais seulement, permettant de récupérer les données effacées, même après avoir vidé...Catégorie: Sauvegarde
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « php : récupérer les valeurs d'un formulaire »