Cookie setzen geht nicht

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

  • Cookie setzen geht nicht

    Ich möchte bei erfolgreichem Einloggen einen Cookie setzen. Ich habe vor den beiden setcookie() keine Ausgabe, lediglich Variablen werden festgesetzt und Constanten werden "includet". Trotzdem bekomme ich den Fehler "cannot modify header". Warum? Muss ich das vielleicht mit einer zwischenseite machen die dann zurück auf die Index lenkt?

    PHP-Code:
    <?php
    include("inc/include.inc");
    // Login
    // Überprüfen ob Cookie vollständig gesetzt
    if(isset($_COOKIE['benfutzername']) && isset($_COOKIE['pafsswort']))
    {
        
    $errortestausgabe .= "cookie vorhanden";
    }    
    // Überprüfen ob Login gesendet wurde
    elseif($_POST[dologin] == "Einloggen" && isset($_POST['benutzername']) && isset($_POST['passwort']))
    {
        
    $mysql mysql_query("SELECT id,name,password FROM users WHERE name='$_POST[benutzername]'");
        
    $mysql mysql_fetch_array($mysql);
        if(!isset(
    $mysql[name])) { $error_login "".ERROR_START."Benutzername nicht vorhanden!"; }
        elseif(
    $mysql[password] != md5($_POST['passwort'])) { $error_login "".ERROR_START."Passwort stimmt nicht mit Benutzernamen überein!"; }
        
    // Wenn kein Fehler vorhanden, Cookie setzen und einloggen!
        
    if(!isset($error_login))
        {
            
    setCookie("benutzername","$_POST[benutzername]",time()+2419200);
            
    setCookie("passwort","$_POST[passwort]",time()+2419200);
            
    $login_html "<a href=\"#\" >Ausloggen</a>";

        }
        else
        {
            
    $login_html "hier steht der form zum einloggen";
            
    $content $error_login;
        }


    }    
    else
    {
        
    $login_html "hier steht der form zum einloggen";
    }
    //Ausgabe HTML
    ?>

  • #2
    Suchfunktion.
    Sticky-Thread.

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      So ich habe nun nach leerzeichen oder sonstigen Ausgaben gesucht aber NICHTS. In den includes die ich vorher habe werden lediglich variablen festgelegt und Constanden. Aber diese brauch ich ja schon vor dem setcookie =( Und nun?

      Kommentar


      • #4
        schon mal daran gedacht, dass deine Abfrage eventuell fehlerhaft ist und der Parse vorher schon Fehlermeldung abgeworfen hat

        Kommentar


        • #5
          Was soll den Fehlerhaft sein? Sobald ich die 2 setcookie rausnehm geht alles wunderbar!

          Kommentar


          • #6
            da sehe ich aber anders es könnten sehr viele Fehler auftreten, ich liste mal auf:

            - elseif($_POST[dologin] ...
            - WHERE name='$_POST[benutzername]'")...
            - $mysql = mysql_fetch_array($mysql);
            - if(!isset($mysql[name]))

            im setcookies selbst auch:

            - $_POST[benutzername]
            - $_POST[passwort]

            und der größte Blödsinn aller Zeiten sind:

            - $error_login = [color=red]""[/color].ERROR
            - [color=red]"[/color]$_POST[benutzername] [color=red]"[/color]
            - [color=red]"[/color]$_POST[passwort] [color=red]"[/color]

            lerne erstmal richtig PHP, dann kannst du anfangen zu programmieren.

            Kommentar


            • #7
              Re: Cookie setzen geht nicht

              Original geschrieben von lichtscheu
              Trotzdem bekomme ich den Fehler "cannot modify header".
              Die Meldung sagt dir doch auch genau, in welcher Datei und welcher Zeile die erste Ausgabe stattfindet.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Original geschrieben von asp2php

                und der größte Blödsinn aller Zeiten sind:

                - $error_login = [color=red]""[/color].ERROR
                - [color=red]"[/color]$_POST[benutzername] [color=red]"[/color]
                - [color=red]"[/color]$_POST[passwort] [color=red]"[/color]

                lerne erstmal richtig PHP, dann kannst du anfangen zu programmieren. [/B]
                Was bitte ist da dran blödsinn? ok ich könnte ERROR_START."blablubb"; machen aber was ist dann noch falsch bitte?

                Kommentar


                • #9
                  Original geschrieben von lichtscheu
                  Was bitte ist da dran blödsinn?
                  Es ist blödsinnig, Leerstrings zu verknüpfen, ebenso wie Variablen immer in Anführungszeichen zu setzen.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar

                  Lädt...
                  X