webentwicklung-frage-antwort-db.com.de

Wie platziere ich zwei Formulare auf derselben Seite?

Ich möchte sowohl das Anmeldeformular als auch das Anmeldeformular auf derselben Seite platzieren.
Beide beginnen mit: 

if (!empty($_POST)) ... 

also brauche ich so etwas wie:

if (!empty($_POST_01))...  // regForm
  and 
if (!empty($_POST_02))...  //loginForm

Auch, wie Sie die Ausführung des ersten Formulars verhindern, wenn das zweite beschäftigt ist, und umgekehrt (der Benutzer klickt auf beide).
Meine Idee ist es, beim Start eine einfache Variable zu erstellen, zum Beispiel $x = 1 und am Ende des Prozesses $x = 0

if ((!empty($_POST_01)) And $x = 0)...

Wahrscheinlich gibt es einen besseren Weg.

10
Alegro

Sie können zwei Formulare mit zwei verschiedenen Aktionen erstellen

<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>

Oder mach das

<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>

Dann würden Sie PHP -Datei als Schalter fungieren ($ _ POST ['action']) ... Außerdem können sie nicht gleichzeitig auf beide Links klicken oder eine gleichzeitige Anfrage stellen anfordern.

Ihr PHP würde dann mit der Switch-Logik weitermachen oder verschiedene PHP-Dateien ein Anmeldeverfahren durchführen, dann ein Registrierungsverfahren

32
cristi _b

Nun, Sie können jedes Formular auf eine different -Seite bringen. (was vorzuziehen ist) 

Oder haben Sie einen anderen Wert für einen bestimmten Eingabe- und Basisbeitrag dazu:

switch($_POST['submit']) {
    case 'login': 
    //...
    break;
    case 'register':
    //...
    break;
}
7
Neal

Geben Sie den Submit-Buttons für beide Formulare unterschiedliche Namen, und überprüfen Sie mit PHP, welcher Button Daten übermittelt hat.

Bilden Sie eine Schaltfläche - btn1 Bilden Sie zwei Schaltfläche -btn2

PHP Code:

if($_POST['btn1']){
    //Login
}elseif($_POST['btn2']){
    //Register
}
3
mark kasina

Hoffe, das wird dir helfen. Angenommen, das Anmeldeformular enthält: Eingaben für Benutzername und Kennwort.

if(isset($_POST['username']) && trim($_POST['username']) != "" && isset($_POST['password']) && trim($_POST['password']) != ""){
//login
} else {
//register
}
1
gezimi005

Sie können diese einfachste Methode verwenden.

<form action="validator.php" method="post" id="form1">
    <input type="text" name="user">
    <input type="password" name="password">
    <input type="submit" value="submit" form="form1">
</form>

<br />

<form action="validator.php" method="post" id="form2">
    <input type="text" name="user">
    <input type="password" name="password">
    <input type="submit" value="submit" form="form2">
</form>
0
Rayobeats