Fehler in meiner login.php

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fehler in meiner login.php

    Also folgendes Problem. Es geht um einen Login per PHP in eine MySQL - Datenbank. Dies ist die login.php:

    PHP-Code:
    <?php
    session_destroy
    ();
    session_start();
    session_register("username");
    session_register("level");
    session_register("logincheck");
    $dbserver "*mein host*";
    $dbname "*meinedb*";
    $dbuser "*meinusername*";
    $dbpass "";
    $connect = @ mysql_connect($dbserver$dbuser$dbpass);
    if (!
    $connect)
    {
    die (
    "Login fehlgeschlagen");
    }
    mysql_select_db($dbname,$connect);
    $query "SELECT level FROM user WHERE name = '".$username."' AND pass = '".$passwort."';
    $result = mysql_query($query,$connect);
    $getline = mysql_fetch_array($result,MYSQL_ASSOC);
    if (!
    $getline)
    {
    die ("
    Login failed");
    }
    mysql_close(
    $connect);
    $level = $getline[level];
    $logincheck = 1;
    ?>
    <html>
    <head>
    <meta http-equiv="
    refresh" content="0URL=index.php?loc=main2.php"> 
    <link rel="
    stylesheet" href="stt.css" type="text/css">
    </head>
    <body bgcolor="
    #000000" class="sttnormal">
    <div align="center"><br>
      <
    br>
      
    Einen Moment bitte.</div>
    </
    html>
    Also, wenn ich das ausführe kommt "Parse error: parse error in login.php on line 23", lösche ich die Zeile 23 kommt einer anderswo. Ich kann mir das nicht erklären, außer, dass das Skript voller Fehler sein müsste. Achja, ich hät auch noch kurz ne Frage: Wenn ich mit "die" den Loginvorgang beende, wie mache ich das, dass automatisch auf die index.php weitergeleitet wird?

  • #2
    PHP-Code:
    $query "SELECT level FROM user WHERE name = '".$username."' AND pass = '".$passwort."'; 
    fehlt am Ende ein "

    nach die(...) kannste garnichts mehr machen.
    dann dafür besser eine Weiterleitung zB:

    header("Location loginfalse.html");
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      Oh, hatte ich übersehen. Funzt jetzt. Aber wie mache ich das mit dem die()? Ich kann doch header() nur an den Anfang eines Skriptes und nicht mittendrin, oder?

      Kommentar


      • #4
        du kannst header auch am Ende des Scriptes machen,
        du darfst vorher nur nichts ausgegeben haben
        TBT

        Die zwei wichtigsten Regeln für eine berufliche Karriere:
        1. Verrate niemals alles was du weißt!


        PHP 2 AllPatrizier II Browsergame

        Kommentar


        • #5
          Also kann ich den header() auch noch nach dem connecten der Datenbank in eine if - Funktion verpacken?

          Kommentar


          • #6
            Jo, Header darf überall genutzt werden. Du musst lediglich darauf achten, dass Vorher keine Ausgabe der Seite erfolgt ist (also kein echo, print, die, ...). Da in diesem Fall dann schon der HTTP-Header der Seite gesendet werden wüde. Denn mit header() sendest du ja deinen eigenen Header und zwei Headers kann es ja schlecht geben. Hoffe das ist verständlich. Aber spätestens bei der Fehlermeldung solltest du die Problematik verstehen.

            *verwirr*

            Kommentar


            • #7
              ja.
              Beantworte nie Threads mit mehr als 15 followups...
              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

              Kommentar


              • #8
                PHP-Code:
                if (!$connect)
                {
                die ();
                header("Location: index.php?loc=main.php"); 

                So wollte ich das lösen. Funzt aber irgendwie net ... es kommt nur ne leere weiße Seite.

                Kommentar


                • #9
                  hast net genau gelesen was vorher stand.

                  die() gilt auch als ausgabe wie echo print usw.


                  Probiers mal so:
                  PHP-Code:
                  if (!$connect)
                  {
                  header("Location: index.php?loc=main.php"); 
                  exit;

                  Das exit nach dem header ist nur zur sicherheit.
                  mfg Flashfactor

                  Gebildet ist, wer weiß, wo er findet, was er nicht weiß.

                  Kommentar


                  • #10
                    Danke. Jetzt funzts.

                    Kommentar

                    Lädt...
                    X