Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 注册后自动登录_Php_Mysql_Sql - Fatal编程技术网

Php 注册后自动登录

Php 注册后自动登录,php,mysql,sql,Php,Mysql,Sql,有人能帮我自动注册后登录请,这是我的注册脚本 if (empty($_POST) === false) { $required_fields = array ('email', 'username', 'password', 'password_again', 'first_name', 'last_name'); foreach ($_POST as $key=>$value) { if (empty($value) && in_array($key, $requ

有人能帮我自动注册后登录请,这是我的注册脚本

if (empty($_POST) === false) {
$required_fields = array ('email', 'username', 'password', 'password_again', 'first_name', 'last_name');
foreach ($_POST as $key=>$value) {
    if (empty($value) && in_array($key, $required_fields) === true) {
        $errors [] = 'ALL fields MUST be filled out correctly';
        break 1;
    }
}

    if (empty($errors) === true) {
    if (user_exists($_POST['email']) === true) {
        $errors [] = 'Sorry, the email \'' . $_POST['email'] . '\' is already in use.';   
    }
            if (preg_match("/\\s/", $_POST['email']) == true) {
            $errors[] = 'Your email must not contain any spaces';

    }
            if (user_exists($_POST['username']) === true) {
        $errors [] = 'Sorry, the username \'' . $_POST['username'] . '\' is already in use.';   
    }
    if (preg_match("/\\s/", $_POST['username']) == true) {
            $errors[] = 'Your username must not contain any spaces';

    }
    if (strlen($_POST['password']) < 6)  {
    $errors[] = 'Your password must be in between 6-24 characters long';
    }
    if ($_POST['password'] !== $_POST ['password_again']) {
        $errors[] = 'Your passwords did not match';
    }

}
}
?>
if(空($\u POST)==false){
$required_fields=数组('email','username','password','password','first_name','last_name');
foreach($\发布为$key=>$value){
if(空($value)&&in_数组($key,$required_字段)==true){
$errors[]=“必须正确填写所有字段”;
破口1;
}
}
if(空($errors)==true){
如果(用户存在($\u POST['email'])==true){
$errors[]=“对不起,电子邮件\'.$\u POST['email'.\'已在使用中。”;
}
if(preg_match(“/\\s/”,$_POST['email'])==true){
$errors[]=“您的电子邮件不得包含任何空格”;
}
如果(用户存在($\u POST['username'])==true){
$errors[]=“对不起,用户名\'.$\u POST['username'.\'已在使用中。”;
}
if(preg_match(“/\\s/”,$\u POST['username'])==true){
$errors[]=“您的用户名不能包含任何空格”;
}
如果(strlen($_POST['password'])<6){
$errors[]=“您的密码长度必须在6-24个字符之间”;
}
如果($\u POST['password']!=$\u POST['password']){
$errors[]=“您的密码不匹配”;
}
}
}
?>

这段代码只注册用户,我希望它也能登录,你能不能给这段代码打分?请结束你的注册脚本

//include your login validation
if(empty($errors)){
   //User->login(); or anything you use for validating logins
}

要执行登录,通常需要为用户创建cookie(使用PHP的setcookie函数),并初始化保存用户数据(如用户名)的会话变量

此链接将向您展示如何使用setcookie()

对于会话变量,可以这样任意设置:

$\u会话['username']=“Admin”


创建一个安全的登录脚本需要一些时间,因此我建议使用已有的表单,并根据您的需要调整它们。为了使它真正安全,您需要对数据库输入进行严格的健全性检查,使用校验和保护登录和表单发布,以及许多其他因素

如何执行登录?我们不能不知道这一部分。为了将来的参考,要求不要投反对票是获得反对票的一种几乎肯定的方式。。。一个更好的策略是说“如果我能提供更多信息或改进这个问题,请让我知道你还需要什么……”我猜在这段代码之后,你实际上是在注册,因为这段代码看起来只是在检查所有注册信息是否有效。但是,一旦你注册了,就可以使用给定的用户名/密码为他们自动设置一个会话,无论你使用什么系统进行“登录”。我使用电子邮件和密码登录这是一个可怕的问题。您显示的代码基本上是无关的——验证表单字段——而不向我们显示您在哪里注册用户,或者您试图在哪里登录用户。没有水晶球,任何人都无法回答这个问题。我清理了我所有的数据等…我也有一个工作登录脚本,我只需要这样做,它会自动在用户注册后登录,而不必再次键入他们的电子邮件和密码。在这种情况下,只需给用户一个cookie并设置$\u会话变量。然后使用这些会话变量显示用户名和任何其他相关信息。