PHP Formular durch ein anderes Formular ersetzen ?!

NetPerformance

Erfahrenes Mitglied
Hi..

Ich habe hier ein Login-Formular erstellt.
Falls der User was falsches eingibt, soll ein anderes Formular das
Login-Formular ersetzen
Ganz unten include ich das neue formular (neu_anmeldung.php)

Wie kann ich das Login-Formular entfernen

Imom wird das neue unterhalb des Login-Formulars eingefügt !

Gruß
Aaron

Code:
 <html>
<head>
<title></title>
</head>

<body bgcolor="#CCCCCC">
<form action = "<?php $PHP_SELF ?>"  method = "post">

<p>e-mail:</p>
  <p> 
    <input name="myEmail" type="text">
  </p>

<p>Passwort:</p>
  <p> 
    <input name="myPasswort" type="password">
  </p>

  <p> 
    <input name="login" type="submit" value="Login">
  </p>
  <p> 
    <input name="cookie" type="checkbox" value="checkbox">
    Cookie </p>

<!-- <p><a href="eintrag.php" target="mainFrame">Neuer Eintrag</a></p> -->
<p><a href="passwort_vergessen.php" target="mainFrame">Passwort vergessen ?</a></p>
<p><a href="neu_anmeldung.php" target="mainFrame">Neu Anmeldung</a></p>

</form>

<?php

if($login)
{ 
    $server = "localhost";
    $user   = "root";
    $passwort   = "";
    $database = "de84217";
    
    $user_email=$HTTP_POST_VARS['myEmail'];  // von Benutzer eingegebene E-Mail Adresse.
    $user_passwort=$HTTP_POST_VARS['myPasswort']; 

      $connect = mysql_connect("$server","$user","$passwort") or die(mysql_error()); 
      $db      = mysql_select_db("$database");
    $res = mysql_query("SELECT * FROM ak_geburtstagskalender_loginPasswort"); // Liefert alle Datensätze
    $num = mysql_num_rows($res); // Anzahl der Datensätze
    
    $kontrolle = false;     
    
    // Um alle Datensätze auszugeben
    for($i=0; $i<$num; $i++)
    {
        $db_email  = mysql_result($res, $i, "email");
        $db_passwort  = mysql_result($res, $i, "passwort");
                    
        if($user_email == $db_email && $user_passwort == $db_passwort && $kontrolle == false)
        {                
            $kontrolle = true;                         
        }    
    }
    if($kontrolle == false)
    {
          
         include("neu_anmeldung.php");
          
    }
}

?>

</body>
</html>
 
Speicher dein voriges Formular in einer Variable bzw ebenfalls in einer seperaten Datei ab (so wie du es mit dem anderen Formular auch gemacht hast). Lass es nur ausgeben, wenn die Bedingung "action" (deines Login-Formulars) nicht erfüllt ist, und dein anderes formular eben nur, wenn deine Bedingung false ist.

Bsp:

Code:
$form = "<table...><form action="...?action=do_sth">...</form...";
if(!isset($_GET["action"]))
{
echo $form; // Formular ausgeben
}
elseif($kontrolle == false)
{
echo $form_fehler; // Möglichkeit 1
include("form2.php"); // oder du includest dein anderes Formular wie du es in deinem Programm gemacht hast
}

mfg,
laddy

ps.: ahm irre ich mich, oder ist deine Mysql Datenabfrage denkbar seltsam?
 
Hi

Danke für die schnelle Antwort :)
Bevor ich das Ganze morgen teste, hätte ich noch eine Frage :

Am Anfang muss mein Login-Formular vohanden sein.

Wenn ich das Login-Formular in der if-Anweisung aufrufe, wird sie doch nicht aufgerufen ?! oder habe ich was missverstanden ?

Gruß und gudd nächtle
Aaron
 
Nein, das Loginformular wird eben nur dann ausgegeben, wenn sozusagen keine Bedingung momentan besteht (d.h. wenn man z.b. der Actionteil des Formulars noch nicht ausgeführt worden ist). Solange man noch nichts mit dem Formular gemacht hat, wird es angezeigt. Drückt man Submit, verschwindet es und es öffnet sich je nachdem was anderes, oder dein Fehlerformular ;).
Probier es einfach aus. Bei Fragen meld dich wieder hier ;).

mfg,
laddy
 
Zurück