Je souhaite placer le formulaire d'inscription et de connexion sur la même page.
Ils commencent tous deux par:
if (!empty($_POST)) ...
alors j'ai besoin de quelque chose comme:
if (!empty($_POST_01))... // regForm
and
if (!empty($_POST_02))... //loginForm
Comment empêcher l'exécution du premier formulaire si le second est occupé, et vice versa (l'utilisateur clique sur les deux)
Mon idée est de créer une variable simple sur le processus de démarrage, par exemple $x = 1
et à la fin du processus $x = 0
, donc:
if ((!empty($_POST_01)) And $x = 0)...
Probablement, il y a un meilleur moyen.
Vous pouvez créer deux formulaires avec 2 actions différentes
<form action="login.php" method="post">
<input type="text" name="user">
<input type="password" name="password">
<input type="submit" value="Login">
</form>
<br />
<form action="register.php" method="post">
<input type="text" name="user">
<input type="password" name="password">
<input type="submit" value="Register">
</form>
Ou faire ceci
<form action="doStuff.php" method="post">
<input type="text" name="user">
<input type="password" name="password">
<input type="hidden" name="action" value="login">
<input type="submit" value="Login">
</form>
<br />
<form action="doStuff.php" method="post">
<input type="text" name="user">
<input type="password" name="password">
<input type="hidden" name="action" value="register">
<input type="submit" value="Register">
</form>
Ensuite, votre fichier PHP fonctionnerait comme un commutateur ($ _ POST ['action']) ... de plus, ils ne peuvent pas cliquer sur les deux liens en même temps ou faire une demande simultanée, chaque soumission étant distincte. demande.
Votre PHP continuerait alors avec la logique du commutateur ou aurait différents fichiers php faisant une procédure de connexion puis une procédure d'enregistrement
Eh bien, vous pouvez demander à chaque formulaire d’accéder à une page différente . (ce qui est préférable)
Ou avoir une valeur différente pour une entrée donnée et une publication de base sur celle-ci:
switch($_POST['submit']) {
case 'login':
//...
break;
case 'register':
//...
break;
}
Attribuez aux boutons de soumission des noms différents des formulaires et utilisez PHP pour vérifier quel bouton a envoyé les données.
Forme un bouton - btn1 Forme deux bouton -btn2
Code PHP:
if($_POST['btn1']){
//Login
}elseif($_POST['btn2']){
//Register
}
J'espère que ceci vous aidera. Supposons que le formulaire de connexion comporte les éléments suivants: entrées du nom d'utilisateur et du mot de passe.
if(isset($_POST['username']) && trim($_POST['username']) != "" && isset($_POST['password']) && trim($_POST['password']) != ""){
//login
} else {
//register
}