Rechercher : dans
Par :

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

Dernière réponse le 17 jun 2009 à 17:16:01 mia, le 16 jui 2003 à 14:42:43 
 Signaler ce message aux modérateurs

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

}

Meilleures réponses pour « php : récupérer les valeurs d'un formulaire » dans :
PHP - Récupération de données Voir PHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...

1

Nico, le 16 jui 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

mia, le 16 jui 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

ludd, le 16 jui 2003 à 14:52:58
  • +2

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

Nico, le 16 jui 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

mia, le 16 jui 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

mia, le 16 jui 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

maily, le 16 jui 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

ludd, le 16 jui 2003 à 15:25:05
  • +3

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

Nico, le 16 jui 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

mia, le 16 jui 2003 à 15:50:25

Oui merci, j'ai testé sur un autre exemple et ça marche.

Répondre à mia

11

yac, le 16 avr 2008 à 18:03:15
  • +2

Comment récuperer en php la valeur des radio boutons ?

Répondre à yac

12

 misam, le 17 jun 2009 à 17:16:01

Re Bonjour,
j'ai réussi à résoudre mon problème
MAIS j'ai un nouveau problème, je souhaite recuperer toute les photos de mon repertoire qui ont leurs nom qui commencent de la même manière que ma variable que j'ai récupéré
Exemple :

ma variable : $nom='elephant'
Je veux donc récupérer toutes le photos qui ont leur nom qui commence par 'elephant' ('elephant2.jpg' 'elephant1.jpg' 'elephant23.jpg')

Répondre à misam