Miten tuohon https://www.ohjelmointiputka.net/koodivinkit/
<?php include("ylaosa.php") ?> <h1>Rekisteröityminen</h1> <?php if(isset($_POST['reg_tunnus']) && isset($_POST['reg_salasana']) && isset($_POST['reg_varmistus'])){ $text = ""; //tiedot turvallisesti talteen $tunnus = get_magic_quotes_gpc() ? $_POST['reg_tunnus'] : mysql_real_escape_string($_POST['reg_tunnus']); $salasana = get_magic_quotes_gpc() ? $_POST['reg_salasana'] : mysql_real_escape_string($_POST['reg_salasana']); $varmistus = get_magic_quotes_gpc() ? $_POST['reg_varmistus'] : mysql_real_escape_string($_POST['reg_varmistus']); //tarkastetaan onko nimimerkki varattu $sql = mysql_query("SELECT COUNT(*) AS yht FROM {$tbl_users} WHERE tunnus = '".$tunnus."'",$lnk); $sql = mysql_fetch_assoc($sql); $yht = $sql['yht']; if($yht != 0) $text .= "Tunnuksesi on jo rekisteröity, valitse uusi tunnus<br />\n"; if(strlen($tunnus) < 1)//minimipituus 1 merkki $text .= "Tunnuksesi on liian lyhyt. Tunnuksen minimipituus on 1 merkki<br />\n"; if(strlen($salasana) < 1)//minimipituus 1 merkki $text .= "Salasanasi on liian lyhyt. Salasanan minimipituus on 1 merkki, mutta tiedäthän, että mitä pidempi salasana, sen mahdottomampi se on murtaa<br />\n"; //testataan täsmäävätkö salasanat if($salasana != $varmistus) $text .= "Salasanat eivät täsmänneet<br />\n"; if($text == ""){ //lisätään käyttäjän tunnus ja salasana $sql = mysql_query("INSERT INTO {$tbl_users} (tunnus,salasana) VALUES ('".$tunnus."','".md5($salasana)."')",$lnk); if(!$sql || mysql_affected_rows($lnk) < 1) $text = "SQL-lauseessa virhe.<br />\n"; else /* TÄHÄN LAITETAAN NICK.TXT TALLENNUSHOMMELI */ # # # # $filee = fopen("nick.txt", 'a'); $data = "$tunnus\n"; fwrite ($filee, $data); # # # # /* TALLENNUSHOMMA LOPPUU */ $text = "Rekisteröityminen onnistui<br />"; } echo $text; } ?> <form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>"> <table width="0%" border="0"> <tr> <td>Käyttäjätunnus:</td> <td><input name="reg_tunnus" type="text" size="15" maxlength="20" value="<?php echo isset($_POST['reg_tunnus']) ? $_POST['reg_tunnus'] : ""; ?>" /></td> </tr> <tr> <td>Salasana:</td> <td><input name="reg_salasana" type="password" size="15" maxlength="20" /></td> </tr> <tr> <td>Uudestaan:</td> <td><input name="reg_varmistus" type="password" size="15" maxlength="20" /></td> </tr> <tr> <td colspan="2"><input type="submit" value="Rekisteröidy" /></td> </tr> </table> </form> <a href="index.php">Etusivulle</a> <?php include("alaosa.php") ?>
Kiitos erittäin paljon! Tiedän, että tuo oli aloittelijan kysymys, mutta aina sitä oppii uutta ja hyödyllistä.
Miten voin tehdä tähän sellaisen homman, että kun käyttäjä painaa 'kirjaudu', niin tarkistetaan, että onko tunnus banlist.txt tiedostossa. Jos on, niin kirjautumislomakkeen kohdalle tulisi teksti "Sinulla on porttikielto!". Jos tunnusta taas ei ole banlist.txt tiedostossa, niin jatketaan normaalisti.
<?php // IHAN KÄYTTÖESIMERKIKSI VAIN: if($user){ echo "Tervetuloa <b>".$user['tunnus']."</b>! | <a href=\"".$_SERVER['PHP_SELF']."?logout\">Kirjaudu ulos</a><br />"; echo "Viimeisin sivunlatauksesi kello ".$user['last_load']."."; }else{ ?> <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post"> <table width="0%" style="border: 1px solid black;"> <tr> <td>Tunnus:</td> <td>Salasana:</td> <td><a href="register.php">Rekisteröidy</a></td> </tr> <tr> <td><input name="tunnus" type="text" /></td> <td><input name="salasana" type="password" /></td> <td><input type="submit" value="Kirjaudu" /></td> </tr> </table> </form> <?php } ?>
Eikö tuossa kannattaisi käyttää mysqliä hyödyksi, kun kerran sellainen on? Luo vaan sinne "banlist"-sarakkeen....
Hico-Hatiac kirjoitti:
Miten voin tehdä tähän sellaisen homman, että kun käyttäjä painaa 'kirjaudu', niin tarkistetaan, että onko tunnus banlist.txt tiedostossa. Jos on, niin kirjautumislomakkeen kohdalle tulisi teksti "Sinulla on porttikielto!". Jos tunnusta taas ei ole banlist.txt tiedostossa, niin jatketaan normaalisti.
<?php // IHAN KÄYTTÖESIMERKIKSI VAIN: if($user){ echo "Tervetuloa <b>".$user['tunnus']."</b>! | <a href=\"".$_SERVER['PHP_SELF']."?logout\">Kirjaudu ulos</a> "; echo "Viimeisin sivunlatauksesi kello ".$user['last_load']."."; }else{ ?> <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post"> <table width="0%" style="border: 1px solid black;"> <tr> <td>Tunnus:</td> <td>Salasana:</td> <td><a href="register.php">Rekisteröidy</a></td> </tr> <tr> <td><input name="tunnus" type="text" /></td> <td><input name="salasana" type="password" /></td> <td><input type="submit" value="Kirjaudu" /></td> </tr> </table> </form> <?php } ?>
Tarkistat banlist.txt tiedoston jokaisen rivin rivikerralaan, löytyykö sieltä kyseistä tunnusta, esim for:lla:
$tiedosto = file("banlist.txt"); $riveja = count($tiedosto); for($i=0;$i<$riveja;$i++){ if($tunnus == $tiedosto[$i]){ echo "Tunnus on bannattujen listalla!";} }
No jotain tohon suuntaan...
Ja tosiaan kuten Pekka tuossa sanoi järkevintä on tehdä sinne käyttäjätauluun sarake banned
tms. (tinyint(1) default 0) ja tarkistaa tuo kenttä siinä vaiheessa kun käyttäjää tunnistetaan.
Aihe on jo aika vanha, joten et voi enää vastata siihen.