Hierbij geef ik een gratis Aanmeld + inlog + activatie script weg.
Inlog script;
<?
session_start();
if (!@mysql_select_db("database_naam", @mysql_connect("localhost", "database_user", "database_pass")))
{
echo "Er kon geen connectie worden gemaakt met de database.";
exit();
}
$table = "users";
if ($HTTP_SESSION_VARS["ingelogd"] && !$loguit)
{
echo "<p>U bent ingelogd. U kunt nu nog niks ;).</p>";
echo "<p><a href=\"$PHP_SELF?loguit=1\">uitloggen</a></p>";
}
elseif ($HTTP_GET_VARS["loguit"])
{
session_unregister(ingelogd);
echo "<p>U bent uitgelogd.</p>";
echo "<p><a href=\"$PHP_SELF\">inloggen</a></p>";
}
elseif ($HTTP_POST_VARS["submit"] && $HTTP_POST_VARS["login"] && $HTTP_POST_VARS["pass"])
{
$passwd = md5($HTTP_POST_VARS[pass]);
$sql = "SELECT id FROM $table WHERE login = '$HTTP_POST_VARS[login]' AND pass = '$passwd' AND activeer IS NULL";
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1)
{
$ingelogd = mysql_result($res, 0);
session_register(ingelogd);
echo "<p>U bent succesvol ingelogd.</p>";
echo "<p>Ga <a href=\"$PHP_SELF\">verder</a>.</p>";
echo "<p><a href=\"$PHP_SELF?loguit=1\">uitloggen</a></p>";
}
else
{
echo "<p>U heeft een ongeldige login naam of wachtwoord ingevuld.</p>";
echo "<p>Ook kan het zijn dat uw account nog niet is geactiveerd.</p>";
echo "<p>Probeert u het <a href=\"$PHP_SELF\">opnieuw</a>.</p>";
}
}
else
{
echo "<form method=\"post\" action=\"$PHP_SELF\">";
echo "Login naam:<br>";
echo "<input type=\"text\" name=\"login\" size=\"20\" maxlength=\"20\"><br>";
echo "Wachtwoord:<br>";
echo "<input type=\"password\" name=\"pass\" size=\"20\"><br>";
echo "<input type=\"submit\" name=\"submit\" value=\"inloggen\">";
echo "</form>";
}
?>
Toon Meer
Aanmeld script
<?
if (!@mysql_select_db("database_naam", @mysql_connect("localhost", "database_user", "database_pass")))
{
echo "Er kon geen connectie worden gemaakt met de database.";
exit();
}
function check_email($mail)
{
if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail))
{
$email_adres = $mail;
$email = explode("@", $email_adres);
if (gethostbyname($email[1]) == $email[1])
$valid = "no";
}
else
$valid = "no";
return $valid;
}
function makekey($num)
{
mt_srand((double)microtime()*1000000);
while (strlen($pass) <= $num)
{
$i = chr(mt_rand (0,255));
if (eregi("^[a-z0-9]$", $i))
$pass = $pass.$i;
}
return ($pass);
}
$table = "users";
$activatie_url = "http://www.jouwdomein.nl/activatie";
if ($HTTP_POST_VARS["submit"] && $HTTP_POST_VARS["login"] && $HTTP_POST_VARS["pass"] && $HTTP_POST_VARS["email"] && !check_email($HTTP_POST_VARS["email"]))
{
$sql = "SELECT id FROM $table WHERE login = '$HTTP_POST_VARS[login]'";
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1)
$usrname = 1;
}
if ($usrname || !$HTTP_POST_VARS["submit"] || !$HTTP_POST_VARS["login"] || !$HTTP_POST_VARS["pass"] || !$HTTP_POST_VARS["email"] || check_email($HTTP_POST_VARS["email"]))
{
if ($HTTP_POST_VARS["submit"])
echo "<p><b>U heeft niet alle velden ingevuld, uw e-mail adres is niet juist of de login naam is al in gebruik.</b></p>";
echo "
<html>
<head>
<title>Registreren</title>
</head>
<body>
<form method=\"post\" action=\"$PHP_SELF\">
Login naam:<br>
<input type=\"text\" name=\"login\" size=\"20\" maxlength=\"20\"><br>
Wachtwoord:<br>
<input type=\"text\" name=\"pass\" size=\"20\" maxlength=\"20\"><br>
E-mail adres:<br>
<input type=\"text\" name=\"email\" size=\"20\"><br>
<input type=\"submit\" name=\"submit\" value=\"Registreren\">
</form>
</body>
</html>";
}
else
{
$insert_login = addslashes($HTTP_POST_VARS[login]);
$insert_pass = md5($HTTP_POST_VARS[pass]);
$key = makekey(5);
$sql = "INSERT INTO $table (id, login, pass, email, activeer) VALUES ('', '$insert_login', '$insert_pass', '$HTTP_POST_VARS[email]', '$key')";
$res = mysql_query($sql);
if ($res)
{
$aan = $HTTP_POST_VARS[email];
$subject = "Account activatie";
$van = "Jouwnaam <[email protected]>";
$bericht = "===========================================\n";
$bericht .= "Account activeren\n";
$bericht .= "===========================================\n\n";
$bericht .= "Uw account is aangemaakt. Het moet alleen nog even \n";
$bericht .= "geactiveerd worden.\n\n";
$bericht .= "Uw login naam: $HTTP_POST_VARS[login]\n";
$bericht .= "Uw wachtwoord: $HTTP_POST_VARS[pass]\n\n";
$bericht .= "Uw wachtwoord is encrypted opgeslagen en kan dus \n";
$bericht .= "niet worden opgevragen. Schrijft u uw wachtwoord \n";
$bericht .= "daarom op.\n\n";
$bericht .= "Activatie URL:\n";
$bericht .= "$activatie_url/activeer.php?email=$aan&key=$key\n\n";
$bericht .= "Bedankt voor het registreren.\n\n";
$bericht .= "===========================================\n";
$bericht .= "Einde automatisch gegenereerde bericht\n";
$bericht .= "===========================================";
if (mail($aan, $subject, $bericht, "From: $van"))
{
echo "<p>Uw account is aangemaakt maar u kunt nog niet inloggen.</p>";
echo "<p>Er is een bevestigings e-mail gestuurd met een URL adres. U moet uw ";
echo "account eerst activeren voordat u kunt inloggen.</p>";
}
else
{
echo "<p>Uw account is aangemaakt maar er kon geen e-mail verstuurd worden.</p>";
echo "<p>Probeert u het opnieuw. Krijgt u dan nog steeds niet de melding ";
echo "dat er een activatie e-mail is gestuurd, neemt u dan contact met ons op.</p>";
}
}
else
{
echo "<p>Uw account is niet aangemaakt.</p>";
echo "<p>Probeer het a.u.b. nogmaals. Werkt het vervolgens weer niet, neemt dan contact op.</p>";
}
}
?>
Toon Meer
Activatie script
<?
if (!@mysql_select_db("database_naam", @mysql_connect("localhost", "database_user", "database_pass")))
{
echo "Er kon geen connectie worden gemaakt met de database.";
exit();
}
$table = "users";
if ($HTTP_GET_VARS["key"] && $HTTP_GET_VARS["email"])
{
$sql = "SELECT id,activeer FROM $table WHERE activeer = '$HTTP_GET_VARS[key]' AND email = '$HTTP_GET_VARS[email]'";
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1)
{
$row = mysql_fetch_array($res);
if ($row[activeer])
{
$sql = "UPDATE $table SET activeer = NULL WHERE activeer = '$HTTP_GET_VARS[key]' AND email = '$HTTP_GET_VARS[email]'";
$res = mysql_query($sql);
if ($res)
echo "<p>Uw account is geactiveerd. U kunt nu <a href=\"inloggen.php\">inloggen</a>.</p>";
else
echo "<p>Er is iets mis gegaan. U kunt niet inloggen. Probeert u het opnieuw.</p>";
}
else
echo "<p>Het account is al eerder geactiveerd.</p><p><a href=\"inloggen.php\">inloggen</a></p>";
}
else
echo "<p>Het account bestaat niet of is al eerder geactiveerd.</p><p><a href=\"inloggen.php\">inloggen</a></p>";
}
else
echo "<p>U heeft niet de juiste gegevens om dit account te activeren.</p>";
?>
Toon Meer
sql code
CREATE TABLE users (
id int(11) not null auto_increment primary key
, login varchar(20) not null
, pass varchar(200) not null
, email varchar(150) not null
, activeer varchar(100) null
);
:cheer: