Simppeli koodi.
Sisältää siis käytännössä profiilisivun, rekisteröitymislomakkeen / skriptin sekä loginlomakkeen / skriptin.
Demo: http://rahamaa.fi/usersystem/
Samasta osoitteesta löydät myös .rar paketin.
config.php
<?php $host = ""; // Hostin nimi $username = ""; // Mysql käyttäjänimi $password = ""; // Mysql salasana $db_name = ""; // Tietokannan nimi // Yhdistetään tietokantaan mysql_connect($host, $username, $password)or die("Yhteyden muodostus epäonnistui. "); mysql_select_db($db_name)or die("Yhteyden muodostus valittuun tietokantaan epäonnistui. "); ?>
asennus.php
<?php include "config.php"; // Avataan tietokantayhteys mysql_query("CREATE TABLE kayttajat ( ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, luomisaika DATETIME, salasana TEXT, nimi TEXT)"); print 'Tietokannat luotu joten voit poistaa tiedoston asennus.php'; ?>
index.php
<?php session_start(); include "config.php"; // Avataan tietokantayhteys if($_GET['s'] == "logout"){ session_destroy(); die("Kirjauduit ulos!<br />"); } if(isset($_POST['submit'])){ $tunnus = mysql_real_escape_string($_POST['tunnus']); $salasana = mysql_real_escape_string($_POST['salasana']); $sql = mysql_query("SELECT * FROM kayttajat WHERE nimi = '$tunnus' AND salasana = '".md5($salasana)."'") or die(mysql_error()); if(mysql_num_rows($sql)) { $_SESSION['nimi'] = $_POST['tunnus']; print '<span style="color: green">Kirjautuminen onnistui! </span><br /><br />'; } else { print '<span style="color: red">Kirjautuminen epäonnistui! </span><br /><br />'; } } if(isset($_SESSION['nimi'])){ // Jos kirjautuneena print 'Olet kirjautuneena nimimerkillä <b>' . $_SESSION['nimi'] . '</b>!<br />'; print '* <a href="profiili.php?tunnus=' . $_SESSION['nimi'] . '">Profiilisivusi</a><br />'; print '* <a href="?s=logout">Kirjaudu ulos</a><br />'; } else { // Muuten näytetään kirjautumisformi ?> » Kirjaudu sisään <br /><form method="post" action=""> Tunnus: <input type="text" name="tunnus" /><br /> Salasana: <input type="password" name="salasana" /><br /> <input type="submit" name="submit" value="Kirjaudu!" /></form> <br /> <br /> Et omista tunnusta?<br /> » <a href="rekisteroidy.php">Rekisteröidy!</a><br /> <?php } $kayttajat = mysql_query("SELECT nimi FROM kayttajat"); $kayttajat2 = mysql_query("SELECT nimi,luomisaika FROM kayttajat ORDER BY ID DESC LIMIT 1"); $maara = mysql_num_rows($kayttajat); $rivi = mysql_fetch_array($kayttajat2); print '<br /><br />Tähän palveluun on rekisteröitynyt yhteensä <b>' . $maara . '</b> käyttäjiä. <br />'; print 'Uusin käyttäjä: <a href="profiili.php?tunnus=' . $rivi['nimi'] . '">' . $rivi['nimi'] . '</a>, joka rekisteröityi <i>' . $rivi['luomisaika'] . '</i><br /><br />'; print '<h1>Lataus</h1>Voit ladata vapaasti käytettävän, MySQL rekisteröinti/login systeemin .rar pakettina: <a href="get_it.php">usersystem.rar</a>'; ?>
profiili.php
<?php session_start(); include "config.php"; // Avataan tietokantayhteys $tunnus = mysql_real_escape_string($_GET['tunnus']); $kayttaja = mysql_query("SELECT * FROM kayttajat WHERE nimi = '$tunnus'"); $tulos = mysql_num_rows($kayttaja); if($tulos == 0){ print 'Hakemaasi käyttäjää ei löytynyt! <a href="index.php">Etusivulle</a>'; } else { $rivi = mysql_fetch_array($kayttaja); print '<table width="30%" border="1" cellspacing="1">'; print '<tr><td>Nimimerkki:</td><td><b>' . $rivi['nimi'] . '</b></td></tr>'; print '<tr><td>Luomisaika:</td><td><b>' . $rivi['luomisaika'] . '</b></td></tr>'; print '</table>'; print '<br /><a href="index.php">Etusivulle</a>'; } ?>
rekisteroidy.php
<?php session_start(); include "config.php"; $tunmax = 9; // Tunnuksen maksimipituus $tunmin = 3; // Tunnuksen miminipituus if(isset($_POST['submit'])){ // Jos rekisteröitymislomake on lähetetty $tunnus = mysql_real_escape_string($_POST['tunnus']); $salasana = mysql_real_escape_string($_POST['salasana']); $salasana_vahvistus = mysql_real_escape_string($_POST['salasana_vahvistus']); if(strlen($tunnus) < $tunmin) { die('<span style="color: red">Valitsemasi nimimerkki oli liian lyhyt!<br /><br /><a href="rekisteroidy.php">Takaisin</a>'); } if($salasana != $salasana_vahvistus){ die('<span style="color: red">Salasanat olivat erit!</span> <br /><br /><a href="rekisteroidy.php">Takaisin</a>'); } if(preg_match("/[<>%']/", $nick)) { // [ ] väliin kiellettyt merkit nimimerkissä die('<span style="color: red">Nimimerkkisi sisälsi kiellettyjä merkkejä!</span> <br /><br /><a href="rekisteroidy.php">Takaisin</a>'); } $date = date("Y-m-d H:i:s"); $sql = mysql_query("SELECT * FROM kayttajat WHERE nimi LIKE '$tunnus'"); $result = mysql_num_rows($sql); if($result == 0) { $salasanamd5 = md5($salasana); mysql_query("INSERT INTO kayttajat (nimi,salasana,luomisaika) VALUES ('$tunnus', '$salasanamd5', '$date')") or die(mysql_error()); print '<span style="color: green">Rekisteröityminen onnistui, kirjaudu sisään <a href="index.php">etusivulta</a></span>'; } else { print '<span style="color: red">Nimimerkki oli varattu!</span> <br /><br /><a href="rekisteroidy.php">Takaisin</a>'; } } else { ?> <form method="post" action=""> » Rekisteröidy<br /> <table width="25%"> <tr><td>Nimimerkki:</td><td><input type="text" name="tunnus" maxlength="<?php echo $tunmax; ?>"></td></tr> <tr><td>Salasana:</td><td><input type="password" name="salasana"></td></tr> <tr><td>Salasana uudelleen:</td><td><input type="password" name="salasana_vahvistus"></td></tr> <tr><td><input type="submit" name="submit" value="Rekisteröidy"></td></tr> </table> </form><br /><br /> - Salasanojen täytyy olla samat <br /> - Tunnuksen tulee olla <?php print "$tunmin - $tunmax"; ?> merkkiä pitkä <br /> <?php } ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.