Login bzw.Übergabe-Script

  • Ich möchte gern folgendes PHP-Script erstellen.
    Man gibt Username und eMail ein. Dieses wird in
    Datenbank geprüft. Ist es ok, soll auf eine Seite
    weitergeleitet werden.
    Die Tabelle heisst club_user, wo sich login (Username)
    und email (eMail-Adresse) befinden. Die Tabellen
    befinden sich in der Datenbank Club.


    Login htm:


    login.php

    Herzliche Grüße
    aus Freital
    Wolfgang
    Danke im Voraus allen helfenden Usern!!

  • du hast zwar keine frage gestellt, aber ich hab dir mal deine php datei etwas umgeschrieben, sollte so klappen.
    bei fragen einfach nochmal schreiben.


    so long

  • Zitat von phore

    du hast zwar keine frage gestellt, aber ich hab dir mal deine php datei etwas umgeschrieben, sollte so klappen.
    bei fragen einfach nochmal schreiben.


    so long

    Leider geht das nicht. Habe meine mysql-Daten eingetragen.
    Wenn ich das Formular zum Login starte. Daten eintrage und
    dann "login" klicke erscheint im Browser der gesamte Text
    wie folgt ( Connectdaten für mySQL habe ich eingetragen).

    Code
    ?php session_start(); $verbindung = mysql_connect("****", "****" , "****") or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); mysql_select_db("club") or die ("Datenbank konnte nicht ausgewählt werden"); extract($_POST); // Funktion: String sichern function esc_string ($string) { $sec_string = mysql_real_escape_string($string); return $sec_string; } // Strings an Funktion übergeben $login = esc_string($login); $email = esc_string($email); // Abfragen $abfrage = "SELECT `login`, `email` FROM `club_user` WHERE `login` = '$login' AND `email` = '$email'"; $resultat = mysql_query($abfrage); $cnt = mysql_num_rows($abfrage); // Falls es eine Übereinstimmung gibt (resultate > 0) -> Sessions setzen usw. if($cnt > 0) { $_SESSION["login"] = $login; $_SESSION["email"] = $email; echo "Login erfolgreich.
    Home"; } else { echo "Login-Name und/oder eMail waren falsch. Login"; } ?>

    Herzliche Grüße
    aus Freital
    Wolfgang
    Danke im Voraus allen helfenden Usern!!

  • Zitat von phore

    probierst du es auf dem lokalen pc oder auf einem server?
    denn das ist ein zeichen dafür, dass dein server kein php unterstützt.

    so long

    PHP geht:
    http://theeagle.mine.nu/testphp/witze/ausgabe.php

    oder gehe auf http://www.kit.theeagle.de

    sonst würde dieses auch nicht gehen. Habe einen XAMPP installiert und
    da ist alles drin.

    Danke für Deine Hilfe-super.

    Herzliche Grüße
    aus Freital
    Wolfgang
    Danke im Voraus allen helfenden Usern!!

  • bei dem ersten link geht der zufallsbutton nicht, um beim ersten erkenn ich auch kein php..
    bei xampp muss man php noch aktivieren meines wissens..

    mach mal eine datei mit folgendem inhalt:

    PHP
    <?php
      phpinfo();
    ?>

    und ruf sie auf. wenn das nicht geht, dann geht php nicht.

    so long

  • Zitat von phore

    bei dem ersten link geht der zufallsbutton nicht, um beim ersten erkenn ich auch kein php..
    bei xampp muss man php noch aktivieren meines wissens..

    mach mal eine datei mit folgendem inhalt:

    PHP
    <?php
      phpinfo();
    ?>

    und ruf sie auf. wenn das nicht geht, dann geht php nicht.

    so long

    phpinfo geht, habe PHP Version 5.1.4

    Herzliche Grüße
    aus Freital
    Wolfgang
    Danke im Voraus allen helfenden Usern!!


  • Du solltest darauf achten immer alles genau zu schreiben da steht
    if($row->lögin == $login)
    und "LÖGIN" soltle es nicht heißen oder?
    Vielleicht liegt es daran..

    [Blockierte Grafik: http://azustek.az.funpic.de/hf.gif]
    <?php
    $artists = array("Methodman", "Big L");
    if(!in_array($new_artist, $artists)) {
    array_push($artists, $new_artist);
    }

  • Zitat von phore

    und die dateiendung ist wirklich php?
    hab mal schnell die beiden dateien auf meinen server geladen und bei mir geht es.. kA was du falsch machst.

    Hatte ein "<" vergessen. Nun zeigt es folgendes an:

    Code
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in \htdocs\testphp\login.php on line 23
    Login-Name und/oder eMail waren falsch


    nehme ich die line 23 raus:

    Code
    $cnt = mysql_num_rows($abfrage);


    da kommt nur "Login-Name und/oder eMail waren falsch"
    Obwohl die Daten richtig sind die ich eingebe auf der login.html.[/quote]

    Herzliche Grüße
    aus Freital
    Wolfgang
    Danke im Voraus allen helfenden Usern!!

  • fehler mit mysql funktionen liegen an den abfragen, die zeile 23 stimmt schon.
    du musst mal schauen ob diese abfrage stimmt:

    Code
    $abfrage = "SELECT `login`, `email` FROM `club_user` WHERE `login` = '$login' AND `email` = '$email'";

    teste das mal im phpmyadmin mit testwerten und überprüfe ob die feldnamen usw. stimmen.
    wenns immer noch nicht funzt, kommentier mal die abfrage zeile aus und gib einfach den wert von $login und $email mit echo() aus und schau was sie für werte haben.

    so long

  • Zitat von phore

    fehler mit mysql funktionen liegen an den abfragen, die zeile 23 stimmt schon.
    du musst mal schauen ob diese abfrage stimmt:

    Code
    $abfrage = "SELECT `login`, `email` FROM `club_user` WHERE `login` = '$login' AND `email` = '$email'";

    teste das mal im phpmyadmin mit testwerten und überprüfe ob die feldnamen usw. stimmen.
    wenns immer noch nicht funzt, kommentier mal die abfrage zeile aus und gib einfach den wert von $login und $email mit echo() aus und schau was sie für werte haben.

    so long

    Ja, wenn ich wüßte wie das gemacht wird.

    so?

    Code
    //$abfrage ="SELECT `login`, `email` FROM `club_user` WHERE `login` = '$login' AND `email` = '$email'";
    
    
    echo("SELECT `login`, `email` FROM `club_user` WHERE `login` = '$login' AND `email` = '$email'";)

    Herzliche Grüße
    aus Freital
    Wolfgang
    Danke im Voraus allen helfenden Usern!!

  • Zitat von phore

    öh, mach zuerst mal einfach

    echo $abfrage;

    und überprüfe die ausgabe, ob die feldnamen usw. stimmen.

    So ich habe die Zeile 23 weggelassen und durch Deine Zeile ersetzt.
    Dabei schreibt es folgendes:

    SQL
    SELECT `login`, `email` FROM `club_user` WHERE `login` = '' AND `email` = ''


    Vielleicht kan das Bild zur Fehlerfindung helfen.
    [Blockierte Grafik: http://www.kit.theeagle.de/pics/mysql.jpg]

    Hier könnt Ihr die Login-Seite aufrufen:
    http://theeagle.mine.nu/club/login.htm
    Zu Testzwecken sollen diese Daten eingetragen werden:
    testuser
    testuser(ad)theeagle.de. Diese eMail ist ein Fake zum Test.
    Diese stehen auch in der Datenbank. Nach richtigen Eintrag
    und Vergleich in der Datenbank, sollte man zur Homepage
    kommen.

    Herzliche Grüße
    aus Freital
    Wolfgang
    Danke im Voraus allen helfenden Usern!!