Problem mit Php und MySQL, kriege keinen funktionierenden Code hin!?

Hey, Ich habe es geschafft, dass man sich registrieren kann und es gibt auch in der registration abfragen, ob z.B. die Email richtig ist, oder so, aber was ich nicht hinkriege ist zum Beispiel zu überprüfen, ob die Email schon in der Datenbank ist! Und das mit dem Anmelden kriege Ich auch nicht hin, Ich weiß nicht wie Ich Daten aus ner Tabelle überprüfen kann, Ich finde einfach kein vernünftiges Tut…

Kann mir einer helfen?:frowning:

Ich kriegs ums verrecken nicht hin…

Mein bisheriger Code zum anmelden ( bei dem nicht geprüft wird, ob es die Daten schon in der Datenbank gibt )
[PHP]

Registrieren

EMail:


Bentuzername:


Passwort:


Passwort wiederholen:





Achtung! Wenn Sie auf
"Registrieren" klicken, stimmen Sie automatisch den Richtlinien zu! <?php $email = $_POST["email"]; $benutzername = $_POST["benutzername"]; $passwort = $_POST["passwort"]; $passwort2 = $_POST["passwort2"]; $einverstanden = $_POST["einverstanden"];

if(isset($_GET[„page“])) {

function check_email($email) {
if(!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {
    return false;
}
$email_array = explode("@", $email);
$local_array = explode(".", $email_array[0]);
for ($i = 0; $i < sizeof($local_array); $i++) {
    if(!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
        return false;
    }
}
if(!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) {
    $domain_array = explode(".", $email_array[1]);
    if(sizeof($domain_array) < 2) {
        return false;
    }
    for($i = 0; $i < sizeof($domain_array); $i++) {
        if(!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
            return false;
        }
    }
}
return true;

}
if(check_email($email) == false)
{
?>

EMail:


<?php echo "Emailadresse existiert nicht!" ?>

Bentuzername:


Passwort:


Passwort wiederholen:




Achtung! Wenn Sie auf "Registrieren" klicken, stimmen sie automatisch den Richtlinien zu!
<?php } $emailcontrol = 0; $abfrage = " SELECT email FROM datennutzer WHERE email = '$email'"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { $emailcontrol++; } if($control != 0) { ?>

EMail:


<?php echo "Emailadresse schon vergeben!" ?>

Bentuzername:


Passwort:


Passwort wiederholen:




Achtung! Wenn Sie auf "Registrieren" klicken, stimmen sie automatisch den Richtlinien zu!
<?php
     }elseif($benutzername =="") {

?>

EMail:


Bentuzername:


<?php echo "Du hast keinen benutzernamen angegeben!"; ?>

Passwort:


Passwort wiederholen:




Achtung! Wenn Sie auf "Registrieren" klicken, stimmen sie automatisch den Richtlinien zu!
<?php }elseif($passwort != $passwort2 or $passwort =="" or $passwort2 =="") { ?>

EMail:


Bentuzername:


Passwort:


<?php echo "Passwörter stimmen nicht überein"; ?>

Passwort wiederholen:




Achtung! Wenn Sie auf "Registrieren" klicken, stimmen sie automatisch den Richtlinien zu!
<?php }

$control = 0;
$abfrage = " SELECT benutzername FROM datennutzer WHERE benutzername = ‚$benutzername‘";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis)) { $control++; }
if($control != 0) {
?>

EMail:


Bentuzername:


<?php echo "Bentuzernamen gibt es schon!"; ?>

Passwort:


Passwort wiederholen:




Achtung! Wenn Sie auf "Registrieren" klicken, stimmen sie automatisch den Richtlinien zu!
<?php }elseif($email == true and $benutzername != "" and $control ==0 and $passwort !="" and $passwort!="" and $passwort == $passwort2) {
$passwort = md5($_POST["passwort"]);

$kontoinfos = "INSERT INTO datennutzer
(email, benutzername, passwort) VALUES ('$email', '$benutzername', '$passwort')";

$eintragen = mysql_query($kontoinfos);

if($eintragen =true) {
  echo "Perfekt! Du wirst jetzt weitergeleitet! <meta http-equiv=\"refresh\" content=\"3; URL=http:/anmelden.php\">";
}else {
  echo "Registrierung fehlgeschlagen, bitte versuche es später erneut!";
}

}
}

mysqli_close($mysqlconnect);[/PHP]

Und anmelden [ klappt nicht, egal was man eingibt, man kommt immer auf die „loginseite“
[PHP]

Anmelden

Benutzername:


Passwort:





Noch nicht registriert? Hier registrieren! <?php $benutzername = ($_POST["benutzername"]); $passwort = md5($_POST["passwort"]);

$control = 0;
$abfrage = " SELECT benutzername, passwort FROM datennutzer WHERE benutzername = ‚$benutzername‘ AND passwort = ‚$passwort‘";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis)) { $control++; }

if($control != 0) {
$_SESSION[„benutzername“] = $benutzername;
$verhalten = 1;
}else {
$verhalten = 2;
}

mysql_close($mysqlconnect);[/PHP]

Bitte MySQLi / PDO anstatt MySQL benutzen. Ich sehe auch in keiner Zeile, das du irgendwo versuchst eine Verbindung zu deiner Datenbank aufzubauen. Ich sehe nur ein mysql_close und ein mysqli_close .

Oh, Ok. Die Verbindung zur Datenbank habe Ich nicht mit eigefügt, ist ja auch relativ unwichtig.

Wüsste nicht warum die Verbindung zur Datenbank unwichtig wäre, evtl. liegt da schon der Fehler. Ich weiß auch nicht woher dein Quellcode rührt. Sieht sehr nach einem veralteten Tutorial aus…

Habe lange ned mehr mit mysqli gearbeitet, aber so müsste es eig. funktionieren. Musst du natürlich an deine Formulare usw. anpassen… Sollte selbstverständlich sein.
[PHP]
$salt = ‚e48e13207341b6bffb7fb1622282247b‘;

$con = mysqli_connect(„hostname“,„user“,„passwd“,„database“);

if(mysqli_connect_error()) {
die(mysqli_connect_error());
}

$username = mysqli_real_escape_string($con, $_POST[‚username‘]);
$password = mysqli_real_escape_string($con, $_POST[‚password‘]);
$password = sha1($password . $salt);

$query = „SELECT username, password FROM users WHERE username=‚$email‘ AND password=‚$password‘“;
$result = mysqli_query($con, $query);
$rows = mysqli_num_rows($result);

if($rows === 1) {
echo „Sie haben sich erfolgreich eingeloggt.“;
} else {
echo „Benutzername und/oder Passwort falsch.“;
}[/PHP]