kostenloser Webspace werbefrei: lima-city


Login Script fehler

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    senshi-network

    senshi-network hat kostenlosen Webspace.

    Huhu :wave: ,
    ich habe wider mal ein Problem und zwar mit einem Login System der einfach nicht funktioniert will ^^

    Die Data Base sieht so aus
    CREATE TABLE `user` (
      `id` int(7) NOT NULL AUTO_INCREMENT,
      `nick` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
      `password` varchar(60) COLLATE utf8_unicode_ci DEFAULT NULL,,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;



    Die Login.php sieht so aus
    <?php	   
       session_start ();      
    	   
    
      
        if (isset ($_REQUEST["fehler"])) 
    { 
      echo "Die Zugangsdaten waren ungültig."; 
    }  
    
        if (isset ($_REQUEST["fehler2"])) 
    { 
      echo "Erfolg"; 
    }  
    
      include ("login.html");
        
    	if(isset($_POST['submit']) && $_POST['submit'] == 'Login') {
    	
    include ("config.php");
    $user = ($_POST['name'])  ;
    $password = ($_POST['password']) ;
    
    
    
    $sql = "SELECT ". 
        "* ". 
      "FROM ". 
        "user ". 
      "WHERE ". 
        "(nick like '".$user."') AND ". 
        "(password = '".md5 ($password)."')"; 
    	
    $result = mysql_query ($sql);  
    
    if (mysql_num_rows ($result) > 0)  
    {  
    
      $data = mysql_fetch_array ($result);  
    
      $_SESSION["user_id"] = $data["id"];  
    
      
     {
     echo "<meta http-equiv=\"refresh\" content=\"1;url=login.php?fehler2=1\">"  ;
     } 
     } 
     else
     {
     echo "<meta http-equiv=\"refresh\" content=\"1;url=login.php?fehler=1\">"  ;
     } 
    }
    ?>


    Die DB Connection Infos holt er ja aus der config.php
    Die Posts holt der aus der login.html

    Ich bekomme immer die Meldung Die Zugangsdaten waren ungültig. auch wenn die Daten 100%ig richtig eingeben hab, schon alles ausprobiert hab auch geprüft ob der Eintrag in der Datenbank auch ein MD5 hash ist...

    ich weiß echt nimmer weiter :wall: währe nett wenn mir jemand helfen kann.

    mfg
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. senshi-network schrieb:
    CREATE TABLE `user` (
      `id` int(7) NOT NULL AUTO_INCREMENT,
      `nick` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
      `password` varchar(60) COLLATE utf8_unicode_ci DEFAULT NULL,,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    wenn du dir 100pro sicher bist, dass dein create genau so ausgeführt wurde, dann muss ich dazu das hier zeigen:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '
      PRIMARY KEY (id)
    ) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLAT' at line 4
    was nichts anders sagen will, dass du in der 4ten zeile einen fehler hast, und zwar zwei kommas am ende ',,'. wenn das aber so ist, dann hast du die tabelle gar nicht erst erstellen können. oder du hast irgendeine andere - ev. alte - tabelle mit wirklich falschen daten drin. mehr kann man blind nicht dazu sagen.
  4. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Du hostest das ganze vermutlich hier auf lima-city. Da hier standardmäßig Fehlermeldungen deaktiviert sind solltest du das mal umstellen, um eventuelle MySQL-(Syntax)Fehler zu entdecken.

    Was sonst noch aufgefallen ist:
    Wozu machst du im Query-String "fehler=1" oder "fehler2=1" ? Und warum machst du Weiterleitungen?
    fehler2 deutet ja schon mal an, dass man sich erfolgreich eingeloggt hat. Natürlich heißt das dann auch Fehler!

    fehler=1 kannst du durch fehler ersetzen, da du ja nur mit isset prüfst, ob der Parameter vorhanden ist ;)

    Mal ganz abgesehen von hemiolos Bemerkung...
  5. Autor dieses Themas

    senshi-network

    senshi-network hat kostenlosen Webspace.

    hemiolos schrieb:
    senshi-network schrieb:
    CREATE TABLE `user` (
      `id` int(7) NOT NULL AUTO_INCREMENT,
      `nick` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
      `password` varchar(60) COLLATE utf8_unicode_ci DEFAULT NULL,,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    wenn du dir 100pro sicher bist, dass dein create genau so ausgeführt wurde, dann muss ich dazu das hier zeigen:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '
      PRIMARY KEY (id)
    ) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLAT' at line 4
    was nichts anders sagen will, dass du in der 4ten zeile einen fehler hast, und zwar zwei kommas am ende ',,'. wenn das aber so ist, dann hast du die tabelle gar nicht erst erstellen können. oder du hast irgendeine andere - ev. alte - tabelle mit wirklich falschen daten drin. mehr kann man blind nicht dazu sagen.


    nein die wurde nicht so ausgeführt ^^ ich hab die einzelnd mit navicat gemacht also is die database so richtig ich hab nur nen teil aus den SQL rauskopiert damit ihr sieht wie die aufgebaut ist

    hackyourlife schrieb:

    Du hostest das ganze vermutlich hier auf lima-city. Da hier standardmäßig Fehlermeldungen deaktiviert sind solltest du das mal umstellen, um eventuelle MySQL-(Syntax)Fehler zu entdecken.

    Was sonst noch aufgefallen ist:
    Wozu machst du im Query-String "fehler=1" oder "fehler2=1" ? Und warum machst du Weiterleitungen?
    fehler2 deutet ja schon mal an, dass man sich erfolgreich eingeloggt hat. Natürlich heißt das dann auch Fehler!

    fehler=1 kannst du durch fehler ersetzen, da du ja nur mit isset prüfst, ob der Parameter vorhanden ist ;)

    Mal ganz abgesehen von hemiolos Bemerkung...



    Das habe ich gemacht weil ich sehn wollte ob die Login Funktion funktioniert weil das eigentliche ziel noch nicht wirklich fertig ist xD

    Beitrag zuletzt geändert: 8.4.2012 15:36:04 von senshi-network
  6. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Einrückungen sind auch wohl eine Zier, ohne der man weiter kommt...
    Du hast hier folgenden Code:
    if (mysql_num_rows ($result) > 0)  
    {  
    
    [...]
    
     {
     echo "..."  ;
     } 
     } 
     else
     {
     echo "..."  ;
     } 
    }
    Tja, was das wohl machen sollte ist noch nicht entdeckt worden, daran muss noch geforscht werden.

    Wenn du genug in deinem Gehirm gräbst könnte es ja noch vorkommen, dass du den wahren Zweck des Konstruktes findest und den Code dementsprechend umbaust :biggrin:
  7. Autor dieses Themas

    senshi-network

    senshi-network hat kostenlosen Webspace.

    hackyourlife schrieb:
    Einrückungen sind auch wohl eine Zier, ohne der man weiter kommt...
    Du hast hier folgenden Code:
    if (mysql_num_rows ($result) > 0)  
    {  
    
    [...]
    
     {
     echo "..."  ;
     } 
     } 
     else
     {
     echo "..."  ;
     } 
    }
    Tja, was das wohl machen sollte ist noch nicht entdeckt worden, daran muss noch geforscht werden.

    Wenn du genug in deinem Gehirm gräbst könnte es ja noch vorkommen, dass du den wahren Zweck des Konstruktes findest und den Code dementsprechend umbaust :biggrin:



    na jetzt auf einmal geht der Login hab jetzt Erfolg da stehen naja wenn ihr noch was findet was ich verbessern kann könnt ihr es ja gerne posten weil ich ja auch noch viel in Sache php lernen muss aber ansonsten hat es sich erledigt.

    Hab nur noch ne frage soviel ich weiß müssen Cookies am Anfang eines Scripts gesetzt werden aber der soll ja erst die Login Daten überprüfen kann ich das irgendwie in der Datei noch mit einbauen oder soll ich ne Weiterleitung dafür machen ¿

    Ich bedanke mich noch mal an alle
  8. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    senshi-network schrieb:
    Hab nur noch ne frage soviel ich weiß müssen Cookies am Anfang eines Scripts gesetzt werden aber der soll ja erst die Login Daten überprüfen kann ich das irgendwie in der Datei noch mit einbauen oder soll ich ne Weiterleitung dafür machen ¿
    Logindaten usw prüft man sowieso normalerweise ganz am Anfang vom Script bevor noch irgend eine Ausgabe gemacht wurde.

    Cookies werden mittels HTTP-Header-Feldern gesetzt, deshalb muss das auch geschehen, bevor noch ein einziges Zeichen Text übertragen wird.
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!