problème avec récupération formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème avec récupération formulaire

par egelitros » 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]

par AB » 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()" >

par egelitros » 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?

par zeus » 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.

par zeus » 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

problème avec récupération formulaire

par egelitros » 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>