kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: PHP 5: Cookies werden nicht gesetzt

    geschrieben von suggestion

    Hallo

    wie davidlw und muellerlukas schon sagten, das Problem ist, dass Du
    setcookie()
    mitten in drin, also nicht vor jedweder Ausgabe im Browser setzen willst, und das geht nicht.


    also ALLE setcookie() Aufrufe müssen ganz oben,
    noch vor Asgabe von
    <!DOCTYPE HTML><HTML><Head>
    sein

    und die dabei gesetzten Variablen-Werte $Des[0] und $Dese
    müssen dazu auch vorher aus GET/POST ausgelesen sein


    ich rate Dir alle POST / GET Prüfungen,in diesem Bereich (vor <html>)
    zu schreiben, und nicht mitten in der Ausgabe einzeln zu Prüfen

    Dazu kann man sich entsprechende Variablen setzen,
    die dann auch späer für die Ausgabe verfügbar sind ...
    so ähnlich wie Du es schon für die Variable $Filter gemacht hast

    nur solltest Du für jedes GET / POST auch wenn nicht vorhanden
    trotzdem die Variable setzen, meinetwegen mit Leerstring oder Standard-Wert.

    Beispiele: (ganz oben vor HTML Ausgabe)

    if (isset($_GET['Filter']) && !empty($_GET['Filter'])) { 
      $Filter = $_GET['Filter'];  }  else { $Filter = 'Standard'; } 
    
    if (isset($_GET['Design']) && !empty($_GET['Design'])) {  
       $Design = $_GET['Design'];  }  else { $Design= 'blau'; } 
    
    if (isset($_GET['Maus']) && !empty($_GET['Maus'])) {  
       $MausWert = $_GET['Maus'];  }  else { $MausWert = '1'; }

    usw...

    dann kannst Du die Cookies setzen

    $timespamp = time(); 
    $cxplus_time = 2145900917; 
    $cookie_time = ($timespamp + $xplus_time); 
    
    setcookie('Maus', $MausWert , $cookie_time);


    und später in der Ausgabe kannst Du als DEBUG alle Cookies die gesetzt wurden
    dann wieder ausgeben / darauf zugreifen

    print '<pre style="margin4px; padding:6px; background:#DEDEDE; text-align:left;">'."\n"; 
    print_r($_COOKIE); 
    print '</pre>'."\n";



    also .... wichtig ist,
    dass setcookie() nicht nach der Ausgabe im Browser verwendet werden kann

Login zum Webhosting ohne Werbung!