Page 1 sur 1

Verification d'un formulaie

Posté : 23 mai 2005, 13:18
par NoNos
Salut
Depuis ce matin je me prend la tete avec le verification d'un formulaire les variables ne passent pas comme je veux et doc ne sont pas utilisable dans la suite du coe je ne comprend pas pourquoi
Voila le code un peu résumé :

Code : Tout sélectionner

<? session_start(); function afficher_form($nom){ echo "test ".$nom; ?> <form action="port.php" method="post"> Nom : <input type="text" value="<? echo $nom ?>" name="nom"> <input type="submit" value="Soumettre" name="soumis"> </form> <? } function verif_form($nom){ echo $nom." sdsd"; if(!$nom ){ if (!$nom) {echo "<tr><td align=\"center\">Veuillez saisir votre Nom</td></tr>";} afficher_form($nom); } else { info_saisie($nom); } } function info_saisie($nom){ echo "Nom : ".$nom."&nbsp;Prenom : ".$prenom."&nbsp;E-Mail : ".$mail."<br><br>"; <form action=\"port.php?nom=".$nom."\" method=\"get\" name=\"valid\" target=\"_self\"> <input type=\"submit\" value=\"Confirmer\" name=\"confirm\"> </form>"; } ?> <link href="style.css" rel="stylesheet" type="text/css"> <? if (!$confirm){ if (!$soumis){ echo 'ici'; afficher_form("", "", "", "", "", "", ""); } else{ echo 'la '. $nom; //le nom ne s'affiche pas verif_form($nom); } } else { echo "now"; session_register('nom'); } ?>
Le problèe arrive très vite, on affiche bien le formulaire mais quand on confirme lors de la verif le $nom n'est pas passé en paramère

Posté : 23 mai 2005, 13:35
par ouckileou
c'est un peu bizarre comme fonctionnement

d'où te vient la variable $nom à l'affichage de ton formulaire

de plus, il n'y aucun test permettant de savoir quelle opération effectuer à chaque fois c'est normal

mais bon déjà : une variable récupérée d'un formulaire se récupère comme ceci :
$nom = $_GET['nom']; // si la methode du formulaire est GET
$nom = POST['nom']; // si la methode du formulaire est POST

Posté : 23 mai 2005, 14:06
par Cyrano
Essaye donc comme ceci: ouckileou l'a souligné, tu ne récupères pas l'envoi du formulaire, donc ta variable est vide, elle n'est même pas initialisée donc tu devrais même avoir une erreur du type undefined variable $nom etc...
<?
session_start();
if(isset($_POST['nom']))
{
    $nom = $_POST['nom'];
}
else
{
    $nom = "";
}

function afficher_form($nom)
{
    echo "test ".$nom;
?>
   <form action="port.php" method="post">
        Nom : <input type="text" value="<? echo $nom ?>" name="nom">
      <input type="submit" value="Soumettre" name="soumis">
      </form>
<?
}
function verif_form($nom)
{
    echo $nom." sdsd";
    if(!$nom )
    {
        if (!$nom)
        {
            echo "<tr><td align=\"center\">Veuillez saisir votre Nom</td></tr>";
        }
        afficher_form($nom);
    }
    else
    {
        info_saisie($nom);
    }
}

function info_saisie($nom)
{
    echo "Nom : ".$nom."&nbsp;Prenom : ".$prenom."&nbsp;E-Mail : ".$mail."<br><br>
    <form action=\"port.php?nom=".$nom."\" method=\"get\" name=\"valid\" target=\"_self\">
         <input type=\"submit\" value=\"Confirmer\" name=\"confirm\">
         </form>";
}
?>
<link href="style.css" rel="stylesheet" type="text/css">


<?
if (!$confirm)
{
    if (!$soumis)
    {
        echo 'ici';
        afficher_form("", "", "", "", "", "", "");
    }
    else
    {
        echo 'la '. $nom; //le nom ne s'affiche pas
        verif_form($nom);
    }
}
else
{
    echo "now";
    session_register('nom');
}
?> 

Posté : 23 mai 2005, 15:03
par NoNos
La variable $nom lors de l'affichage était la pour effectuer un test et savoir si $nom avait été passé en paramètre.
Je vais essayer le truc que vous me dites en rentrant