Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: siirtyminen uudelle sivulle usr/pswrd - tarkistuksen jälkeen

Sivun loppuun

Felix [06.04.2004 12:05:23]

#

Käytän <form>:a Usr/psswrd tarkistukseen MySQL-tietokannasta. Tarkistuksen jälkeen käyttäjän pitäisi siirtyä automaattisesti "uudelle.php" sivulle. Olen aloittelija ja tuntemani < a href, fopen, header(location..., exit() eivät toimi tässä tarkoituksessa, Mikä on oikea ratkaisu ?

sooda [06.04.2004 12:11:46]

#

Öö, miksei header("Location: moi"); ei toimi?

Felix [06.04.2004 12:47:36]

#

"header" sivun alussa toimii kyllä. Ongelma on tietokantakyselyn ja tarkistuksen jälkeen jolloin oikeilla
arvoilla pitäisi automaattisesti siirtyä uudelle sivulle ja lomakkeen action="<?=$PHP_SELF?>" on jo käytössä.

Olga [06.04.2004 12:59:21]

#

Voithan laittaa headerin sinne tarkistuksen jälkeen. Tai sitten tehdä tarkistuksen vasta siellä kohdetiedostossa ja laittaa sen tiedoston nimen formiin actioniksi.

Felix [06.04.2004 15:41:53]

#

Tuo jälkimäinen( tarkistus kohdetiedostossa ) toimii ihan hyvin - kiitos. Edelleenkin jää arvoitukseksi se miksei header toimi(nut) keskellä php-koodia, mutta toimi sivun alussa, siellä missä muutkin headerit ovat.

Olga [06.04.2004 16:41:30]

#

Puuttui ob_start() ja ob_end_flush()-funktiot?

folio [06.04.2004 19:57:02]

#

Felix kirjoitti:

Tuo jälkimäinen( tarkistus kohdetiedostossa ) toimii ihan hyvin - kiitos. Edelleenkin jää arvoitukseksi se miksei header toimi(nut) keskellä php-koodia, mutta toimi sivun alussa, siellä missä muutkin headerit ovat.

No miksei sitä tarkistusta voi tehdä sinne sivun alkuun?

Ja tuohon, miksi header-käsky ei toimi, löytyy vastaus esimerkiksi php:n manuaalista. Ja samasta paikasta löytyy ohjeet myös em. output buffering -funktioiden käyttöön.

NiLon [11.04.2004 07:13:57]

#

Headerit pitää lähettää ennen kuin mitään tekstiä on lähetetty selaimelle. Tästä syystä ne eivät välttämättä toimi sivun keskellä.

trinit [11.04.2004 21:51:05]

#

Felix kirjoitti:

Edelleenkin jää arvoitukseksi se miksei header toimi(nut) keskellä php-koodia, mutta toimi sivun alussa, siellä missä muutkin headerit ovat.

Käyttämällä ob_start() ja ob_end_flush() funktioita selviät tästäkin. Laita ob_start() ihan ensimmäiseksi riviksi ja ob_end_flush() taas viimeiseksi tai header() funktion kutsua seuraavaksi riviksi.

https://www.ohjelmointiputka.net/koodivinkit/23853-php-output-buffering


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta