• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Probleme mit Cookie

Status
Für weitere Antworten geschlossen.
Abend,
...Sessions sind eine gute Lösung, allerdings ist die Eingestellte Sprache dann bei einem späteren Besuch wieder auf Standard gesetzt.
.....

stimmt, der code oben sollte eine belegung der sessionsvariablen problemlos möglich machen, ob aus cookies, textdateien, config oder sonst woher ist ja egal.

by the way, ich würde mal über sowas wie eine language-datei nachdenken und nicht für jede sprache eine eigene php seite erstellen.

PHP:
require_once($_SESSION['lng'].".lng");
require_once("index.php");
 
So gehts:

Du musst das Cookie GANZ AM ANFANG DER SEITE noch vor dem <html> Tag setzten es darf noch keine sichtbare ausgabe erfolgt sein.

Richtig:
PHP:
<?php
$value = 'irgendwas';

setcookie ("TestCookie", $value);
?>
<html>
...
</html>
Falsch:
PHP:
<html>
<?php
echo 'Irgendwas';
$value = 'irgendwas_anderes';

setcookie ("TestCookie", $value);
?>
</html>
hoffe, es klappt!
 
Ein Teil des Codes:

Code:
<?php     setCookie("Sprache","$language",0); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Regionalzentrum S&uuml;d</title>
<meta .../>
</head>
<body>
<?php

include 'include/counter.php';
?>
<div id="root">
    <div id="head">
    <span>Regionalzentrum S&uuml;d</span>
    </div>
    <div id='haupt'>
    <div id="menu">
    <?php
    

    echo"<center>
        <a href='index.php?language=de'><img src='images/Bilder/de.jpg' alt='Germany'/></a>
        <a href='index.php?language=en'><img src='images/Bilder/en.jpg' alt='English'/></a>
        <a href='index.php?language=tu'><img src='images/Bilder/tu.jpg' alt='Turkish'/></a>        
        </center>";
    


$cookie = $_COOKIE["Sprache"];

    if($_COOKIE['Sprache'] == 'de')
    {
    require 'language/german/lang_menu.php';
    } 
    elseif($_COOKIE['Sprache'] == 'en')
    {
    require 'language/english/lang_menu.php';
    }
    elseif($_COOKIE['Sprache'] == 'tu')
    {
    require 'language/turkie/lang_menu.php';
    }
    else
    {
    require 'language/german/lang_menu.php';
    }
...
 
wie einer vor mir schon gesagt hat, das Cookie ist nicht gleich im selben aufruf verfügbar. Also musst du zuerst schauen ob per GET eine Sprache "daher" kommt, wenn nicht auf das Cookie zurückgreifen und wenn das nicht da ist Standardsprache definieren.

mfg
 
Ich bin gerade arg am verzweifeln!!!

Mein script will keinen Cookie mehr setzen, es ging die ganze Zeit schief, aber seit heute nimmer :-(

Fehlermeldung:
Code:
[B]Notice[/B]:  Undefined index:  gbook in [B]C:\Programme\xampp\htdocs\2.1\***\eintragen.php[/B] on line [B]60[/B]

[B]Warning[/B]: Cannot modify header information - headers already sent by (output started at C:\Programme\xampp\htdocs\2.1\gbook\eintragen.php:60) in [B]C:\Programme\xampp\htdocs\2.1\***\eintragen.php[/B] on line [B]104[/B]
Die auskommentierte zeile in die 60.
PHP:
//Falls Cookie vorhanden, das schreiben eines Beitrages nicht zulassen
//if($_COOKIE["gbook"] == true) {
    $string = $_COOKIE["gbook"];
    $daten = explode(":", $string);
    //Ermitteln der Restzeit, bis nächster Beitrag geschrieben werden darf
    $aktuelle_zeit = time();
    $sekunden_tage = 60*30;
    $ablauf = $aktuelle_zeit + $sekunden_tage;
    $rest_zeit = round((30-($ablauf - $daten[0])/60),0);
die auskommentierte Zeile ist die 104.
PHP:
//Cookie setzten, für Schreibsperre
    $submit = $_GET["submit"];
    $aktuelle_zeit = time();
    $sekunden_tage = 60*$row->cookie;
    $ablauf = $aktuelle_zeit + $sekunden_tage;
    //setCookie("gbook",$ablauf, $ablauf);
Wieso geht dies nicht mehr?

MfG Marcel

EDIT: Hat sich erledigt, ging deswegen nicht, weil eine andere Variable zu weit oben stand, warum das falsch war/ist weiss ich aber nciht!
 
Zuletzt bearbeitet:
Closed: Grabschändung - Entweder bist du einfach nur faul aud das Datum zu sehen, oder dir fehlts mächtig an Erinnerungsvermögen. Noch einmal so eine sinnlose Grabschändung und du hast 'ne Sperre... (XraYSoLo)

Nils aka XraYSoLo
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben