Rechercher : dans
Par :

If (isset(....)) OU $...=$_post[$...] ???

Dernière réponse le 4 oct 2008 à 11:53:43 max, le 3 oct 2008 à 23:11:06 
 Signaler ce message aux modérateurs

Bonjour,

Quelle méthode utilisée pour récupérer les variables d'un formulaire et pourquoi

if (isset(....)) ou bien $...=$_post[$...] ???

Configuration: Windows XP
Internet Explorer 6.0

1

okuni, le 3 oct 2008 à 23:32:15
  • +1

Quand tu crée un formulaire, dans la balise <form> tu dois mettre une propriété method.
tu dois mettre comme valeur soit POST soir GET

ensuite, après avoir cliqué sur le bouton envoyer, la nouvelle page ce charge avec soit toute tes valeurs en $_POST['valeur'] soit $_GET['valeur']

donc a toi de voir quel est le mieux.


ensuite pour récupérer la valeur, je préfère utiliser "!empty", car isset regarde si la variable existe ou pas. dans ce cas-ci, elle existera toujours (peut-$etre vide)

voici un exemple :

index.php

<form action"page2.php" method="POST" >
ton formulaire
</form>

page2.php

if (!empty($_POST['exemple_1']))
{//si la variable exemple_1 n'est pas vide (et donc existe et est remplie) alors il se passe ceci :

}
else
{//sinon il ce passe ceci : 

}



Voila, j'espère que je répond à ta question :) L'amour, c'est comme les spaghettis; quand c'est mou, c'est cuit. (proverbe belge)

Répondre à okuni

2

Alain_42, le 3 oct 2008 à 23:37:12
  • +1

Bonsoir:

if(isset($_POST['nom_champ'])) c'est pour vérifier que le champ a bien été "posté" c'est à dire que le formulaire a été envoyé

$champ = $_POST['nom_champ'] c'est pour récupérer la valeur postée du champ

donc:

if(isset($_POST['nom_champ'])){
    //si le formulaire a été posté alors on peut récupérer la valeur du champ
    $champ = $_POST['nom_champ']

}


Nota: if(!empty($_POST['nom_champ']) // verifie que la variable existe donc que le formulaire a été posté et que la valeur n'est pas vide

Répondre à Alain_42

3

okuni, le 3 oct 2008 à 23:44:18

Le isset est utilisé si dans ta propriété action sur index.php, il est rien marqué ou alors la même page parce que alors, lorsque tu clique sur envoyer, ton ordi va recharger la même page et c'est a ce moment la que tu place le isset (au tout début) avec le if pour voir que la balise existe bien
car si elle existe pas, alors on affiche le formulaire.

bien gardé en tête que isset regarde si la variable existe ou pas. qu'elle soit vide ou non.

et tu n'es pas obligé de faire
$champ = $_POST['nom_champ']

tu pourrais très bien travailler avec $_POST['nom_champ'] mais bon, c'est vrai que $champ c'est plus propre.
C'est correct. L'amour, c'est comme les spaghettis; quand c'est mou, c'est ­cuit. (proverbe belge)

Répondre à okuni

4

max, le 3 oct 2008 à 23:48:29

Merci alors si je comprends il est mieux d'utiliser les deux comme ca ?


if(isset($_POST['nom_champ'])){

$champ = $_POST['nom_champ']

}

Répondre à max

7

 Alain_42, le 4 oct 2008 à 11:53:43
  • +1

Oui il vaut mieux faire comme ça

ce n'est pas utiliser les deux mais c'est complémentaire, car si tu mets simplement

$champ=$_POST...

Php va te sortir une erreur indefined index..

Répondre à Alain_42

5

djflexlive, le 4 oct 2008 à 00:16:43

Je dirais :

if (!empty($_POST['nom_cham']))
{
..
}

Le isset teste si la variable existe. Je pense qu'elle existera mais elle pourra être vide. ( ' ' )

le !empty teste si la variable existe et n'est pas vide

Alain, tu confirmes ?

Répondre à djflexlive

6

okuni, le 4 oct 2008 à 09:19:09
  • +1

On se répète un peu là non? :p L'amour, c'est comme les spaghettis; quand c'est mou, c'est ­cuit. (proverbe belge)

Répondre à okuni
Collection CommentÇaMarche.net