Close/ Crossposting

Status
Für weitere Antworten geschlossen.
L

Lars-Marcel

So, Habe da nen code:

index.php
PHP:
<form method="post" action="login.php">
<input type="text" name="e-mail"><br>
<input type="submit" value="Login">
</form>

login.php
PHP:
<?php
    
//Host
$db_host = "xxx";

//Username
$db_user = "xxx";

//Password
$db_password = "xxx";

//Database
$db = "xxx";

//Connection to the Database
mysql_connect($db_host,$db_user,$db_password) or die  ("Keine Verbindung moeglich");
mysql_select_db($db) or die ("Die Datenbank existiert nicht");

    
    // Prüfen..
        $email = mysql_real_escape_string($_POST['email']);
    // MySQL Abfrage
        $sql1 = ("
    SELECT
       email
        FROM 
          cl1_emails
             WHERE
              email= '$email' ");
              
              // MySQL Ausgabe..
              $ergebnis = mysql_query($abfrage);
              while ($row = mysql_fetch_object($ergebnis))
              
              
              if ($row->email == $email and mysql_num_rows($ergebnis) == 1)
                {
                    $_SESSION['logincookie'] = $email;
                }
                $email = $row->email;
         if ($email == "")
        {
            // Hier denn link hinter location einfügen.. header("location deineurl.de");
            header("location index2.php");
        }  
        ?>

Und die Datenbank sieht so aus:

Code:
Feld        Typ               Kollation                Attribute         Null     Standard        Extra
id        mediumint(8)           -                   UNSIGNED        Nein       Kein         AUTO_INCREMENT
email     varchar(250)     latin1_german2_ci                       Nein     
name     varchar(250)     latin1_german2_ci                       Nein

Aber es klappt net! was mache ich falsch?? ich bin ratlos... Mann wird einfach nicht auf die index2.php weitergeleitet.
Das Script soll prüfen ob eine e-mail adresse in der mysql datenbank vorhanden ist, und falls net, soll eine fehlermeldung erscheinen, und falls doch, soll man weitergeleitet werden
Wer kann mir da helfen?

Lg
Lars
 
Hallo,

ob "email" aus der DB gleich der eingegebenen Adresse ist, könntest du dir sparen, denn das hat der Where-Teil ja schon bestätigt. Daran sollte es allerdings nicht liegen. Es könnte aber sein, dass du 2 mal die gleiche Adresse in der Tabelle hast, denn dann zeigt dein Script auch nicht die index2.php.

Am Besten du gibts an einigen stellen ersteinmal etwas aus, damit du weißt, welches Ergebniss deine DB-Abfrage hatte und was in der "email"-Variable steht. Bzw. du kannst gleich richtig jeden Schritt "durchdebuggen", so sieht man am besten, woran es liegt.

stumpi
 
Mhh.. da weiß ich net weiter, das script stammt auch net von mir, ich bin absoluter php neuling, versteh nur bahnhof, kannst dsu mir mir das script zum laufen bringen?
 
Hi,

jetzt seh ichs erst (habe nicht bis ganz runter gescrollt im Coding):
PHP:
$email = $row->email;
if ($email == "")
das macht nur Sinn, wenn die index2.php die Fehlermeldung darstellt.

Ich kann dir das "Script", aber schlecht zum laufen bringen, ich weiß ja nicht einmal, welche Seite hinter der "Weiterleitung" stehen soll, geschweige denn, wie du dir die Fehlermeldung vorgestellt hast (also einfach nen Satz ausgeben oder halt eine Weiterleitung auf eine Fehlerseite).

Wenn du gar keine Ahnung von PHP und SQL hast, ist das hier auch nicht wirklich der richtige Forenteil. Dafür gibt es Lose4Scripts, dort wirst du sicher einen finden, der dir das Ganze für Lose fertig programmiert.

Stumpi
 
Und was ich auch erst jetzt lese (man sollte halt wirklich alles richtig lesen und nicht annehmen, dass es richtig programmiert ist *g*):
PHP:
$ergebnis = mysql_query($abfrage);
hier muss anstatt "$abfrage" "$sql1" stehen, denn in dieser Variable steht ja auch das Select-Statement.

Ansonsten greift immer noch der zweite Absatz meines letzten Posts.

stumpi
 
...

PHP:
 if ($email == "")
        {
            // Hier denn link hinter location einfügen.. header("location deineurl.de");
            header("location index2.php");
        }

Das "nix" passiert, sollte an obiger Zeile liegen. Mit

PHP:
 $email = mysql_real_escape_string($_POST['email']);

wird der Variablen $email ein Wert zugewiesen (in diesem Fall eine Mailadresse.)

In obiger Zeile heisst es aber, leite auf index2.php weiter, wenn die Variable leer ist. :ugly:
 
*edit: Meinen Post vergessen. War noch nicht so fit. Lösung steht über meinem Beitrag
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.

Ähnliche Themen