Portal > Foren > PHP > PHP-Programmierung > Cookie funktioniert nicht
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 15.01.2006, 13:58 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 22.12.2005
Beiträge: 23
Standard Cookie funktioniert nicht

Also laut Buch und "Google" müsste das hier funktionieren oder hab ich schon wieder schwachfug gemacht!?


Meine index.php:

PHP-Code:
<?php
$lang 
$_COOKIE['lang'];
if(
$lang == "deutsch") {
header('Location: http://snipe13051.sn.funpic.de/euroflirt/deu/index.php');
} else {
header('Location: http://snipe13051.sn.funpic.de/euroflirt/eng/index.php');
}
?>

Meine index.php im "deu" Ordner:
PHP-Code:
<?php
$akutelle_zeit 
time();
$sekunden_tage 60*60*24*90;
$ablauf $aktuelle_zeit $sekunden_tage;
setcookie("deutsch",$lang,$ablauf);
?>
Meine index.php im "english" Ordner:
PHP-Code:
<?php
$akutelle_zeit 
time();
$sekunden_tage 60*60*24*90;
$ablauf $aktuelle_zeit $sekunden_tage;
setcookie("english",$lang,$ablauf);
?>

Datt ist doch alles richtig oder!?

Jedenfalls will ich, wenn der User Deutsch oder English als Sprache anklickt, ein Cookie setzen sodass er beim nächsten mal beim aufruf der Standard index.php direkt auf "deu" oder "eng" index.php weitergeleitet werden soll...

Das hat aber nicht so richtig geklappt nur warum nicht?

p.s. wenn er nachdem er z.b. english als sprache ausgewählt hat jetzt auf einmal deutsch haben will und dort raufklickt wird ja das cookie einfach überschrieben richtig?
Snipe ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 14:02 Nach oben    #2
Neuer Benutzer
 
Registriert seit: 12.09.2005
Beiträge: 15
Standard

Hast du denn auch $_COOKIE['lang'] gesetzt ???
Dark Knight ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 14:04 Nach oben    #3
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

http://de2.php.net/manual/de/function.setcookie.php
Beispiel eins zeigt dir, dass dein Cookie nicht den namen lang sondern "english", oder "deutsch" hat.
mit
PHP-Code:
<?php
$lang 
"english";
setcookie("language",$lang,$ablauf);
?>
kannst du dann mittels
PHP-Code:
<?php
$lang 
$_COOKIE['language'];
if(
$lang == "deutsch") {
header('Location: http://snipe13051.sn.funpic.de/euroflirt/deu/index.php');
} else {
header('Location: http://snipe13051.sn.funpic.de/euroflirt/eng/index.php');
}
?>
auf die Sprache überprüfen.
Du hast einfach den Namen des Cookies falsch gesetzt.
Mit
PHP-Code:
<?php
echo '<pre>';
print_r($_COOKIE);
echo 
'</pre>';
?>
kannst du dir aus testweise ausgeben lassen, was genau in deinem cookie überhaupt steht
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 14:12 Nach oben    #4
Neuer Benutzer
 
Registriert seit: 22.12.2005
Beiträge: 23
Standard

Hmm toll, dann stand das im Buch richtig und im Internet Tutorial war des falsch


Danke euch


p.s. meine "p.s. Frage" von oben wurde noch nit beantwortet
Snipe ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 14:22 Nach oben    #5
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

wenn ich mich nicht irre hast du recht
aber ich irre mich nie, wenn ich mich nicht irre!
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 14:24 Nach oben    #6
Neuer Benutzer
 
Registriert seit: 22.12.2005
Beiträge: 23
Standard

okay nu noch mal zu dem Test was im Cookie steht:

