Simon: EMAIL confirm

Beitrag lesen

da fehlt zwar die hälfte

Hier mal das Gesamte Script:

<?php  
require_once ("includes/validation/validation_functions.php");  
require_once ("includes/files/write_to_a_flat_file4.php");  
require_once ("includes/sql/write_signup_db.php");  
require_once ("includes/sql/email_exists_check_db.php");  
  
session_start();  
  
  
if (@$_POST['submitted']) {  
 $first_name = @$_POST['first_name'];  
  $last_name = @$_POST['last_name'];  
  $email = @$_POST['email'];  
  $password1 = @$_POST['password1'];  
 $password2 = @$_POST['password2'];  
  
 $error_msg=array();  
  
  
$valid = verifyAlphaNum ($first_name);  
if (!$valid){  
$error_msg[]="Vorname darf nur Buchstaben, Zahlen, Leerzeichen, Bindestrische und ' enthalten.";  
}  
  
$valid = verifyAlphaNum ($last_name);  
if (!$valid){  
$error_msg[]="Nachname darf nur Buchstaben, Zahlen, Leerzeichen, Bindestrische und ' enthalten.";  
}  
  
$valid = verifyEmail ($email);  
if (!$valid){  
$error_msg[]="Email muss ein valides Format haben (z.B. john@yahoo.com).";  
} else {  
  
 $returnedID = checkEmail($email);  
  
}  
  
if (((strlen($password1)) < 4) or ((strlen($password1))) > 9){  
$error_msg[]="Passwort muss 4 bis 9 Zeichen enthalten.";  
}  
  
if ($password1 !== $password2) {  
$error_msg[]="Beide Passwort-Felder müssen übereinstimmen. Bitte versuchen sie es noch einmal.";  
}  
  
$valid = verifyPassword ($password1);  
if (!$valid){  
$error_msg[]="Passwort darf nur Buchstaben und Zahlen enthalten.";  
}  
  
//////////////////////////////////////////////////  
//////////////////////////////////////////////////  
  
$email_confirmed ="0";  
function refgen($length)  
{  
  list($msec,$sec)=explode(' ',microtime());  
  mt_srand((float) $sec + ((float) $msec * 100000));  
  return substr(md5(uniqid(mt_rand(),true)),0,$length);  
}  
$code = md5(refgen(16));  
  
///////////////////////////////////////////////////  
///////////////////////////////////////////////////  
  
  if  (!$returnedID &&!$error_msg && $_POST['submitted']) {  
  
  
  writeMemberSignup ($first_name, $last_name, $email, $password1, $email_confirmed, $code);  
  
  $_SESSION['name']='loggedIn';  
  
  header ('Location: a_sign_up.php');  
  
    exit();  
 }  
  
$my_email = "email";  
  
 $email_subject="Bestätige deine Registrierung!";  
 $email_body = "Danke für die Registrierung auf heimgeistig.at. Bitte klick auf den Link um deine Registrierung zu bestätigen:\n\n <a href=\"http://www.heimgeistig.at/confirm_email.php?ref=$code\">Jetzt bestätigen!</a>\n Wenn der Link nicht funtkioniert kopier ihn einfach in deinen Webbroser und drücke Enter!";  
        mail ($email, $email_subject, $email_body, "From: ".$my_email);  
  
}  
?>

im übrigen, deine hash-funktion ist potentiell fehlerhaft, da sie keine eindeutigen werte generiert ;) - das ist zwar in einer sehr vernachlässigbaren dimension, aber ich wills nur gesagt haben

Kannst du vieleicht erklären wie ich es anders Lösen kann?

MfG
Simon