[miCkE]Medlem sedan okt. 200133 inlägg
Har en index.php.
I bodyn ett antal switch-case-satser..
I satserna har lagts funktioner som anropas från include fil.
Beroende på vad användare gör.. så anropas alltså respektive funktion..
Mitt problem:
Vill ha EN sida som visar allt (index.php).
Vill ha ett par filer där alla respektive applikations-funktioner listas, typ: poll.php, forum.php o.s.v
Tror i min enfald att detta skulle förenkla utvecklandet..?
I ASP:n finns ju Response.Redirect..
Försöker med PHP:s header("location $PHP_SELF"), i vilken jag hakar på diverse frågesträngar, urlencode o.s.v..
Finns det någe' annat som inte ger mig dessa "..header already sent.."!?
Tacksam för svar,
[miCkE]
lorielMedlem sedan juli 200039 inlägg
Mina erfarenheter av asp är aningen begränsade men jag misstänker att i likhet med php redirectar du innan något annat "visas" på sidan.
------------------
last time we mixed politics and religion
people got burned at the stake
[miCkE]Medlem sedan okt. 200133 inlägg
Hmm..
Ska väl säga det att jag "kommer" från ASP:n och mitt upplägg på struktur där är densamma, d.v.s med include-filer, switchsatser o.s.v..
Om jag t.ex uppdaterar en sida, så vill jag inte hamna på en statisk "Du-har-uppdaterat-sidan sida", utan
jag vill ladda in sidan och formen igen, och byta överskriften till "Du har nu uppdaterat sidan", vilket för övrigt finns urlenkodat i frågesträngen.
Kan man "flusha" tidigare infot och ladda in det nya på nåt sätt?
Detta kanske är en rent basic och dum fråga, men behöver hjälp..!
Tack.. [miCkE]
spangoMedlem sedan juni 20006 147 inlägg
Det är samma regler som i asp, det vill säga att man måste fixa allt jox med http-headers (som cookies, redirects o.s.v.) innan man skriver något. Exempel:
<?php
$resultat = uppdatera_databas($ny_info);
if($resultat != ALLT_ÄR_OK){
// vår hypotetiska funktion har fallerat - visa felmeddelande
} else {
// Allt gick bra.
header("Location: sida.php");
// eftersom man blir omdirigerad på direkten kan vi lika gärna avbryta scriptet
exit;
}
?>
------------------
You can't be young forever, but you can be immature indefinitely.
[miCkE]Medlem sedan okt. 200133 inlägg
Tack för era svar.. ska göra nu göra ett verkligt "djupduk/problemsökande"!
cerebusMedlem sedan jan. 200161 inlägg
Problemet du har är att du redan skicka huvudena. Dvs. du har redan skrivit ut till browsers och då har PHP eller webservern autmatiskt lagt till dom.
Kort sagt. Du kan inte använda dig av header() då du redan skrivit ut något med scriptet.
------------------
//
Clarence Eldefors
http://www.cerebuswebmaster.com
[miCkE]Medlem sedan okt. 200133 inlägg
Har löst problemet..
Jag bygger ju upp sidan med switch-satser som placeras i bodyn.
När jag "redirectar" med header(), så funkar det alltså inte p.g.a att
..headers redan är sända.. m.a.o. jag redan befinner mig redan i bodyn.
Jag hade av någon anledning aktiverat "output buffering" i .ini-filen..
En ny funktion tillgänglig med PHP 4..
Funktionen tillåter sändandet av header/sessions/cookies även efter att man skickat bodyn..
Det var vid avaktiveringen av denna funktion som jag fick dessa
"..headers already sent.."-meddelanden.
Hittade en artikel om detta på: http://www.zend.com/zend/art/buffering.php
Aktiverade output-buffering med ob_start() som placerades överst på index.php..
och vips, det FUNKAR!