Cookie

  • #1
W

wibni

Bekanntes Mitglied
Themenersteller
Dabei seit
15.04.2005
Beiträge
71
Reaktionspunkte
0
Wenn ich eine Variable an ein Cookie uebergeben moechte, muss dieses Cookie ja ganz am Anfang definiert werden.
Wie uebergebe ich denn eine Variable ans Cookie, die erst am Ende eines PHP-Skripts zur Verfuegung steht?
Oder muss ich dass dann mit der URL-Uebergabe machen?
 
  • #2
wibni schrieb:
Wie uebergebe ich denn eine Variable ans Cookie, die erst am Ende eines PHP-Skripts zur Verfuegung steht?

z.B. durch Output-Buffering
Code:
<?php

ob_start();

/**
* Irgendwelcher Code und Ausgabe
*/

echo <p>Jetzt wird das Cookie gesetzt</p>;

setcookie (TestCookie, Hallo Stuttgart);

ob_end_flush();
?>

Ändern sich die Variablen häufiger, währe allerdings der gebrauch von SESSION dem der COOKIES vorzuziehen.


gruss conny
 
  • #3
Also ich habe es nun zwar mit dem ob_start(); geloest, aber so richtig gluecklich bin ich damit nicht.

Ich habe 3 Formulare. Im ersten mache ich Eingaben welche fuer den Select einer Datenbankabfrage genutzt werden. Das Zweite Formular zeigt mir die Ergebnisse des Selects in einer Tabelle ein und das 3. Formular erzeugt mir ein Diagramm mit den Ergebnissen aus den 2.Formular.
Das Diagramm des 3.Formulars wird ueber img src in das 2.Formular eingebunden.

Mein Problem bestand also darin, die Ergebnisse aus dem 2.Formular in das 3.Formular zu bringen. Hidden-Fields gehen da nicht, weil ich ja Request oder Get nicht nutzen kann.
Also dachte ich an Cookies. Hier stehe ich aber vor dem Problem, dass ich keine externe Function mehr aufrufen kann. Wenn ich es mit ob_start(); mache erhalte ich stattdessen Cannot redeclare function() Auch require_once() bringt keine Loesung.
Mache ich es ohne ob_start(); muesste ja das require function() vor dem Cookie stehen und ich habe wieder das Problem mit der Ausgabe vor dem Setzen eines Cookies.

Habe nun die Function mit in das 2.Formular geschrieben aber das blaeht es nur unnoetig auf. Es muss doch auch noch eine bessere Loesung geben?

Mit dem Apache habe ich all diese Probleme nicht. Da kann ich vor Cookies beliebigen Code ausfuehren und auch noch zusaetzliche Funktionen aufrufen. Der IIS macht jedoch nix mit.

Oder gibt es vielleicht noch eine weitere Moeglichkeit die Ergebnisse des 2.Formulars an das Diagramm im 3.Formular zu melden? Ohne Cookies mit den geschilderten Nachteil beim Aufruf externer Funktionen einzusetzen?
Die Session-Variablen habe ich so verstanden, das man sie ja auch ueber Cookies weiterleiten muss.

Ich schaetze mal, wenn ich den Quellcode richtig angelegt haette, wuerde ich nicht vor dem Problem stehen. Will aber nun nicht alles umschreiben...
 
  • #4
Sorry, wo liegt das Problem bei der SESSION ???

form2.php
Code:
<?php
session_start();

$data = array(Datensatz 1 => array(1,2,3,4),
			 Datensatz 2 => array(a,b,c,d),
			 Datensatz 3 => array(A,B,C,D));

$_SESSION['data'] = $data;
?>
<form action=form3.php method=post>
 <input type=submit name=submit value=GO>
</form>

form3.php
Code:
<?php
session_start();
print_r($_SESSION['data']);
?>

gruss conny
 
  • #5
ok. klappt nun!
danke fuer deine geduld.... ;)
 
Thema:

Cookie

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.965
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben