Login mit Hilfe von PHP und mySQL

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

  • Login mit Hilfe von PHP und mySQL

    Ich habe mal genanntes tout ausprobiert...

    nur bekomme ich beim anmelden folgenden fehler...

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /www/htdocs/kirktos/main.php:7) in .../login.php on line 35


    hier mein script:


    <html>
    <head>
    <title>login</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">




    </head>

    <body bgcolor="#333333" text="#CCCCCC">
    <p>&nbsp;</p>
    <p align="center"><font size="+2" face="Arial, Helvetica, sans-serif"><strong>SUBsP/\Ce
    Login:</strong></font></p>
    <form method="post" action="">
    <div align="center">
    <p><font face="Arial, Helvetica, sans-serif"><strong>
    <select name="select">
    <option value="1">Test</option>
    </select>
    User:
    <input type="text" name="username">
    Passswort:
    <input name="userpass" type="password" id="userpass">
    ::::&gt;
    <input type="submit" name="Submit" value="LOGIN">
    &gt;&gt;&gt;</strong></font> </p>
    <p><font face="Arial, Helvetica, sans-serif"><strong><a href="main.php?id=registrieren.html">>>
    Registrieren <<</a></strong></font></p>
    </div>
    </form>

    <?
    session_start();
    include 'sessionhelpers.inc.php';
    if (isset($_POST['login']))
    {
    $userid=check_user($_POST['username'], $_POST['userpass']);
    if ($userid!=false)
    login($userid);
    else
    echo 'Ihre Anmeldedaten waren nicht korrekt!';
    }
    if (!logged_in())
    echo '<form method="post" action="">
    <div align="center">
    <p><font face="Arial, Helvetica, sans-serif"><strong>
    <select name="select">
    <option value="1">Testuni</option>
    </select>
    User:
    <input type="text" name="username">
    Passswort:
    <input name="userpass" type="password" id="userpass">
    ::::&gt;
    <input type="submit" name="Submit" value="LOGIN">
    &gt;&gt;&gt;</strong></font> </p>
    <p><font face="Arial, Helvetica, sans-serif"><strong><a href="main.php?id=registrieren.html">>>
    Registrieren <<</a></strong></font></p>
    </div>
    </form>';
    else
    echo '<a href="logout.php">Ausloggen</a>';
    echo '<p /><a href="logged_in.php">Check</a>';
    ?>


    </body>
    </html>
    kann mir jemand sagen wo da der fehler liegt?!
    Zuletzt geändert von oszi; 15.11.2004, 21:24.

  • #2
    ich vermute, dass der code (<?php ...) über <html> platziert werden soll, weil er anscheinend noch http-header abschicken muss, und das geht eben nur vor jeglicher ausgabe.

    Kommentar


    • #3
      wenn ich auf die login seite komm seh ich über dem login

      Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /www/htdocs/kirktos/main.php:7) in /www/htdocs/kirktos/login.php on line 2

      Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /www/htdocs/kirktos/main.php:7) in /www/htdocs/kirktos/login.php on line 2
      und wenn ich mich anmelden will kommt über dem login


      Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /www/htdocs/kirktos/main.php:7) in /www/htdocs/kirktos/login.php on line 2
      der geänderte code:
      PHP-Code:

      <?php
      session_start
      (); 
      include 
      'sessionhelpers.inc.php'
      if (isset(
      $_POST['login'])) 

          
      $userid=check_user($_POST['username'], $_POST['userpass']); 
          if (
      $userid!=false
              
      login($userid); 
          else 
              echo 
      'Ihre Anmeldedaten waren nicht korrekt!'

      if (!
      logged_in()) 
          echo 
      '<form method="post" action="">
        <div align="center"> 
          <p><font face="Arial, Helvetica, sans-serif"><strong>
      <select name="select">
              <option value="1">Testuni</option>
            </select>
            User: 
            <input type="text" name="username">
            Passswort: 
            <input name="userpass" type="password" id="userpass">
            ::::&gt; 
            <input type="submit" name="Submit" value="LOGIN">
            &gt;&gt;&gt;</strong></font> </p>
          <p><font face="Arial, Helvetica, sans-serif"><strong><a href="main.php?id=registrieren.html">>> 
            Registrieren <<</a></strong></font></p>
          </div>
      </form>'

      else 
          echo 
      '<a href="logout.php">Ausloggen</a>'
      echo 
      '<p /><a href="logged_in.php">Check</a>'
      ?> 

      <html>
      <head>
      <title>login</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">




      </head>

      <body bgcolor="#333333" text="#CCCCCC">
      <p>&nbsp;</p>
      <p align="center"><font size="+2" face="Arial, Helvetica, sans-serif"><strong>SUBsP/\Ce 
        Login:</strong></font></p>
      <form method="post" action="">
        <div align="center"> 
          <p><font face="Arial, Helvetica, sans-serif"><strong>
      <select name="select">
              <option value="1">Testuni</option>
            </select>
            User: 
            <input type="text" name="username">
            Passswort: 
            <input name="userpass" type="password" id="userpass">
            ::::&gt; 
            <input type="submit" name="Submit" value="LOGIN">
            &gt;&gt;&gt;</strong></font> </p>
          <p><font face="Arial, Helvetica, sans-serif"><strong><a href="main.php?id=registrieren.html">>> 
            Registrieren <<</a></strong></font></p>
          </div>
      </form>




      </body>
      </html>
      Zuletzt geändert von oszi; 14.11.2004, 16:43.

      Kommentar


      • #4
        Cannot send session cache limiter - headers already sent
        Such mal nach der Fehlermeldung, dann weißt du bescheid.

        Kommentar


        • #5
          ok hat wunderbar geklappt thx super howto!

          Kommentar


          • #6
            okay da das soweit funzt hab ich die tabelle etwas erweitert und würde gerne ein paar daten auslesen.
            Gestützt auf das toutorial hab ich vor ein paar daten aus der zeile des gerade eingelogten users auszulesen nämlich die Zahl in der von mir neu erstellten Spalte met.
            dazu habe ich in die sessionhelpers.php diese funktion eingefügt und führe sie in der login.php aus wenn der nutzer eingelogt ist...
            dann will ich den wert ausgeben.

            PHP-Code:
            function load_ud()
            {

            "SELECT met 
                FROM users 
                WHERE UserSession='"
            .session_id()."' 
                LIMIT 1"
            ;
                
            $resultmysql_query($sql) or die(mysql_error()); 
                if ( 
            mysql_num_rows($result)==1
                { 
                    
            $user=mysql_fetch_assoc($result); 
                    return 
            $met['met']; 
                } 
                else 
                    return 
            false
            ')or die("Error: ".mysql_error()); 
            Generell will ich eigentlich einfach nur wissen wie ich aus der eile eines Nutzers gewisse spalten auslesen in variablen speichern kann.

            Zum beispiel so eine Tablle und ich will met des users auslesen und in $met speichern um es dann zum beispiel ausgeben zu können
            echo ("$met");

            +------+-------+------+----------+
            | id | user | met | email |
            +------+-------+------+----------+
            | 1 | blah | 10 | x@y.de |
            +------+-------+------+----------+
            | 2 | trsb | 12 | z@g.de |
            +------+-------+------+----------+

            Schonmal THX

            Kommentar

            Lädt...
            X