• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] Verbidung zur Datenbank ist nicht möglich...

Loerbs

Mitglied
Hallo,

ich habe ein relativ großes Problem.
Ich habe mich nun entschieden doch mit einer Datenbank in meinen Login bereich zu arbeiten.
Habe mir das php script geschrieben und ich schaffe es nicht ein DB-Zugriff hinzubekommen.
Habe euch ein Bild der Datenbank gemacht...
DB.jpg

Habe auch noch mal nachgefragt, ist es auf jeden fall localhost ein Servername anzugeben.
Habe euch mein PHP script [INDEX.php] einmal hier rein kopiert.

PHP:
<?php
session_start();
$verhalten = 0;

if(!isset($_SESSION["username"]) and !isset($_GET["page"])) {
$verhalten = 0;
}
if($_GET["page"] == "log") {
/*
$user = $_POST["user"];
$passwort = $_POST["passwort"];
*/
$user = strtolower($_POST["user"]);
$passwort = md5($_POST["passwort"]);

            $verbindung = mysql_connect("localhost", "Manholdsql1", "Beispiel")
            or die ("Fehler im System");

            mysql_select_db("radiadmin")
            or die ("Verbidung zur Datenbank war nicht möglich...");
            
            $control = 0;        
            $abfrage = "SELECT * FROM login WHERE user = '$user' AND passwort = '$passwort'";
            $ergebnis = mysql_query($abfrage);
            while($row = mysql_fetch_object($ergebnis))
                {
                    $control++;
                }    


if($control != 0) {
$_SESSION["username"] = $user;
$verhalten = 1;
} else {
$verhalten = 2;
}
}
?>
<html>
<head>
    <title>Login</title>
    <?php
    if($verhalten == 1) {
    ?>
        <meta http-equiv="refresh" content="3; URL=seite2.php" />
    <?php
    }
    ?>
</head>
<body>
    <?php
    if($verhalten == 0) {
    ?>
    Bitte logge dich ein:<br />
    <form method="post" action="index.php?page=log">
        User:<input type="text" name="user" /><br />
        Passwort:<input type="password" name="passwort" /><br />
        <input type="submit" value="Einloggen" />
    </form>
    <p><a href="register.php">Noch nicht dabei? Jetzt registrieren...</a></p>
    <?php
    }
    if($verhalten == 1) {
    ?>
    Du hast dich richtig eingeloggt und wirst nun weitergeleitet....
    <?php
    }
    if($verhalten == 2) {
    ?>
    Du hast dich nicht richtig eingeloggt, <a href="index.php">zurück</a>.
    <?php
    }    
    ?>
</body>
</html>

und noch die refister.php datei auf der verwiesen wird.

PHP:
<html>
</head>
    <title>Mein Bereich - Registrieren</title>
</head>
<body>
<h3>Registrieren</h3>
<?php
if(!isset($_GET["page"])) {
?>
    <form action="register.php?page=2" method="post">
    Username:<input type="text" name="user" /><br />
    Passwort:<input type="password" name="pw" /><br />
    Passwort wiedeholen:<input type="password" name="pw2" /><br />
    <input type="submit" value="Senden" />
    </form>
<?php
}
?>
<?php
if(isset($_GET["page"])) {
    if($_GET["page"] == "2") {
    $user = strtolower($_POST["user"]);
    $pw = md5($_POST["pw"]);
    $pw2 = md5($_POST["pw2"]);
    
    if($pw != $pw2) {
        echo "Deine Passwörter stimmen nicht überein. Bitte wiederhole deine Eingabe....<a href=\"register.php\">zurück</a>";
    } else {
            $verbindung = mysql_connect("localhost", "Manholdsql1", "Beispiel")
            or die ("Fehler im System");

            mysql_select_db("radiadmin")
            or die ("Verbidung zur Datenbank war nicht möglich...");
            
            $control = 0;        
            $abfrage = "SELECT user FROM login WHERE user = '$user'";
            $ergebnis = mysql_query($abfrage);
            while($row = mysql_fetch_object($ergebnis))
                {
                    $control++;
                }    
            if($control != 0) {
                echo "Username schon vergeben. Bitte verwende einen anderen Usernamen....<a href=\"register.php\">zurück</a>";
            } else {
            $eintrag = "INSERT INTO login
            (user, passwort)

            VALUES
            ('$user', '$pw')";

            $eintragen = mysql_query($eintrag);
            
            if($eintragen == true) {
                echo "Vielen Dank. Du hast dich nun registriert...<a href=\"index.php\">Jetzt anmelden</a>";
            } else {
                echo "Fehler im System. Bitte versuche es später noch einmal...";
            }
            mysql_close($verbindung);
            }
    }
    }
}
?>
</body>
</html>

