| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

30-01-2008, 15:04
|
|
Rappi123
Newbie
|
|
Registriert seit: Jan 2008
Beiträge: 10
|
|
[PHP5] Cannot send session cookie - headers already sent by
Hallo erst einmal,
Ich komme leider beim Einbinden eines Kontaktformulares in meine Homepage nicht weiter. Ich habe mir schon einige Beiträge zu diesem Thema hier im Forum durchgelesen. Leider hatte ich mit keiner Problemlösung erfolg. Evtl stelle ich mich auch einfach nur dämlich an.
Folgender Fehler wird bei mir beim Aufruf des Formulars ausgeworfen:
PHP-Code:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /users/anne/www/erlebnisse.php:5) in /users/anne/www/kontakt.php on line 2
Hier die ersten Zeilen meines Codes der kontakt.php:
PHP-Code:
<?php
$script_root = substr(__FILE__, 0,
strrpos(__FILE__,
DIRECTORY_SEPARATOR)
).DIRECTORY_SEPARATOR;
require_once $script_root.'upload.php';
$remote = getenv("REMOTE_ADDR");
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
return base64_encode($result);
}
$sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "8h384ls94");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
if ($_POST['delete'])
{
unset($_POST);
}
if ($_POST["sendKontakt"]) {
Vor dem <?php ist auch keine Leerzeile oder sonstiges. Das ist wohl der häufigste Fehler, welcher gemacht wird habe ich hier im Forum gelesen.
Über eine Hilfe wäre ich sehr dankbar.
Vielen Dank im voraus für Eure Mühen.
Gruß
edit:
hier noch die ersten Zeilen der erlebnisse.php:
PHP-Code:
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" media="screen">
<!--
#Ebene1 {
height: 40px;
Geändert von Rappi123 (30-01-2008 um 15:23 Uhr)
|

30-01-2008, 15:11
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Unglaublich, aber diese Woche hatten wir das Thema auch noch nicht...
Warning: Cannot modify header information
Zitat:
|
Hier die ersten Zeilen meines Codes:
|
Von welcher Datei? Und poste mal die entsprechend andere Datei.
Anstatt die Fehlermeldung in [php]-Tags zu posten, hättest du mal lieber deine Quelltext vernünftig gepostet!
also beide Quelltexte nochmal sauber hier posten, damit man vernünftig die zeilen Zählen kann (könntest du eigentlich selber auch mal versuchen).
|

30-01-2008, 15:16
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
Zitat:
|
Hier die ersten Zeilen meines Codes:
|
Wieso sollte uns dieser Code interessieren? Ich sehe dort nix vonwegen session_start()...
Und die Fehlermeldung besagt doch klar dass das Senden des Session Cookies in kontakt.php Zeile 2 nicht geklappt hat da bereits in erlebnisse.php Zeile 5 eine Ausgabe stattgefunden hat.
Suche also diese Zeile 5 und unterbinde die Ausgabe
Gruss
tobi
|

30-01-2008, 15:25
|
|
Rappi123
Newbie
|
|
Registriert seit: Jan 2008
Beiträge: 10
|
|
Hallo,
sorry für die Formatierungsfehler. Bin noch neu im Forum und kannte mich daher noch nicht mit dessen Funktionen aus.
Ich habe oben das ganze nochmals gemacht.
Auch habe ich die ersten Zeilen der erlebnisse.php beigefügt. Leider finde ich, wie jahlives sagt keine Ausgabe in Zeile 5.
Vielen Dank schonmal für Eure Mühen.
Gruß
|

30-01-2008, 15:28
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
Zitat:
|
Auch habe ich die ersten Zeilen der erlebnisse.php beigefügt. Leider finde ich, wie jahlives sagt keine Ausgabe in Zeile 5.
|
Und das untenstehende nennst du wie? Es braucht nicht unbedingt ein echo 'bla' um eine Ausgabe zu erzeugen. Bereits ein einfaches bla als HTML Quelltext ist eine Ausgabe
Zitat:
PHP-Code:
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" media="screen">
<!--
#Ebene1 {
height: 40px;
|
|

30-01-2008, 15:28
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Und du bist dir sicher, dass du auch die richtigen Dateien bearbeitest???
Ich sehe nämlich auch kein session_start (erst recht nicht in zeile 2) und die ausgabe würde nicht erst in zeile 5 erfolgen, sondern schon in zeile 1 oder zwei.
also bitte nochmal alles überprüfen.
|

30-01-2008, 15:37
|
|
Rappi123
Newbie
|
|
Registriert seit: Jan 2008
Beiträge: 10
|
|
Vielen Dank erst mal.
Also bin mir mit den Dateien sicher. HAbe das nochmals überprüft.
ein session_start gibt es tatsächlich nicht.
Was müsste ich in der erlebnisse.php einfügen, bevor ich mit einer Ausgabe beginnen kann ?
Also was muss ich vor den oben geposteten Quellcode einfügen, damit der Fehler nicht mehr angezeigt wird.
Sorry für die dämlichen Fragen, aber versuche mich in das ganze etwas reinzuarbeiten.
Über eure Hilfe bin ich sehr dankbar.
|

30-01-2008, 15:43
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
Zitat:
HAbe das nochmals überprüft.
ein session_start gibt es tatsächlich nicht.
|
Dann kann es aber auch diese Fehlermeldung nicht geben... Oder denkst du PHP haut dir solche Meldungen zum Spass um die Ohren?
Zitat:
|
Was müsste ich in der erlebnisse.php einfügen, bevor ich mit einer Ausgabe beginnen kann ?
|
Nichts weil wenn du kein session_start() hast kannst du das Problem auch gar nicht haben
Nur wenn du die Fehlermeldung wirklich hast, dann muss irgendwo ein session_start() enthalten sein. SBG (suchen bis gefunden)
|

30-01-2008, 15:52
|
|
Rappi123
Newbie
|
|
Registriert seit: Jan 2008
Beiträge: 10
|
|
Also die kontakt.php geht folgendermaßen nun los:
PHP-Code:
<?php
session_start();
$script_root = substr(__FILE__, 0,
strrpos(__FILE__,
DIRECTORY_SEPARATOR)
).DIRECTORY_SEPARATOR;
require_once $script_root.'upload.php';
$remote = getenv("REMOTE_ADDR");
das session_start ist hier ja auch zwingend notwendig, da sonst unter anderem die Sicherheitscodeabfrage nicht funktioniert.
Die erlebnisse.php habe ich komplett durchsucht und nirgends ein session_start gefunden leider.
Gruß
|

30-01-2008, 15:55
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Zitat:
|
Also die kontakt.php geht folgendermaßen nun los:
|
Haste jetzt deinen Code an die Fehlermeldung angepasst?
Zitat:
|
Die erlebnisse.php habe ich komplett durchsucht und nirgends ein session_start gefunden leider.
|
Bitte AUFMERKSAM hier lesen.
Niemand hat etwas von einem sesion_start in der erlebnisse.php geredet. dort findet lediglich in Zeile 5 die Ausgabe statt.
Geändert von TobiaZ (30-01-2008 um 15:58 Uhr)
|

30-01-2008, 15:56
|
|
TroX
Registrierter Benutzer
|
|
Registriert seit: Dec 2006
Ort: Schweiz
Beiträge: 156
|
|
Meine Glaskugel vermutet den fehler in der upload.php
|

30-01-2008, 15:59
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Zitat:
Original geschrieben von TroX
Meine Glaskugel vermutet den fehler in der upload.php
|
Das würde so gar nicht zu den Fehlermeldungen passen... und eigentlich ist der fehler ja auch schon anderweitig gefunden.nämlich in erlebnisse.php
|

30-01-2008, 16:01
|
|
TroX
Registrierter Benutzer
|
|
Registriert seit: Dec 2006
Ort: Schweiz
Beiträge: 156
|
|
Zitat:
Original geschrieben von TobiaZ
Das würde so gar nicht zu den Fehlermeldungen passen... und eigentlich ist der fehler ja auch schon anderweitig gefunden.nämlich in erlebnisse.php
|
OffTopic: ach... ich sollte besser lesen :/ der startpost mit der kontakt.php hat mich verwirrt, sorry 
|

30-01-2008, 16:08
|
|
Rappi123
Newbie
|
|
Registriert seit: Jan 2008
Beiträge: 10
|
|
@ TobiaZ.
Danke für deine Hilfe. Ich habe nun wie du sagtest noch einmal alles aufmerksam durchgelesen.
Leider bin ich immer noch nicht so recht schlau daraus geworden, außer, dass ich nun weiß, dass der Fehler in der erlebnisse.php liegt.
Bzw. Genauer gesagt an der Ausgabe und das ich diese unterbinden muss.
Wie kann/muss ich das machen, wenn ich diese Ausgabe denn benötige ?
Was muss ich ändern bzw einfügen,damit ich dort die Ausgabe stehen lassen kann ?
Über eine Antwort (am besten Idiotensicher)  wäre ich sehr dankbar.
Gruß
|

30-01-2008, 16:09
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
Zitat:
|
Also die kontakt.php geht folgendermaßen nun los:
|
Und wird diese kontakt.php direkt vom Client aufgerufen oder wird diese Datei mittels include oder require in eine andere Datei eingebunden?
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|