Quantcast
Channel: Форум программистов и сисадминов Киберфорум
Viewing all articles
Browse latest Browse all 516800

Ошибка при регистрации пользователя - PHP и базы данных

$
0
0
Регистрация работала, добавила активацию по емейл, теперь при нажатии "зарегистрироваться" выдает ошибку 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 строке.
файл регистрации
Код:

<?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, не знаю правильно ли сделана активация. Ошибка в самом начале, это 10 строка как раз.
Код:

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;


Viewing all articles
Browse latest Browse all 516800

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>