traitement d'un formulaire en direct

Eléphant du PHP | 250 Messages

01 déc. 2005, 23:04

Bonjour,

je voulais savoir s'il était possible de traiter les résultats postés via un formulaire DIRECTEMENT sur la meme page en utilisant par exemple les fonctions php?

exemple:

Code : Tout sélectionner

<form method="POST" action="validation_compte.php"> <font face="Calligraph421 BT" size="3"><strong>Ouvrir un compte&nbsp;&nbsp; </strong></font><input type="radio" value="compte" checked name="compte"> <input type="submit" value="Envoyer">&nbsp;
plutot que de refaire un script ("validation.php") ne peut-on pas traiter la saisie du visiteur à la suite et donc sur la meme page?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

01 déc. 2005, 23:10

biensur que c'est possible, pour cela faut tester si le formulaire a été validé: On peut utiliser le bouton submit (avec un attribut name="valider")
if (isset($_POST['valider'])
{
   // traitement du formualire
}
else
{
   /affichage du formualire
}
sans oublier de renvoyer sur la meme page action="lapage.php" ou encore action=$_SERVER['PHP_SELF']
isset() teste l'existence d'une variable.
Modifié en dernier par Truc le 01 déc. 2005, 23:11, modifié 1 fois.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 768 Messages

01 déc. 2005, 23:10

<?php

echo "<form name='monform' action='".$_SERVER['PHP_SELF']."' method='POST'>";
// je n'entre pas dans le détail du formulaire

echo "<input type='hidden' name='validation' value='ok'>";
echo "<input type='submit' value='En avant toute !'></form>";



if (isset($_POST['validation']){
/*

    TRAITEMENT DU FORMULAIRE

*/

   echo "Formulaire traité !";
}
?>
EDIT > désolé Truc, on a posté en même temps mais l'idée est la même :wink:
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Eléphant du PHP | 250 Messages

01 déc. 2005, 23:19

merci, messieurs!
Je validerais celà quand mon prb de connexion à la base sera résolue !