Регистрация работала, добавила активацию по емейл, теперь при нажатии "зарегистрироваться" выдает ошибку Warning: Missing argument 3 for regUser(), called in Z:\home\localhost\www\deti\reg.php on line 28 and defined in Z:\home\localhost\www\deti\lib\functions.php on line 10
не могу понять что нужно добавить в 28 и 10 строке.
файл регистрации
часть файла function, не знаю правильно ли сделана активация. Ошибка в самом начале, это 10 строка как раз.
не могу понять что нужно добавить в 28 и 10 строке.
файл регистрации
Код:
<?php
require_once "lib/functions.php";
session_start();
if (isset ($_POST['reg'])) {
$login = htmlspecialchars($_POST['login']);
$password = htmlspecialchars($_POST['password']);
$email = htmlspecialchars($_POST['email']);
$captcha = htmlspecialchars($_POST['captcha']);
$bad=false;
unset($_SESSION['error_captcha']);
unset($_SESSION['error_login']);
unset($_SESSION['error_password']);
unset($_SESSION['error_email']);
unset($_SESSION['success_reg']);
if (($captcha != $_SESSION["rand_code"]) || ($captcha =="")) {
$_SESSION['error_captcha']=1;
$bad = true;
}
if ((strlen($login)<3) || (strlen($login) > 32)) {
$_SESSION['error_login']=1;
$bad=true;
}
if ((strlen($password)<6) || (strlen($password)>32)) {
$_SESSION['error_password']=1;
$bad = true;
}
if (!$bad){
regUser($login, md5($password));
$_SESSION['reg_success']=1;
}
}
Код:
function regUser($login, $password, $email) {
$mysqli = connectDB();
$activation = getActivateLink($email);
$mysqli->query("INSERT INTO users (`login`, `password`, `activation`, `email`) VALUES('$login', '$password', '$activation', '$email')");
mail("$email", "Для регистрации на сайте, перейдите по ссылке", "http://localhost/deti/act.php?email=$email&key=$activation");
closeDB($mysqli);
}
function getActivateLinkFromTable ($email) {
$mysqli = connectDB();
$result_set = $mysqli->query("SELECT `activation` FROM `users` WHERE `email` = '$email'");
$row = $result_set->fetch_assoc();
$result_set->close();
closeDB($mysqli);
return $row['activation'];
}
// очищение ссылки активации
function activateUser($login) {
$mysqli = connectDB();
$mysqli->query("UPDATE `users` SET `activation` = '' WHERE `email` = '$email'");
closeDB($mysqli);
//
}
function checkActivateLink ($login, $key) {
$real_key = getActivateLinkFromTable ($login);
return $real_key === $key;