Hei.
Osoitteessa https://www.ohjelmointiputka.net/koodivinkit/
Se toimii muuten,mutta jotakin virheilmoitusta se pukkaa kokoajan.
Kertokaapas,miten voisin määrittää taustavärin ilman että se tekisi sen virheilmoituksen?
Jos muokattua koodia näyttäisit niin olisi helpompi avittaa..
Plus se "jokin virheilmoitus" olisi hyvä kopioida tänne.
Onko bronze väri? Kannattaa muutenkin käyttää hex-lukuja eikä värin nimeä http://www.w3schools.com/html/html_colornames.
edit. en tarkoittanut tällä sitä ettäkö nimenomaan bronze tai ylipäätään mikään väri aiheuttaisi virheilmotuksen.
hmm
koodi o täs
<body bgcolor="#800000"> <?php //aloitetaan sessionit session_start(); //asetukset $tiedosto = "userit.txt"; //tiedosto jossa tiedot usereista $tarkastus = "tarkista.php"; //TÄMÄ tiedosto $etusivu = "userfilu.php"; //sivu jonne mennään kirjautumisen jälkeen //jos tiedostoa ei ole, tehdään se if(!file_exists($tiedosto)) { touch($tiedosto); chmod($tiedosto, "0766"); } $data = file($tiedosto); $userit = array(); //kerätään tiedot usereista for ($i=0; $i<count($data); $i++) { $entry = explode("|", $data[$i]); $userit[$i] = $entry[0]; } //tietojen siistimistä varten function clean ($string) { $string = str_replace("|", "", $string); $string = strip_tags($string); $string = ereg_replace("\n", "", $string); return strtolower($string); } //jollei olla sisällä näytetään kirjautumislomake if (empty($_SESSION["sess_tunnus"]) || $_SESSION["sess_iposoite"] != $_SERVER["REMOTE_ADDR"]) { $tunnus = clean($_POST["tunnus"]); $email = clean($_POST["email"]); $salasana = clean($_POST["salasana"]); $salasana2 = clean($_POST["salasana2"]); //kirjautuminen if (isset($_POST["kirjaudu"])) { if (in_array($tunnus, $userit) != "") { $entry = explode("|", $data[array_search($tunnus, $userit)]); if ($entry[2] == md5($salasana)) { //sessionit kuntoon session_register("sess_tunnus"); $_SESSION["sess_tunnus"] = $tunnus; session_register("sess_iposoite"); $_SESSION["sess_iposoite"] = $_SERVER["REMOTE_ADDR"]; echo "<b>Kirjauduit sisään!</b><br>\n"; echo "Jatka klikkaamalla <a href=\"". $etusivu ."\">tästä</a>."; } else { echo "<b>Virheellinen salasana.</b><br>\n"; echo "Voit kirjautua uudelleen klikkaamalla <a href=\"". $tarkastus ."\">tästä</a>."; } } else { echo "<b>Tunnusta \"<i>". $tunnus ."</i>\" ei löydy.</b><br>\n"; echo "Voit kirjautua uudelleen klikkaamalla <a href=\"". $tarkastus ."\">tästä</a>."; } } //rekisteröityminen elseif (isset($_POST["rekisteroidy"])) { if (in_array($tunnus, $userit) == $null) { if ($salasana == $salasana2) { if (strlen($tunnus) >= 3) { if (strlen($salasana) >= 3) { $fo = fopen($tiedosto, "a"); flock($fo, 2); //lukitaan tiedosto fwrite($fo, $tunnus ."|". $email ."|". md5($salasana) ."|\n"); flock($fo, 3); //ja vapautetaan se fclose($fo); echo "<b>Kiitos rekisteröitymisestäsi!</b><br>\n"; echo "Voit nyt kirjautua sisään <a href=\"". $tarkastus ."\">tästä</a>."; } else { echo "<b>Epäkelpo salasana.</b><br>\n"; echo "Voit rekisteröityä toisella salasanalla klikkaamalla <a href=\"". $tarkastus ."?act=rekisteroidy\">tästä</a>."; } } else { echo "<b>Epäkelpo tunnus \"<i>". $tunnus ."</i>\".</b><br>\n"; echo "Voit rekisteröityä toisella tunnuksella klikkaamalla <a href=\"". $tarkastus ."?act=rekisteroidy\">tästä</a>."; } } else { echo "<b>Salasanat eivät täsmää.</b><br>\n"; echo "Voit rekisteröityä uudelleen klikkaamalla <a href=\"". $tarkastus ."?act=rekisteroidy\">tästä</a>."; } } else { echo "<b>Tunnus \"<i>". $tunnus ."</i>\" on jo käytössä.</b><br>\n"; echo "Voit rekisteröityä toisella tunnuksella klikkaamalla <a href=\"". $tarkastus ."?act=rekisteroidy\">tästä</a>."; } } else { if ($_GET["act"] == "rekisteroidy") { echo "<form action=\"". $tarkastus ."\" method=\"post\">\n"; echo "<b>Rekisteröidy</b><br>\n"; echo "Jos sinulla on jo tunnus, <a href=\"". $tarkastus ."\">kirjaudu</a>.<br>\n"; echo "Tunnus: <input type=\"text\" name=\"tunnus\"><br>\n"; echo "E-mail: <input type=\"text\" name=\"email\"><br>\n"; echo "Salasana: <input type=\"password\" name=\"salasana\"><br>\n"; echo "Salasana uudelleen: <input type=\"password\" name=\"salasana2\"><br>\n"; echo "<input type=\"submit\" value=\"Rekisteröidy\" name=\"rekisteroidy\">\n"; echo "</form>"; } else { echo "<form action=\"". $tarkastus ."\" method=\"post\">\n"; echo "<b>Kirjaudu sisään</b><br>\n"; echo "Ole hyvä ja kirjaudu sisään. Jos sinulla ei ole tunnusta, <a href=\"". $tarkastus ."?act=rekisteroidy\">rekisteröidy</a>.<br>\n"; echo "Tunnus: <input type=\"text\" name=\"tunnus\"><br>\n"; echo "Salasana: <input type=\"password\" name=\"salasana\"><br>\n"; echo "<input type=\"submit\" value=\"Kirjaudu\" name=\"kirjaudu\">\n"; echo "</form>"; } } exit(); } ?>
Vika on siinä, että ennen session_startia on tekstiä. Siirrä HTML-koodi alusta session_startin jälkeiseen osaan.
kiitos
Lisäisin vielä, että kannattaa lukea sitä PHP:n dokumentointia.
https://www.php.net/manual/en/function.session-start.php:
Note:
To use cookie-based sessions, session_start() must be called before outputing anything to the browser.
Oho,en oo lukenu oikee tota manuaalii
Aihe on jo aika vanha, joten et voi enää vastata siihen.