Hallo,
toen ik een paar maanden geleden net begonnen was met php heb ik een login systeem van het internet afgehaald uit een tutorial.
Ik heb daar nu ook al het een en ander aan veranderd omdat hij niet geheel goed functioneerde maar ik krijg het registratiegedeelte niet helemaal werkend.
in de register.php staat dit:
<?php
require_once "header.php";
include "db_connect.inc";
if (isset($_POST['register'])){
if (registerNewUser($_POST['username'], $_POST['password'], $_POST['password2'], $_POST['email'])){
echo "Thank you for registering, an email has been sent to your inbox, Please activate your account.
<a href='./index.php'>Click here to login.</a>
";
}else {
echo "Registration failed! Please try again.";
show_registration_form();
}
} else {
// has not pressed the register button
show_registration_form();
}
require_once "footer.php";
?>
en in de functions.inc dit: (het is allemaal in de header geincluded)
<?
function registerNewUser($username, $password, $password2, $email)
{
global $seed;//seed voor w8woord
if (!valid_username($username) || !valid_password($password) ||
!valid_email($email) || $password != $password2 || user_exists($username))
{
return false;
}
$code = generate_code(20);
$sql = sprintf("insert into login (username,password,email,actcode) value ('%s','%s','%s','%s')",
mysql_real_escape_string($username), mysql_real_escape_string(sha1($password . $seed))
, mysql_real_escape_string($email), mysql_real_escape_string($code));
if (mysql_query($sql))
{
$id = mysql_insert_id();
if (sendActivationEmail($username, $password, $id, $email, $code))
{
return true;
} else
{
return false;
}
} else
{
return false;
}
return false;
}
?>
en het mailgedeelte:
<?
function sendActivationEmail($username, $password, $uid, $email, $actcode)
{
global $domain;
$link = "http://www.$domain/activate.php?uid=$uid&actcode=$actcode";
$message = "
Thank you for registering on http://www.$domain/,
Your account information:
username: $username
password: $password
Please click the link below to activate your account.
$link
Regards
$domain Administration
";
if (sendMail($email, "Please activate your account.", $message, "no-reply@$domain"))
{
return true;
} else
{
return false;
}
}
?>
ik kan niet precies vinden wat er fout is, zover gaat mijn kennis in php nog niet. Maar altijd als ik probeer te registreren komt er: Registration failed! Please try again.
2.831 views