Problem mit header()

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

  • Problem mit header()

    Hallo zusammen,

    ich bin gerade dabei ein login-script zu schreiben.

    folgender Code wird dabei in die index.php geladen:
    PHP-Code:

    function AuthUser ($username$password) {
        global 
    $db;
        
    $q $db->get_results("SELECT user_id FROM users WHERE username = '$username' AND password = '$password'");
        return 
    $q[0]->user_id;
    }


    if (!
    FirstTime()) {
        
    header("Location: http://".$_SERVER['HTTP_HOST']."/".$site_folder."index.php?current_box=first_time");
    }

    if (isset(
    $_POST['box_login'])) {
        if (!isset(
    $_POST['username']) || empty($_POST['username'])) { 
            
    $error[] = "Bitte geben Sie Ihren Benutzernamen ein.";
            
    $current_box "login";
        } else {
            
    $username $_POST['username'];
        }
            
        if (!isset(
    $_POST['password']) || empty($_POST['password'])) { 
            
    $error[] = "Bitte geben Sie Ihr Passwort ein."
            
    $current_box "login";
        } else {
            
    $password md5($_POST['password']);
        }

        if (!isset(
    $error) && !AuthUser($username$password)) {
            
    $error[] = "Bitte überprüfen Sie Ihren Benutzernamen und Ihr Passwort."
            
    $current_box "login";
        }
        
        if (!isset(
    $error) && AuthUser($username$password)) {
            
    session_start();
            
    $_SESSION['user_id'] = AuthUser($username$password);
            
    header("Location: home.php?current_box=aufgaben");
        }
    }


    $content .= "<form name='login' id='login' method='POST' action=''>";
    $content .= "<table cellpadding='3' cellspacing='0' width='100%'><tr><td>";
    if (isset(
    $error)) {
        
    $content .= "<font class='error'>".$error['0']."</font><br>";
    }
    $content .= "<br><input name='username' type='text' class='login' id='username' value='".$_POST['username']."'/> Benutzername<br><br>";
    $content .= "<input name='password' type='password' class='login' id='password' /> Passwort<br><br> ";
    $content .= "<input name='send_login' type='submit' class='login' id='send_login' value='Anmelden' />";
    $content .= "<input name='box_login' type='hidden' id='box_login' value='1' />";
    $content .= "</td></tr></table>";
    $content .= "</form>"
    auf der darauffolgenden Seite (soweit login ok) steht dann wenn ich mir den Quelltext anzeigen lasse folgender Code 4 mal gefolgt von dem Code der ausgegeben werden soll:
    PHP-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd"
    >
    <
    html>
    <
    head>
    <
    meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <
    title>Unbenanntes Dokument</title>
    </
    head>

    <
    body>
    </
    body>
    </
    html
    Kann mir jemand erklären woher diese 4 zusätzlichen Header kommen?

    Vielen Dank für eure Hilfe.
    greetz Frank

  • #2
    Re: Problem mit header()

    Mach hinter den header-Aufrufen mal noch ein exit() rein, damit der nachfolgende Code nicht mehr ausgeführt wird.


    Und benutze bei einem Location-Header jedesmal einen absoluten URL.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      OK, habe ich gemacht. Leider besteht das Problem immer noch.
      Hier mal noch der Code aus der home.php die angezeigt wird, wenn der login ok ist.

      PHP-Code:
      <?php
      session_start
      ();

      include 
      "includes/config.php";
      include 
      "includes/db_query.php";
      include 
      "includes/functions.php";

      if (!isset(
      $_SESSION['user_id']) || empty($_SESSION['user_id'])) {
          
      header("Location: http://".$_SERVER['HTTP_HOST']."/".$site_folder."index.php");
          exit();
      }
      if (isset(
      $_GET['logout'])) {
          
      logout();
      }

      include 
      "includes/header.php";
      ?>

      <table width="100%" border="0" cellspacing="0" cellpadding="0">
      .....

      Kommentar

      Lädt...
      X