Cookies
Andre Speit
- php
Gibt es eine Möglichkeit Cookies auch innerhalb des HTML Dokuments zu setzen? Aktuell ist meine Seite wie folgt aufgebaut:
PHP => Cookies Setzen
HTML
FORMULAR
HTML
PHP => "Hauptscript"
HTML
Ich möchte aber den Cookie-Befehl in das Hauptsrcipt schreiben, um auf die Variablen aus dem Formular zurückgreifen zu können.
Wenn ich das im Moment mache bekomme ich den Fehler:
Warning: Cannot modify header information - headers already sent by (output started at D:\Programme\Server\xampp\htdocs\Test1.php:24)...
Gibt es da irgendeine Möglichkeit das zu umgehen?
Gruß
Andre
Hi Andre Speit,
Warning: Cannot modify header information - headers already sent by (output started at D:\Programme\Server\xampp\htdocs\Test1.php:24)...
Gibt es da irgendeine Möglichkeit das zu umgehen?
Ja: im Archiv suchen
Viele Grüße aus Freiburg,
Marian
PS: Was ist ein Generalverweis? (Kommt hier grad als Fehler)
Hallo Marian.
PS: Was ist ein Generalverweis? (Kommt hier grad als Fehler)
Ein Link auf suche.de.selfhtml.org ungeachtet des Query-Strings.
Einen schönen Samstag noch.
Gruß, Ashura
Hi Ashura,
PS: Was ist ein Generalverweis? (Kommt hier grad als Fehler)
Ein Link auf suche.de.selfhtml.org ungeachtet des Query-Strings.
Habs grad nochmal gemacht:
"Sie haben einen General-Verweis gepostet. Das ist hier unerwünscht. Sind Sie sicher, dass sie das Posting so abschicken möchten?"
Was ist dadran unerwünscht?
Viele Grüße aus Freiburg,
Marian
Srry, aber das Archiv hilft mir da nicht wirklich weiter...
ich schnall einfach nicht warum ich die Cookies nicht später im Script setzen kann...
Hallo Andre,
ich schnall einfach nicht warum ich die Cookies nicht später im Script setzen kann...
Du kannst Cookies im Script setzen, wann immer Du willst. Dein Script darf nur keine Ausgabe veranlassen, bevor alle Cookies beisammen sind. Denn Cookies werden im HTTP-Header gesammelt und Deine Ausgaben, die z.B. mittels echo erzeugt werden, sthen im HTTP-Body. Sowie ein Eintrag in den Body stattfindet, wird der Header geschlossen.
Bitte verwechsele nicht HTTP-Header mit HTML-<Head>.
LG
Chris
Hallo Andre,
ich schnall einfach nicht warum ich die Cookies nicht später im Script setzen kann...
Du kannst Cookies im Script setzen, wann immer Du willst. Dein Script darf nur keine Ausgabe veranlassen, bevor alle Cookies beisammen sind. Denn Cookies werden im HTTP-Header gesammelt und Deine Ausgaben, die z.B. mittels echo erzeugt werden, sthen im HTTP-Body. Sowie ein Eintrag in den Body stattfindet, wird der Header geschlossen.
Bitte verwechsele nicht HTTP-Header mit HTML-<Head>.
LG
Chris
Ok, danke für die aufklährung- aber das Problem ist, das ich ja auf den Inhalt des Formulars zurückgreifen möchte, und das muss doch dann schon vorher im Script stehen; folglich hab ich schon vorher eine Ausgabe;
oder kann man das irgendwie umgehen?
Hallo,
[...] aber das Problem ist, das ich ja auf den Inhalt des Formulars zurückgreifen möchte,
Auf welchen Inhalt welchen Formulars willst Du zugreifen, der bei Scriptbeginn noch nicht bekannt wäre?
Ist Dir das Verfahren "Client-Server-Computing" hinlänglich bekannt?
LG
Chris
Super,
desto mehr ich hier höre desto weniger verstehe ich:
Hier ist der ganze Code
(1. ich bin Anfänger, 2. es ist nur zum testen der Funktion; das Layout kommt später).
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Test1</title>
</head>
<body>
<h2>Login</h2>
<form action="test1.php?section=gb_insert" method="post" class="formular">
<label for="name">Nickname</label>
<input type="text" name="Name" id="name" /><br>
<label for="password">Passwort</label>
<input type="password" name="Password" id="Password"/><br>
<input type="submit" name="submit" value="Einloggen" />
<input type="reset" name="submit" value="Zurücksetzen" /><br>
</form>
</body>
<?php
error_reporting(E_ALL);
include 'inc/config.php';
// Konfigurationsdatei laden
@mysql_connect("~", "~", "~") OR
die("Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
mysql_select_db("Test Datenbank 1") OR
die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());
if(!isset($_POST['Name'], $_POST['Password']
)) {
die("Bitte füllen sie alle Felder aus!\n");
}
$PW1 = $_POST['Password'];
$name = $_POST['Name'];
$sql = "SELECT
ID,
Password
FROM
users
WHERE name = '$name' ";
$ergebnis = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($ergebnis);
$ID = $row['ID'];
$PW2 = $row['Password'];
if ($PW1 == $PW2) {
echo "Herzlich wilkommen";
}
else
{
echo("Falsches Password");
}
?>
</html>
Es soll jetzt einfach ein Cookie gesetzt werden, indem die ID drinsteht....
Gruß
Andre
Hallo,
was sollen wir mit Deinem ganzen HTML-Dokument, wenn es doch um PHP geht?
hast Du denn https://forum.selfhtml.org/?t=122003&m=784589 nicht gelesen oder noch Fragen dazu?
Bitte arbeite die Tipps, die man Dir hier gibt, auch konsequent ab oder hinterfrage sie...
LG
Chris
Bitte arbeite die Tipps, die man Dir hier gibt, auch konsequent ab oder hinterfrage sie...
Doch ich hab das gelesen und auch mal versucht die Datei umzustellen aber da treten nur 100 neue Fehler auf... wie soll ich denn beispielsweise auf ein Formular zugreifen wenn die erst später kommt?
Andre
Hallo,
[...] wie soll ich denn beispielsweise auf ein Formular zugreifen wenn die erst später kommt?
Im Script auf dem Server gibt es kein Formular, bestenfalls die Definition eines solchen. Und die kann aus beliebig vielen Teilen bestehen.
Das Formular entsteht doch erst durch das Parsen des HTML-Codes auf dem Client. Und er HTML-Code entsteht erst durch das Parsen des Codes auf dem Server...
LG
Chris
Gut ich hab den ganze Kram jetzt umgedreht- aber wie krieg ich jetzt die Fehlermeldungen weg??
Notice: Undefined index: Password in D:\Programme\Server\xampp\htdocs\Test1.php on line 24
Notice: Undefined index: Name in D:\Programme\Server\xampp\htdocs\Test1.php on line 29
Tag Andre.
Gut ich hab den ganze Kram jetzt umgedreht- aber wie krieg ich jetzt die Fehlermeldungen weg??
Indem du uns mitteilst, was in den betreffenden Zeilen steht. Lies aber bitte zuvor folgende Erklärung zu "Notice: Undefined index".
Siechfred
Danke ich habs grad hingekrieg...
Erstmal Danke an Chris, dass er so geduldig mit mir war ;-) und auch danke an dich Siechfred für den Link; der hat mir sehr geholfen!
Hallo Andre,
Du solltest Dir angewöhnen, Aufgabe zu trennen und Reihenfolge einzuhalten:
Dann würde alles wunderbar laufen.
LG
Chris