Thomy: Loginsystem funktioniert nicht

Hi,
ich hab mit Hilfe einem Tutorial(*) ein Loginsystem geschrieben. Da es nach dem ersten Mal nicht funktioniert hat, hab ich das Script von der Seite runtergeladen und kopiert. Leider funktioniert dies auch nicht. Es kommt immer dieser Fehler:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /srv/www/htdocs/web180/html/Test/Test2/default.php:3) in /srv/www/htdocs/web180/html/Test/Test2/index.php on line 10

Aber in Line 10 steht nur: session_start() (siehe indexscript)

Die Scripte:
Adminscript:
http://scripts.php-q.net/tutorial/login/admin.php
Indexscript:
http://scripts.php-q.net/tutorial/login/index.php

*Das Tutorial muss man von Anfang bis Ende durchlesen, folgende Themen basieren auf das Voherige. Ich habe es auch bis zu diesem Thema gemacht, da das nächste auf das Loginsystem basiert, kann ich nicht weiter machen.

Die MYSQL ist erreichbar und habe auch schon damit gearbeitet.

Könnte mir jemand sagen, wo da der Fehler liegt.

#Thomy

  1. Das heißt, du hast bereits vor dem session_start() eine Ausgabe gemacht.
    Der session_start()-Befehl kann nur gemacht werden, wenn zuvor absolut keine HTML-ausgabe gemacht wurde, nicht ein mal ein Leerzeichen.

    z.B.:

    datei.php ==> korrekt
    --------------
    <?php
      session_start();
      ...

    datei.php ==> falsch
    <html>
    <?php
      session_start();
      ...

    lg Gerhard

    1. Hi,
      danke, jetzt ist der Fehler weg. Aber leider ein neues Prob. Wenn ich mich einloggen will. kommt immer das mein Passwort falsch wäre.

      Alles im adminscript.

      #Thomy

      1. So stark sind meien telepathischen Fähigkeiten noch nicht ausgeprägt dass ich von hier aus deinen Quellcode einsehen könnte.
        Leider kann ich dir ohne diesen in diesem Fall nicht weiterhelfen.
        lg Gerhard

        1. Hi,
          nun geht grad gar nichts mehr, ich klicke auf Abschicken, aber es lädt immer wieder das Forumlar.
          Mein adminquelltext:
          <?php
              if(isset($_GET['action']) AND ("logout" == $_GET['action'])) {
                  session_destroy();
                  echo "<p><font color="white">\n";
                  echo "    Sie haben sich ausgeloggt. Um wieder in den Adminbereich\n";
                  echo "    zu kommen müssen sie sich wieder Einloggen\n";
                  echo "</p></font>\n";
              } else {
                  if(isset($_POST['UserID']) AND '0' == $_POST['UserID']) {
                      echo "<p><font color="white">\n";
                      echo "    Bitte wählen sie einen Benutzernamen aus.\n";
                      echo "</p></font>\n";
                  } else {
                      if(isset($_POST['UserID'], $_POST['Password']) AND
                         login_right(addslashes($_POST['UserID']),
                                     addslashes($_POST['Password']))) {
                          $_SESSION['ID'] = $_POST['UserID'];
                      }
                      if(isset($_SESSION['ID'])) {
                          echo "<p><font color="white">\n";
                          echo "    Willkommen im Adminbereich <br />\n";
                          echo "    <a href="index.php?section=admin&amp;".SID."">Repeat</a>\n";
                          echo "    <a href="index.php?section=admin&amp;action=logout&amp;".SID."">Ausloggen</a>\n";
                          echo "</p></font>\n";
                      } else {
                          if(isset($_POST['submit'])) {
                               // Der Submit-Button wurde gedrückt
                               // aber der Login ist falsch. Deshalb
                               // erstellen wir eine Fehlermeldung
                               echo "<p class="error">\n";
                               echo "    Ungültiges Password.\n";
                               echo "</p>\n";
                          }
                          echo "<form action="default.php?section=admin" method="post" class="admin_form">\n";
                          echo "    <table>\n";
                          echo "        <tr>\n";
                          echo "            <th colspan="2">\n";
                          echo "                <h2><font color="white">Adminbereich</h2>\n";
                          echo "            </th>\n";
                          echo "        </tr>\n";
                          echo "        <tr>\n";
                          echo "            <td>\n";
                          echo "                <label for="name"><font color="white">Name:</font></label>\n";
                          echo "            </td>\n";
                          echo "            <td>\n";
                          $sql = "SELECT
                                      ID,
                                      Name
                                  FROM
                                      users
                                  ORDER BY
                                      Name ASC;";
                          $result = mysql_query($sql) OR die(mysql_error());
                          echo "                <select size="1" name="UserID" id="name">\n";
                          echo "                    <option value="0" selected="selected">>Bitte wählen</option>\n";
                          while($row = mysql_fetch_assoc($result)) {
                              echo "<option value="".$row['ID']."">".$row['Name']."</option>\n";
                          }
                          echo "                </select>\n";
                          echo "            </td>\n";
                          echo "        </tr>\n";
                          echo "        <tr>\n";
                          echo "            <td>\n";
                          echo "                <label for="password"><font color="white">Password:</font></label>\n";
                          echo "            </td>\n";
                          echo "            <td>\n";
                          echo "                <input type="password" name="Password" id="password"/>\n";
                          echo "            </td>\n";
                          echo "        </tr>\n";
                          echo "        <tr>\n";
                          echo "            <td colspan="2">\n";
                          echo "                <input type="submit" name="submit" value="Abschicken" />\n";
                          echo "                <input type="reset" name="submit" value="Zurücksetzen" />\n";
                          echo "            </td>\n";
                          echo "        </tr>\n";
                          echo "    </table>\n";
                          echo "</form>\n";
                      }
                  }
              }
          ?>

          function quelltext(ausschnitt):
          ...
          function login_right($id, $pass)
          {
          $sql = "SELECT
             COUNT(*) as Anzahl
            FROM
             users
             WHERE
             ID = '".$id."' AND
              Password = MD5('".$pass."');";
             $result = mysql_query($sql) OR die(mysql_error());
             $row = mysql_fetch_assoc($result);
             mysql_free_result($result);
             return $row['Anzahl'];
          }
          ...

          Ich hoff ihr findet den Fehler.

          #Thomy

        2. Hi,
          jetzt bringt er wenigsten wieder, Ungültiges Passwort.

          #Thomy

      2. Ahoi Thomy,

        danke, jetzt ist der Fehler weg. Aber leider ein neues Prob. Wenn ich mich einloggen will. kommt immer das mein Passwort falsch wäre.

        vermutlich liegts daran das du was anderes eingibst als in der
        login_right() funktion angegeben ist. gibts zu diesen scripten auch noch
        irgendwelchen erklärenden text? wenn nicht ein schlechtes Tut.

        MfG

        --
        Alle Angaben wie immer ohne Gewähr
        PPPS: ich trinke gerne ab und an mal eine tote Tante.
  2. Ahoi Thomy,

    Aber in Line 10 steht nur: session_start() (siehe indexscript)

    und was steht in zeile 1 bis 9?

    MfG

    --
    Alle Angaben wie immer ohne Gewähr
    PPPS: ich trinke gerne ab und an mal eine tote Tante.
  3. Hi Thomy!

    ich hab mit Hilfe einem Tutorial

    Der Dativ ist dem Genitiv sein Tod! |scnr| ;-)

    MfG Hopsel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)