//register.php
<?php
include 'connection.php';
$err = array();
if($_POST['doRegister'] == 'Register')
{
foreach($_POST as $key => $value) {
$data[$key] = filter($value);
}
/* jetzt wirds kompliziert...
Erstmal das ganze abfragen, was Falsch sein kann ^^
User Name*/
if (!isUserID($data['username'])) {
$err[] = "Fehler - Unzulässiger Username.<br />
Der Username kann A-Z, a-z, 0-9 und _ enthalten.";
//header("Location: register.php?msg=$err");
//exit();
}
// E-mail Verifikation - ihr könnt mich mal *gg*
if(!isEmail($data['usr_email'])) {
$err[] = "Fehler - Unzulässige E-Mail Adresse.";
//header("Location: register.php?msg=$err");
//exit();
}
// Hier mach ichs mir einfach...
if (!checkPwd($data['pwd'],$data['pwd2'])) {
$err[] = "Fehler - Passwörter stimmen nicht überein oder das Passwort ist zu kurz. <br />
Bitte 5 oder mehr Zeichen eingeben";
//header("Location: register.php?msg=$err");
//exit();
}
$ip = $_SERVER['REMOTE_ADDR'];
//Hash vom passwort
$sha1pass = PwdHash($data['pwd']);
// Etwas Serverseitiges, ist später noch wichtig...
$host = $_SERVER['HTTP_HOST'];
$host_upper = strtoupper($host);
$path = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
// Aktivierungscode wird generiert
function charRand()
{
$randString = '';
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'; //ja ich mag euch *gg*
for ($i=0;$i<17;$i++)
{
$randNum = mt_rand(0, strlen($chars)-1);
$randString .= $chars[$randNum];
}
return $randString;
}
$activ_code = $randString;
// Soderle, jetzt der Wichtigste Kram für euch: Name und Email xD
$usr_email = $data['usr_email'];
$username = $data['username'];
/*Serverseitige Überprüfung des vorhanden seins der Email Adresse / des Usernamens
*/
$rs_duplicate = mysql_query("select count(*) as total from users where user_email='$usr_email' OR username='$username'") or die(mysql_error());
list($total) = mysql_fetch_row($rs_duplicate);
if ($total > 0)
{
$err[] = "Die angegebene E-mail Adresse / der angegebene Username ist bereits in Benutzung.<br />
Hast du vielleicht dein <a href=\"forgot.php\">Passwort vergessen?</a>";
//header("Location: register.php?msg=$err");
//exit();
}
/*
Nun in die Datenbank damit...
*/
if(empty($err)) {
$sql_insert = "INSERT into `users`
(`user_email`,`pwd`, `date`,`users_ip`,`activation_code`, `username`
)
VALUES
('$usr_email','$sha1pass', now(),'$ip','$activ_code','$username'
)
";
/* Zur Erklärung:
User Email - Sollte klar sein
PWD - password, in Codierter Form, heißt, ich weiß nicht was ihr da so egschrieben habt, Plaintext wäre hier absolut ungeeignet
Date - Datum, wir wollen ja wissen wann ihr euch registiert habt =)
Users IP - naja, eure IP will ich dann doch gerne auch hier wissen, damit mich keien Bots zuspammen
Act. Code - Sollte auch klar sein, ich muss den Speichern, damit er auch funktioniert.
Username - Ja was soll ich dazu sagen...
*/
mysql_query($sql_insert,$link) or die("Insertion Failed:" . mysql_error());
$user_id = mysql_insert_id($link);
$md5_id = md5($user_id);
mysql_query("update users set md5_id='$md5_id' where id='$user_id'");
// echo "<h3>Danke.</h3> für deine Registierung.<br />
// Eine Email wurde an $usr_email versendet, sie enthält einen Aktivierungslink für deinen Account.";
if($user_registration) {
$a_link = "
*****Aktivierungslink*****\n
http://$host$path/activate.php?user=$md5_id&code=$activ_code
";
} else {
$a_link =
"Dein Account befindet sich in der Aktivierungsphase durch einen Adminestrator.
";
}
$message =
"Hallo, \n
danke für deine Registierung, hier sind deine Login-Daten\n
User ID: $user_name
Email: $usr_email \n
Passwort: $data[pwd] \n
$a_link \n
(Dieser Link MUSS bestätigt werden.)
Noch viel Spaß,
$host_upper
______________________________________________________
Dies ist eine Automatisierte E-Mail.
Bitte *NICHT* Antworten.
";
mail($usr_email, "Login Details", $message,
"From: \"Registration auf RPG-Dicer\" <noreply@$host>\r\n" .
"X-Mailer: PHP/" . phpversion());
header("Location: danke.php");
exit();
}
}
?>
<html>
<head>
<title>Registration auf RPG-Dicer</title>
<meta http-equiv="Content-Type" content="text/html">
<script language="JavaScript" type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script language="JavaScript" type="text/javascript" src="js/jquery.validate.js"></script>
<script>
$(document).ready(function(){
$.validator.addMethod("username", function(value, element) {
return this.optional(element) || /^[a-z0-9\_]+$/i.test(value);
}, "Username darf nur Buchstaben, Zahlen und unterstriche enthalten.");
$("#regForm").validate();
});
</script>
<link href="styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="5" class="main">
<tr>
<td colspan="3"> </td>
</tr>
<tr>
<td width="160" valign="top"><p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p></td>
<td width="732" valign="top"><p>
<?php
if (isset($_GET['done'])) { ?>
<h2>Danke</h2> Die Registration ist abgeschlossen. Du kannst dich nun<a href="login.php">hier</a> einloggen";
<?php exit();
}
?></p>
<h3 class="titlehdr">Registration</h3>
<p>Du musst dich registieren um den Online-Würfel des RPG-Dicers benutzen zu können.
Die Registrationgeht schnell und einfach. Bitte beachte, das Felder die makiert sind (<span class="required">*</span>)
gebraucht werden.</p>
<?php
if(!empty($err)) {
echo "<div class=\"msg\">";
foreach ($err as $e) {
echo "* $e <br>";
}
echo "</div>";
}
?>
<br>
<form action="register.php" method="post" name="regForm" id="regForm" >
<table width="95%" border="0" cellpadding="3" cellspacing="3" class="forms">
<td colspan="2"><h4><strong>Login Details</strong></h4></td>
</tr>
<tr>
<td>Username<span class="required"><font color="#CC0000">*</font></span></td>
<td><input name="username" type="text" id="username" class="required username" minlength="3" >
<input name="btnAvailable" type="button" id="btnAvailable"
onclick='$("#checkid").html("Bitte warten..."); $.get("checkuser.php",{ cmd: "check", user: $("#username").val() } ,function(data){ $("#checkid").html(data); });'
value="Check Availability">
<span style="color:red; font: bold 12px verdana; " id="checkid" ></span>
</td>
</tr>
<tr>
<td>Deine Email<span class="required"><font color="#CC0000">*</font></span>
</td>
<td><input name="usr_email" type="text" id="usr_email3" class="required email">
<span class="example">username@domain.tld</span></td>
</tr>
<tr>
<td>Passwort<span class="required"><font color="#CC0000">*</font></span>
</td>
<td><input name="pwd" type="password" class="required password" minlength="5" id="pwd">
<span class="example">Das Passwort muss mindestens 5 zeichen lang sein</span></td>
</tr>
<tr>
<td>Passwort wiederholen<span class="required"><font color="#CC0000">*</font></span>
</td>
<td><input name="pwd2" id="pwd2" class="required password" type="password" minlength="5" equalto="#pwd"></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
</td>
</tr>
</table>
<p align="center">
<input name="doRegister" type="submit" id="doRegister" value="Registeren">
</p>
</form>
</td>
<td width="196" valign="top"> </td>
</tr>
<tr>
<td colspan="3"> </td>
</tr>
</table>
</body>
</html>