<?php
// Session starten
session_start();
// Datenbank einbinden
require_once '../include/db.php';
// Funktionen einbinden
require_once '../include/functions.php';
// Config einbinden
require_once '../include/config.php';
// Autload Klassen
function __autoload($klassenname)
{
$klasse = strtolower($klassenname);
require_once '../class/' . $klasse . ".class.php";
}
// Registrierungsprozess
if(isset($_POST['reg_submit']))
{
// POST Variablen einlesen und filtern
$reg_name = trim($dbcon->real_escape_string(htmlspecialchars($_POST['reg_name'])));
$reg_email = trim($dbcon->real_escape_string(htmlspecialchars($_POST['reg_email'])));
$reg_handy = trim($dbcon->real_escape_string(htmlspecialchars($_POST['reg_handy'])));
$reg_passwort = md5(trim($dbcon->real_escape_string(htmlspecialchars($_POST['reg_passwort']))));
$reg_passwort_confirm = md5(trim($dbcon->real_escape_string(htmlspecialchars($_POST['reg_passwort_confirm']))));
// Prüfen ob bereits ein Benutzer unter selben Mail oder Nummer registriert ist
$query = "SELECT id_benutzer FROM benutzer WHERE email = '$reg_email'";
$result = $dbcon->query($query) or die($dbcon->error);
$affected_email = $result->num_rows;
$query = "SELECT id_benutzer FROM benutzer WHERE handy = '$reg_handy'";
$result = $dbcon->query($query) or die($dbcon->error);
$affected_handy = $result->num_rows;
// Überprüfung der Eingaben durchführen
$target = "../index.php?page=registrieren&";
$regerror = "0";
if(empty($reg_name))
{
$target .= "badname=1&";
$regerror++;
}
if(empty($reg_email) || check_email_address($reg_email) == FALSE || $affected_email == TRUE)
{
$target .= "badmail=1&";
$regerror++;
}
if(empty($reg_handy) || !is_numeric($reg_handy) || $affected_handy == TRUE)
{
$target .= "badnumber=1&";
$regerror++;
}
if(empty($reg_passwort))
{
$target .= "badpassword=1&";
$regerror++;
}
if(empty($reg_passwort_confirm) || $reg_passwort != $reg_passwort_confirm)
{
$target .= "badconfirmpassword=1&";
$regerror++;
}
if($regerror != 0)
{
redirect($target);
}
else
{
// Benutzer in Datenbank eintragen
$query = "INSERT INTO benutzer (name, email, handy, passwort, emailaktiv, smsaktiv, gesperrt) VALUES ('$reg_name', '$reg_email', '$reg_handy', '$reg_passwort', '0', '0', '0')";
$result = $dbcon->query($query) or die($dbcon->error);
// Aktivierungskeys anlegen
$query = "SELECT id_benutzer FROM benutzer WHERE handy = $reg_handy LIMIT 1";
$result = $dbcon->query($query) or die($dbcon->error);
$value = $result->fetch_row();
$id_benutzer = $value[0];
$emailkey = rand(5198143,9999999);
$smskey = rand(5198143,9999999);
$query = "INSERT INTO aktivierung (benutzer, smskey, emailkey) VALUES ('$id_benutzer', '$smskey', '$emailkey')";
$result = $dbcon->query($query) or die($dbcon->error);
// Link für Aktiverungsmail zusammenbauen
$host = htmlspecialchars($_SERVER['HTTP_HOST']);
$url = rtrim(dirname(htmlspecialchars($_SERVER['PHP_SELF'])), "/\\");
$aktivierungslink = "http://" . $host . $url . "/aktivieren.php?emailkey=$emailkey";
// Aktivierungskeys versenden
$emailtext = "Danke fuer deine Registrierung auf www.FreeSms.so. Bitte rufe folgenden Link auf, um deinen Account zu aktivieren.\n\n Dein E-Mail-Aktivierungslink:\n";
$emailtext .= $aktivierungslink;
$bestaetigungsmail = mail($reg_email, "Aktivierung Deines Accounts bei FreeSMS.so", $emailtext, "From: FreeSMS.so <[email protected]>");
$bestaetigungssms = new SMSTrade($smstrade_key, $smstrade_route, $smstrade_debug);
$bestaetigungssms->NachrichtSenden("FreeSMS", $reg_handy,"Vielen Dank fuer deine Registrierung auf FreeSMS.so. Dein SMS-Verifizierungscode: $smskey");
// SMS Kontigent bereitstellen
$query = "INSERT INTO kontigent (benutzer, credits) VALUES ('$id_benutzer', '$start_credits')";
$result = $dbcon->query($query) or die($dbcon->error);
// Logeintrag schreiben
$query = "SELECT id_benutzer FROM benutzer WHERE handy = '$reg_handy'";
$result = $dbcon->query($query) or die($dbcon->error);
$row = $result->fetch_row();
$log_benutzer = $row[0];
$log_ip = $_SERVER['REMOTE_ADDR'];
$log_host = gethostbyaddr($log_ip);
$log_timestamp = getTimestamp();
$query = "INSERT INTO reglog (benutzer, ip, host, timestamp) VALUES ('$log_benutzer', '$log_ip', '$log_host', '$log_timestamp')";
$result = $dbcon->query($query) or die($dbcon->error);
// Umleiten
redirect("../index.php?page=registrierung-erfolgreich");
}
}
else
{
// Umleiten bei Aufruf ohne Werte
redirect("../index.php?page=startseite");
}
?>