link funzt nicht??
acidayi
- php
hi leute ich versuche gerade nach einer eingabe des benutzers ihn auf eine andere seite zu schicken und weiter an daten zu sammeln...ich weiss da fehlen die speicherungen der eingegeben daten (also nur eine eingabe bei mir bis jetz) aber ich werd das demnächst nachholen.
if (isset($_POST['submit'])) {
if (isset($_POST['spieltage']) && !is_array($_POST['spieltage']) && $_POST['spieltage'] != '') {
echo'Sie haben ' . htmlspecialchars($_POST['spieltage']) . ' ausgewählt <br />';
header( "Location: http://{$_SERVER['HTTP_HOST']}/ergmeldung/erg2.php" );
exit();
.....
irgendwie komm ich nich auf erg2.php.....bitte hilfe.
lass mich raten :
Warning: Cannot add header information - headers already sent by blah blah blah
mach das echo weg, dann sollte es funktionieren (vorausgesetzt du hast noch vorher auch noch output gesendet)
lass mich raten :
Warning: Cannot add header information - headers already sent by blah blah blahmach das echo weg, dann sollte es funktionieren (vorausgesetzt du hast noch vorher auch noch output gesendet)
nö da kommt gar keine meldung..einfach nur ne weisse seite...erg2.php gibt es..da steht bla bla drin aber nein der zeigt nix an???
sonst noch ne idee?
Hello,
sonst noch ne idee?
auch wenn du die Fehlermeldung nicht siehst, glaub mir, es wird dein Problem sein. Vor einem header-Befehl darf keinerlei Ausgabe stehen, also nichts vor <?php und keinerlei echo o.ä.
MfG
Rouven
also irgendwie geht das nicht mit dem einschalten der fehlermeldung..hab t-online angerufen der sagt ich soll einfach php.ini reinkopieren...
...gesagt getan habs auf on gesetzt aber trotzdem nix....also ich hab keine änderung gesehn..
zu info ich hab den server nicht neugestart..wie denn auch is ja irgendwo bei t-online....
...zum header-->geht tortzdem nicht...ich werde da noch andere versuche zwar machen bis jetzt hats nich funzt..auch wenn ich echo rausgetan habe...
als else zweig hab ich phpinfo(); verklinkt und der springt da immer auf den else zweig wenn header(...) im if bereich steht.
hab dann schlauerweise auch mal in den else zweig header(...) eingesetzt..da springt es komplett von der schleife raus und zeigt einfach nur mein formular wieder an.
bin echt ratlos...
Mahlzeit,
zuerst: könntest Du Dich mit Dir selbst auf EINEN Benutzernamen einigen? Danke.
als else zweig hab ich phpinfo(); verklinkt und der springt da immer auf den else zweig wenn header(...) im if bereich steht.
Wenn "header();" INNERHALB des "if"-Zweigs steht, dann springt er IMMER in den "else"-Zweig? Scheint mir recht unlogisch. Hast Du mal den Inhalt der Variablen, die Du in Deiner "if"-Anweisung prüfst, zur Kontrolle ausgegeben? Ist da überhaupt das drin, was Du erwartest?
hab dann schlauerweise auch mal in den else zweig header(...) eingesetzt..da springt es komplett von der schleife raus und zeigt einfach nur mein formular wieder an.
Das klingt noch unwahrscheinlicher. Als ob der Parser grad keine Lust hat, "header();" auszuführen und es deshalb immer umgeht. Irgendwas musst Du unabhängig davon ziemlich falsch machen, sonst wäre das Verhalten nicht so eigenartig.
bin echt ratlos...
Nicht nur Du. Leider bietest Du viel zu wenig Information.
MfG,
EKKi
@ekki
das is so wenn ich echo ausgebe in der if-abfrage läuft alles wie geschmirt...aba wenn ich header einbaue läuft es einfach nicht....egal wo ichs einbau es geht nicht..ich werde demnächst noch weitere versuche machen...
..zumal wüsst ich gern wie man php.ini verändern kann...beimir werden fehler einfach nicht angezeigt...es gibt auch kein php.ini auf mein webserver
Mahlzeit,
das is so wenn ich echo ausgebe in der if-abfrage läuft alles wie geschmirt...aba wenn ich header einbaue läuft es einfach nicht....egal wo ichs einbau es geht nicht..ich werde demnächst noch weitere versuche machen...
Das klingt ganz danach, dass irgendwo vorher bereits Ausgaben gemacht wurden - und das funktioniert eben nicht.
Bekommst Du keine entsprechende Fehlermeldungen? Auf was steht Dein error_reporting()?
Übrigens brauchst Du zum Debuggen die php.ini gar nicht ändern - du kannst dortige Einträge auch nur für die Dauer der Ausführung eines Skripts auch per ini_set() ändern.
MfG,
EKKi
sonst noch ne idee?
mach mal ein .htaccess file und schreib da folgendes rein:
php_flag display_errors on
das schaltet die Fehlerausgabe von PHP ein - eine weisse Seite ist einfach die schöne variante von php Fehler anzuzeigen
debugging ohne Fehlerausgabe ist sowieso fast unmöglich
dass erg2.php existiert spielt keine Rolle weil ein HTTP-Header nur dann gesetzt/gesendet werden kann, wenn noch keine ausgabe an den client erfolgt ist - und echo macht eine Ausgabe, sprich der header(); danach ist wertlos und funktioniert nicht (das wird dir eben die Fehlerausgabe, wenn sie denn eingeschalten ist, auch sagen)