Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Siirtiminen sivulta sivulle

Jorgga [22.04.2006 20:23:55]

#

Millä koodilla voisi php:ssä siirtyä sivulta sivulle kun
header("Location: ei tahdo ottaa toimiakseen kun oma koodini on tällä tavalla

<title>Kirjaudu sisään</title>
<?php

//luetaan istuntomuuttujat
$nimi = $_COOKIE["nimi"];
$filu = ("data1". $_COOKIE["nimi"] ."data.txt");
//jatketaan, jos tiedosto on olemassa
if (file_exists($filu)) {
$filu = file("data1". $_COOKIE["nimi"] ."data.txt");
$passu = trim($filu[1]);
header("Location: http://www.sivu.fi/Login2.php?tunnus=". $filu[0] ."&salasana=". $passu);
} else{
echo "{$nimi}<br>";
echo "Ei tunnuksia? Ei hätää <a href=\"register.php\">Rekisteröidy</a>";
echo "<form action=\"Login2.php\" method=\"GET\">";
echo "<p>Käyttäjätunnus:<br> <input type=\"text\" name=\"tunnus\"> <br>";
echo "<p>Salasana:<br> <input type=\"password\" name=\"salasana\"> <br>";
echo "<input type=\"submit\" value=\"Kirjaudu\"></p>";
echo "</form>";
}
?>

Eli siis tuon pitäisi avata tiedosto jonka nimi on raapustettu keksiin ja lukea sieltä salasana kirjautua tunnuksella sisään mutta tämä ei ota toimiakseen joten missä vika?

tkarkkainen [22.04.2006 20:35:21]

#

Header toimii kyllä jos et vain tulosta mitään ennen sitä. Myöskään ennen <?php:tä ei saa olla mitään, ei edes välilyöntiä tai tyhjää riviä.

Jorgga [22.04.2006 20:39:41]

#

tuota taisin pudota kärryiltä tai jotain...

hunajavohveli [22.04.2006 20:56:02]

#

Siinä vaiheessa, kun header-käsky tulee, olet jo tulostanut dokumenttiin rivin "<title>Kirjaudu sisään</title>". Header-käsky täytyy antaa ennen tätä tulostamista.

Jorgga [22.04.2006 21:02:16]

#

Eli siis sivun koodin pitäisi olla:

<?php
//luetaan istuntomuuttujat
$nimi = $_COOKIE["nimi"];
$filu = ("data1". $_COOKIE["nimi"] ."data.txt");
//jatketaan, jos tiedosto on olemassa
if (file_exists($filu)) {
$filu = file("data1". $_COOKIE["nimi"] ."data.txt");
$passu = trim($filu[1]);
header("Location: http://www.sivu.fi/Login2.php?tunnus=". $filu[0] ."&salasana=". $passu);
} else{
echo "{$nimi}<br>";
echo "Ei tunnuksia? Ei hätää <a href=\"register.php\">Rekisteröidy</a>";
echo "<form action=\"Login2.php\" method=\"GET\">";
echo "<p>Käyttäjätunnus:<br> <input type=\"text\" name=\"tunnus\"> <br>";
echo "<p>Salasana:<br> <input type=\"password\" name=\"salasana\"> <br>";
echo "<input type=\"submit\" value=\"Kirjaudu\"></p>";
echo "</form>";
}
?>

Vai?

Megant [22.04.2006 21:13:45]

#

Joo. Voit myös tulostaa titlen sen mahdollisen headerin lähettämisen jälkeen.

Vastaus

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

Tietoa sivustosta