PHP-Code:
Array
(


Ist das nit Prima? muss wohl die i-net einstellungen ändern?
Snipe ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 14:33 Nach oben    #7
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Du solltest Cookies akzeptieren .. is' klar
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 14:36 Nach oben    #8
Neuer Benutzer
 
Registriert seit: 22.12.2005
Beiträge: 23
Standard

ich wüsste nicht das ich das wo mal ausgestellt habe aber naja windows xp sag ich nur


p.s. hab jetzt gemacht cookies immer akzeptieren is trotzdem leer datt feld, wattn datt!? o.O

Geändert von Snipe (15.01.2006 um 14:38 Uhr)
Snipe ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 14:38 Nach oben    #9
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Firefox -> Extras -> Einstellungen -> Datenschutz -> Cookies

Als Beispiel.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 14:53 Nach oben    #10
Neuer Benutzer
 
Registriert seit: 22.12.2005
Beiträge: 23
Standard

ihr könnt das ja mal testen bei mir steht halt immer kein inhalt des cookies...


wenn ihr auf der page seid (www.euro-flirt.net) dann einfach mal oben auf Seite in Deutsch anklicken und danach oben in der adresszeile noch cookie.php dranhängen und enter drücken...


also bei mir steht das Array () dort...


Ich denke nicht das mein script jetzt falsch ist aber vllt. spinnt mein rechner wieder


p.s. was heißt in php eigendlich im head bereich <head></head> ist ja html is das gleiche wie in php?


momentan sind die beiden scripts über den <head></head> bereich... und egal wie ich es drehe und wende es wird Array () angezeigt


p.s. cookies sind in beiden browsern auf immer akzeptieren also daran liegt es nicht, könnt ihr es mal bitte überprüfen!?



Dankö für eure Hilfe...
Stefan
Snipe ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 15:27 Nach oben    #11
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

Kannst du mal nen direkten link zur cookieseite geben? wenn ich deine schritte folge kommt 404 error.
Wenn ich mein "web developer" plugin von ff nutze (empfehle ich dir dringend), dann sagt er mir, dass kein cookie vorhanden ist.
also irgendwie ist dein setzen nicht erfolgreich

der headbereich von php ist VOR dem headbereich von html. Der Header von PHP kann solange verändert werden, bis deine erste ausgabe kommt. meistens der <html> Tag.

edit:
deine arcorwerbung setzt bei mir aber cookies!
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 15:31 Nach oben    #12
Neuer Benutzer
 
Registriert seit: 22.12.2005
Beiträge: 23
Standard

http://snipe13051.sn.funpic.de/euroflirt/cookie.php


p.s. jo is nen freeserver... nimm den erstmal nur zum testen... )
daher die freewerbung oder was des is


edit:
alle cookie scripte sind über dem <head></head> bereich...
Snipe ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 15:34 Nach oben    #13
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

hm die site selbst sollteste aber online lassen = //edit: ist wieder online
kannst ja auch mal den kompletten headbereich reinhauen, dann schaun wir mal wies ist
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 15:40 Nach oben    #14
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Du schreibst ganz am Anfang "akutelle_zeit". Simpler Tippfehler.
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 16:02 Nach oben    #15
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Hier mal ein Beispiel, wie ich das realisieren würde.
Du willst ja alles doppelt und dreifach .. also pro Sprache jede Seite einzelnd erstellen.
Das ist ja nicht wirklich gut gelöst.

Arbeite mit Sprachdateien.
Ein ganz simples Beispiel ..

Wir haben die Sprachdateien "lang.en.php" und "lang.de.php".
PHP-Code:
<?php

   
/*
    * Ein paar Testeinträge in der Sprachdatei.
    */

   
$lang = array();
   
   
$lang['TITLE']   = 'Welcome to Euro-Flirt.net';
   
$lang['CONTACT'] = 'get in contact using the contact form.'

   
// usw.
   
?>
und
PHP-Code:
<?php

   
/*
    * Ein paar Testeinträge in der Sprachdatei.
    */

   
$lang = array();
   
   
$lang['TITLE']   = 'Wilkommen auf Euro-Flirt.net';
   
$lang['CONTACT'] = 'Nimm mit uns Kontakt auf ..'

   
// usw.
   
?>
Soderle. Nun brauchen wir eine Datei, die wir in jede Seite des Projekts einbinden. Ich habe ihr den kreativen Namen "cookie_setzen.php" gegeben .
PHP-Code:
<?php

  
    session_start
();

    
/*
     *  Bei entsprechendem _GET-Parameter wird die Cookie- 
     *  und die Sessionvariable gelöscht.
     *  Für Tests ganz hilfreich :-)
     */
    
if(array_key_exists('delete'$_GET)) {
        
setcookie('lang'''time()-1);
        unset(
$_SESSION['lang']);
    }
    
    
/*
     * Standardsprache.
     */
    
$defaultLanguage 'en';
    

    
$lang $defaultLanguage;
     
    
/*
     * Umstellen der Sprache per URL.
     */ 
    
if(array_key_exists('lang'$_GET)) {    
        
$lang strtolower(trim($_GET['lang']));
        
setcookie('lang'$langtime() + 7776000);
    }  
    elseif(
array_key_exists('lang'$_SESSION)){
        
$lang $_SESSION['lang'];
    }   
    elseif(
array_key_exists('lang'$_COOKIE)) {
        
$lang $_COOKIE['lang'];
    }
    else {
        
setcookie('lang'$langtime() + 7776000);
    }
    
    
/*
     * Variable in Session sichern.
     */
    
$_SESSION['lang'] = $lang;    

?>
Zuletzt noch die eigentliche Datei. Hier heißt sie "demo_seite_multilingual.php" ... bei Dir wäre das "index.php", "eine_andere_seite.php" und Co.
PHP-Code:
<?php

    
/*
     * Sprache setzen
     */
    
require_once('cookie_setzen.php');

    
/*
     * Sprachdatei laden
     */
    
require_once('lang.' $lang '.php');

    
    echo 
'<a href="' $_SERVER['PHP_SELF'] . '?lang=de">deutsch</a>
          <br />
          <a href="' 
$_SERVER['PHP_SELF'] . '?lang=en">english</a>
          <br />
          <a href="' 
$_SERVER['PHP_SELF'] . '?delete">Cookie löschen</a>';
    
    
    echo 
'<pre>';
    
var_dump($lang);
    echo 
'</pre>';


    echo 
'<pre>';
    
var_dump($_COOKIE['lang']);
    echo 
'</pre>';
    
    
    echo 
'<pre>';
    
var_dump($_SESSION['lang']);
    echo 
'</pre>';    
    
?>

Grüße Ben.

Geändert von Ben (06.03.2007 um 11:45 Uhr) Grund: Link zur Beispieldatei entfernt, da nicht mehr vorhanden
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 16:15 Nach oben    #16
Neuer Benutzer
 
Registriert seit: 22.12.2005
Beiträge: 23
Standard

Zitat:
Zitat von Lars
Du schreibst ganz am Anfang "akutelle_zeit". Simpler Tippfehler.

Wohl wahr danke dir, das das aber noch keiner gesehen hat *lach*



Cookie wird jetzt zwar gesetzt aber das ganze funktioniert immernoch nicht...



p.s. ich schau mir mal ben seine version nebenbei an... Danke schonmal für die Mühe


Edit: diese Idee habe ich auch schon über google gefunden... aber für größere Texte ist es doch nich umsetzbar oder denke ich da falsch!? Für Formulare ect. ist es umsetzbar aber ganze Sätze!?

Oder bin ich total falsch im Hirn!? *lach*

Geändert von Snipe (15.01.2006 um 16:20 Uhr)
Snipe ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 16:20 Nach oben    #17
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

session_start() vor cookie setzen? seid wann geht das bitte? oder hab ich hier seit monaten was falsch im kopf?
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 16:22 Nach oben    #18
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Zitat:
Zitat von Snipe
für größere Texte ist es doch nich umsetzbar oder denke ich da falsch!?
Ja. Du denkst falsch. Selbstverständlich müssen die Seiteninhalte aus der Datenbank kommen.
Du selektierst immer den Seiteninhalt, der gerade gefragt ist .. also je nach gesetzter Sprache.

@WarrenFaith:
Ähm, teste es .. es läuft.
Ich habe aber gerade eben das erste Mal ein Cookie gesetzt .. .. also lass ich mich gerne belehren .


Grüße Ben.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 16:29 Nach oben    #19
Neuer Benutzer
 
Registriert seit: 22.12.2005
Beiträge: 23
Standard

aaaah okay, verstanden )


na dann werd ich mich mal daran üben *hihi*


p.s. ben in deinem beispiel wird die sprache die man ausgewählt hat aber nicht gespeichert oder!? also ich mein wenn man das nächste mal auf die Hauptdomain geht das dann automatisch z.b. deutsch ausgewählt ist!?


weil da hängen warren und ich gerade fest

Geändert von Snipe (15.01.2006 um 16:31 Uhr)
Snipe ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 16:31 Nach oben    #20
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Ob das jetzt die optimale Lösung ist .. weiß ich nicht.
Hier hatten wir schon mal so einen Thread, der ist aber dann irgendwie ... nicht fortgeführt worden. (Übringes auch ein Thread von Dir ).

Grüße Ben.

Geändert von Ben (06.03.2007 um 11:45 Uhr)
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wo ist mein cookie??? Xean PHP-Programmierung 4 06.11.2006 14:04
Problem mit Cookie und Reloads... Bookworm PHP-Programmierung 10 13.04.2006 12:09
onLoad="test.style.visibility = 'hidden' funktioniert im FF nicht Corvin JavaScript und AJAX 7 13.02.2006 16:52
PRoblem mit Cookie bei PHPbb-Board Julied64 PHP-Programmierung