Darüber hinaus habe ich es einmal auf meinen Sever gelegt die Datein... Hier könnt ihr euch auch nochmal das Problem ansehen.
Login

Es wer klasse wen mir jemand helfen könnte und mich auf meinen Problem/Fehler aufmerksamm macht.
Vielen Dank in vorraus. :)

Mit Lieben Grüßen:
A. Lörbs
 
Hallo Theummy,

vielen Dank für deine schnelle Antwort!
Habe es nun geändert, leider geht es immer noch nicht!? :?

Hier noch mal die verbesserte fassung. [INDEX.php]
PHP:
<?php
session_start();
$verhalten = 0;

if(!isset($_SESSION["username"]) and !isset($_GET["page"])) {
$verhalten = 0;
}
if($_GET["page"] == "log") {
/*
$user = $_POST["user"];
$passwort = $_POST["passwort"];
*/
$user = strtolower($_POST["user"]);
$passwort = md5($_POST["passwort"]);

            $verbindung = mysql_connect("localhost", "Manholdsql1", "Beispiel")
            or die ("Fehler im System");

            mysql_select_db("Manholdsql1")
            or die ("Verbidung zur Datenbank war nicht möglich...");
            
            $control = 0;        
            $abfrage = "SELECT * FROM login WHERE user = '$user' AND passwort = '$passwort'";
            $ergebnis = mysql_query($abfrage);
            while($row = mysql_fetch_object($ergebnis))
                {
                    $control++;
                }    


if($control != 0) {
$_SESSION["username"] = $user;
$verhalten = 1;
} else {
$verhalten = 2;
}
}
?>
<html>
<head>
    <title>Login</title>
    <?php
    if($verhalten == 1) {
    ?>
        <meta http-equiv="refresh" content="3; URL=seite2.php" />
    <?php
    }
    ?>
</head>
<body>
    <?php
    if($verhalten == 0) {
    ?>
    Bitte logge dich ein:<br />
    <form method="post" action="index.php?page=log">
        User:<input type="text" name="user" /><br />
        Passwort:<input type="password" name="passwort" /><br />
        <input type="submit" value="Einloggen" />
    </form>
    <p><a href="register.php">Noch nicht dabei? Jetzt registrieren...</a></p>
    <?php
    }
    if($verhalten == 1) {
    ?>
    Du hast dich richtig eingeloggt und wirst nun weitergeleitet....
    <?php
    }
    if($verhalten == 2) {
    ?>
    Du hast dich nicht richtig eingeloggt, <a href="index.php">zurück</a>.
    <?php
    }    
    ?>
</body>
</html>

und die register.php.

PHP:
<html>
</head>
    <title>Mein Bereich - Registrieren</title>
</head>
<body>
<h3>Registrieren</h3>
<?php
if(!isset($_GET["page"])) {
?>
    <form action="register.php?page=2" method="post">
    Username:<input type="text" name="user" /><br />
    Passwort:<input type="password" name="pw" /><br />
    Passwort wiedeholen:<input type="password" name="pw2" /><br />
    <input type="submit" value="Senden" />
    </form>
<?php
}
?>
<?php
if(isset($_GET["page"])) {
    if($_GET["page"] == "2") {
    $user = strtolower($_POST["user"]);
    $pw = md5($_POST["pw"]);
    $pw2 = md5($_POST["pw2"]);
    
    if($pw != $pw2) {
        echo "Deine Passwörter stimmen nicht überein. Bitte wiederhole deine Eingabe....<a href=\"register.php\">zurück</a>";
    } else {
            $verbindung = mysql_connect("localhost", "Manholdsql1", "Beispiel")
            or die ("Fehler im System");

            mysql_select_db("Manholdsql1")
            or die ("Verbidung zur Datenbank war nicht möglich...");
            
            $control = 0;        
            $abfrage = "SELECT user FROM login WHERE user = '$user'";
            $ergebnis = mysql_query($abfrage);
            while($row = mysql_fetch_object($ergebnis))
                {
                    $control++;
                }    
            if($control != 0) {
                echo "Username schon vergeben. Bitte verwende einen anderen Usernamen....<a href=\"register.php\">zurück</a>";
            } else {
            $eintrag = "INSERT INTO login
            (user, passwort)

            VALUES
            ('$user', '$pw')";

            $eintragen = mysql_query($eintrag);
            
            if($eintragen == true) {
                echo "Vielen Dank. Du hast dich nun registriert...<a href=\"index.php\">Jetzt anmelden</a>";
            } else {
                echo "Fehler im System. Bitte versuche es später noch einmal...";
            }
            mysql_close($verbindung);
            }
    }
    }
}
?>
</body>
</html>

Wo drann kann ich noch liegen?
Liebe Grüße
 
Das hier

PHP:
<?php
$abfrage = "SELECT * FROM login WHERE user = '$user' AND passwort = '$passwort'";
?>

muss gescheit ausgewiesen werden.
Lass' dir die Abfrage mal per var_dump() ausgeben, dann siehst dus.

Nils aka XraYSoLo
 
Hallothemmy!

Damit wir nicht an einander vorbeisprechen, und es vieleicht an meinen Rechner liegt (Dann mach ich gleich ein Systemneustart)
Hast du es dir eben selber zusammen kopiert oder den link Login genutzt?

Bei mir kommt immer noch die eingegebene Fehlermeldung
[h=3]Registrieren
[/h] Fehler im System. Bitte versuche es später noch einmal...

habe es nun auch schon mit verschiedenen Browsern probiert, immer die selbe Meldung....

Frage:
Wo dran kann es dann liegen das es bei dir ihnhaut und bei mir nicht? :?

Vielen Dank für deine Bemühungen!

Liebe Grüße
 
Haaaallllooooooo??? Bitte alle Antworten lesen und beachten!!!!
PHP:
$eintragen = mysql_query($eintrag)
   or die ("MySQL-Error: " . mysql_error());
 
Bin ich doof, oder warum fragst Du das? Ich habe natürlich versucht mich anzumelden. User: test und Passwort: test

Ich habe nie behauptet das du "doof" bist.... Bin sehr dankbar das ihr mir hier hilft....
Leider weiß ich nicht wo dran es liegen kann du du dich erfolgreich Regestireren kannst und ich mich nicht!?

bdt600:

Habe deine Nachricht gelesen:
PHP:
$eintragen = mysql_query($eintrag)
   or die ("MySQL-Error: " . mysql_error());

Ist doch alles Okey... oder seh ich das falsch???

Vielen dank nochmal das ihr euch mit meinen Problem beschäftigt...
Liebe Grüße
 
Ich habe mich noch nicht registriert, sondern lediglich versucht mich mit test / test einzulogen, und das wird sauber abgefangen
 
Hallo thuemmy...

Habe gerade gsehen, dass die DB jede eingabe annimmt....
Habe soeben auch nochmal die DB ausgelesen... Es sind keine einträge vorhanden...
Was habe ich in diesen Code Falsch gemacht, das die DB alles animmt...??? Wir evt. überhaupt keine verbiedung aufgebaut? Das wiederspircht sich dann aber wieder mit meinen bedinungen... hmmm :neutral:

DB.JPG

Was soll ich tun, vieleicht hab ihr noch eine Idee für mich.?
Vielen Dank!

Liebe Grüße

Habe es nun geändert!

php.JPG

Fehlermeldung:

[h=3]Registrieren
[/h] MySQL-Error: Table 'Manholdsql1.login' doesn't exist
 
Also das bisschen Englisch solltest Du schon können. Die Tabelle heißt wohl nicht login, vielleicht heißt sie ja radiadmin?
 
Im Übrigen ist das Script unsicher, da gegen SQL-Injections nicht abgesichert. Außerdem ist die MySQL-Extension ab PHP5.5 veraltet und wird in PHP5.6 oder PHP6 komplett abgeschafft werden. Daher solltest du sattdessen mysqli oder PDO verwenden.
"select *" sollte man nie machen. Man sollte immer die Felder abfragen, die man braucht. Und wozu machst du strtolower?

"== true" kann man sich sparen.
 
Zurück
Oben