netscape 6.2 übernimmt session-variablen nicht
jessica
- php
hallo,
habe folgendes problem:
über ein formular soll in einer externen php-datei text in ein bild geschreiben werden. das bild wird über
<img src="etikett.php5?etikett=<?=session_id()?>" width="360" height="230" border="0" alt="">
innerhalb der formular-seite aufgerufen.
quelltext der formularseite:
<?php
session_name("etikett");
session_start();
if (isset($_POST['aktualisieren']))
{
$text = array($_POST['text_1'], $_POST['text_2'], $_POST['text_3'], $_POST['text_4'], $_POST['text_5']);
$_SESSION['text'] = $text;
}
else
{
$text = array('Beispiel Titel', 'Beispiel Unterzeile', 'Gratulation, Glückwunsch, Dank, Einladung, Gutschein, Anspielung,', 'Beschreibung eines Anlasses.', 'Datum, Absender oder was Sie möchten');
$_SESSION['text'] = $text;
}
?>
[...]
<input name="text_1" value="<?php echo $_SESSION['text'][0] ?>" type="Text">
<input name="text_2" value="<?php echo $_SESSION['text'][1] ?>" type="Text">
<input name="text_3" value="<?php echo $_SESSION['text'][2] ?>" type="Text">
<input name="text_4" value="<?php echo $_SESSION['text'][3] ?>" type="Text">
<input name="text_5" value="<?php echo $_SESSION['text'][4] ?>" type="Text">
<input type="Submit" name="aktualisieren" value="aktualisieren">
[...]
quelltext der bild-datei:
<?php
session_name("etikett");
session_start();
$image = ImageCreateFromJPEG('Bilder/etikett_1.jpg');
for (
;
list (, $text) = each($_SESSION['text']),
;
)
{
ImageTTFText($image, $schriftgr, 0, $x, $y, $schriftfarbe, $schrift, $text);
}
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>
im ie und mozilla funktioniert alles bestens, nur im netscape und mit einigen mac-browsern gibt's probleme. hier werden die session-variablen erst nach dem browser-reload aktualisiert, nicht aber beim submit.
bitte!!! kann mir irgendjemand helfen?
liebe grüße
jessica
Hallo jessica,
was steht denn im <form ...>-tag?
Gruß, Andreas
hi andreas,
folgendes:
<form action="<?php echo $_SERVER[PHP_SELF]; ?>" method="post" name="formular">
müsste ja eigentlich passen, oder?
gruß
jessica
<form action="<?php echo $_SERVER[PHP_SELF]; ?>" method="post" name="formular">
müsste ja eigentlich passen, oder?
genau damit habe ich im N4.x mal Probleme gehabt. Obwohl das vom Brauser ja eigentlich völlig unabhängig sein sollte, war es aber nicht. Ich kann mir das bis heute nicht erklären.
Versuch's doch mal mit der ausgeschriebenen Adresse, also action="mein_script.php". Im Zweifel noch mit der absoluten Adresse: action="http://pfad/.../mein_script.php"
Gruß, Andreas
hi andreas,
vielen dank für deine nachricht.
habe beide varianten ausprobiert, aber es klappt leider nicht.
ich weiß wirklich nicht mehr, was ich noch ausprobieren könnte. vielleicht muss ich mit javascript ein submit und ein reload hintereinander schalten.
liebe grüße
jessica
vielleicht muss ich mit javascript ein submit und ein reload hintereinander schalten.
mit so'm Scheiß würd ich echt nicht anfangen. Was machst Du bei JS-freien Usern?
hmm... kommt mir so vor, als ob der Brauser das Formular bei Wiederaufruf aus dem Cache nimmt. Schonmal ein '?' an die Adresse angehängt? Also: action="mein_formular.php?". Im Zweifel sogar eine Variabele schicken: action="mein_formular.php?dummieVariable=1"
Ansonsten probier doch mal das Cachen zu unterbinden:
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Datum aus Vergangenheit
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // immer geändert
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
am Anfang der Seite. Hat allerdings auch Nachteile: bei zurück wird auch ne neue Seite angefordert.
Gruß, Andreas