problème avec récupération formulaire

Petit nouveau ! | 6 Messages

10 oct. 2008, 19:08

bonjour,

Je n'arrive pas à récupérer les variables de mon formulaire, $_POST['pseudo'] est toujours vide, je vais bien dans la fonction car mon message d'alerte fonctionne. Merci. voici mon code
<!*****************************>
<!* vérification de la saisie *>
<!*****************************>



<?php
function verif_form ()
{	

if ($_POST['pseudo']=="")
		{ 
		$mess = 'test' .  $_POST['pseudo'] ;
		?>
		javascript:alerte('<? echo $mess ?> ');
		<? 
		}
}
 
?>

<!*****************************>
<!*   formulaire de session   *>
<!*****************************>


<table width="100%" border="0">
  <caption>
    <span class="Style10">ouverture de session</span>
  </caption>
  <tr>
    <td width="30%">&nbsp;</td>
    <td colspan="2">&nbsp;</td>
    <td width="30%">&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td width="40%"><form name="form_session" method="post" action="<?php verif_form() ?>">
      <label>
      <div align="center"><span class="Style9"> Pseudonyme   :
        <input name="pseudo" type="text" id="pseudo"  size="22" maxlength="20">
        <br>
        <br>
        Mot de passe :</span>
        <input name="pwd" type="password" id="pwd" size="22" maxlength="20">
        <br>
        <br>
        <input name="Validation" type="submit" id="Validation"   value="Valider">
        <input name="annulation" type="reset" id="annulation" value="Annuler">             
        <br>
        </div>
      </label>

    </form>    </td>
    <td width="1">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
	 
<p align="center"><a href="/projet_repertoire/inscription.php" class="Style13">Pas encore inscrit, cliquer ici</a> </p>
<p align="center">&nbsp;</p>

</body>
</html>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

10 oct. 2008, 19:26

Modération :
egelitros, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

10 oct. 2008, 19:28

Alors, en fait, tu as un soucis de compréhesion du PHP.

Le PHP est un langage serveur, c'est à dire qu'il s'exécute sur le serveur, avant même que la page soit affichée.
Le HTML est lue par le navigateur, sur le poste client, donc bien après l'exécution du PHP.
Du coup,
<form name="form_session" method="post" action="<?php verif_form() ?>">
ne signifie pas que la fonction verif_form() sera appelée lors de la validation du formulaire.
Regarde le code source de la page sur ton navigateur pour le comprendre.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Petit nouveau ! | 6 Messages

10 oct. 2008, 20:52

ok, alors comment faire, mettre le code php dans une autre feuille, pourtant, j'ai vu plein d'exemple sur internet ou la vérification du formulaire se fait dans la même page. Puis utiliser la commande onclick pour le bouton validation à moins que la commande $php_self sur action?

ViPHP
AB
ViPHP | 5818 Messages

10 oct. 2008, 22:16

Un petit tuto complet sur un formulaire d'inscription qui ressemble un peu au tiens
http://www.phpfrance.com/forums/voir_sujet-242539.php

Dans cet exemple tout le code est dans la même page, et la validation est faite en php.

Si tu voulais faire une vérification préalable en javascript il faudrait écrire onsubmit = "ta_fonction_de_verification()" dans la balise form : <form action='#' onsubmit = "ta_fonction_de_verification()" >

Petit nouveau ! | 6 Messages

11 oct. 2008, 10:53

bon,

Merci pour l'information, cela fonctionne, enfin presque car maintenant c'est cette commande qui ne fonctionne plus
if (isset($_POST['pseudo'])) 
{ 
	$mess='test';
	?>
	javascript:mess_alerte(<? echo $mess ?> ); 	
	<?
}


Il n'y a plus d'appel à ma fonction java script. :( ,cela affiche la ligne dans ma page

[/php]