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?
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ä.
tuota taisin pudota kärryiltä tai jotain...
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.
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?
Joo. Voit myös tulostaa titlen sen mahdollisen headerin lähettämisen jälkeen.
Aihe on jo aika vanha, joten et voi enää vastata siihen.