Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.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_Session_Login - Fatal编程技术网

如何登录php

如何登录php,php,session,login,Php,Session,Login,我正在尝试为用户创建登录。我有一个将信息插入mysql数据库的sql,但之后我不知道如何实际启动登录。现在,我在join_action.php上插入信息,然后重定向到/index.php(如下)。/index.php上的session\u start()?因为如果是这样,它就不起作用了 PHP(join_action.PHP): HTML(index.php顶部): session\u start将初始化页面的PHP会话,但您似乎没有任何代码来实际操作它们,例如设置它们或检查它们的有效性或其他

我正在尝试为用户创建登录。我有一个将信息插入mysql数据库的sql,但之后我不知道如何实际启动登录。现在,我在join_action.php上插入信息,然后重定向到/index.php(如下)。/index.php上的
session\u start()?因为如果是这样,它就不起作用了

PHP(join_action.PHP):

HTML(index.php顶部):



session\u start
将初始化页面的PHP会话,但您似乎没有任何代码来实际操作它们,例如设置它们或检查它们的有效性或其他任何操作,因此它基本上什么都不做。它无法神奇地知道你想在会话中做什么。您只需要一行代码来设置ID。

下载任意数量的开源项目,看看它们如何处理登录


不,session\u start()不直接处理登录,它只是启动一个新的会话,登录脚本可能会使用该会话。

您需要编写一些额外的代码才能开始使用
session\u start()
。首先,
session\u start()
只是开始一个PHP会话,服务器开始跟踪该特定用户。在您的方法中,您需要将该会话链接到代码中的用户数据

当我学习PHP用户时,这个方便的脚本确实帮助我理解了方法:

虽然它在PHP4中,但它的代码非常相似。:)

login.php(未经测试,但应该给您正确的想法)


与您的问题没有直接关系,但请确保检查SQL注入攻击。您的代码可能有漏洞。@tangrs处理了它。谢谢,不是这样的。它本身。还不清楚帐户创建SQL与登录的关系。请参阅以下内容的手册:。一定要先用谷歌搜索一些关于PHP的教程并创建登录方案。除了批评我的代码外,你有什么可以帮助解决问题的方法吗?
我回答了你的问题,/index.PHP上的session_start()是否真的启动了登录?
,并解释了原因。然后,您可以设置所需的会话值,并在每个页面的顶部检查它们,以确保用户已正确登录。因此,登录的实际操作是设置会话变量?addslashes不会保护sqlinjections@LawrenceCherone问题不在于SQLinjections@user802370您必须使用正确的登录名/电子邮件查询现有用户组合,然后设置一个会话变量,定义它们是否已登录,如果已登录,则在会话中设置一个用户变量,以便您可以访问用户信息。
$sql=mysql_query("INSERT INTO users VALUES ('','$name','$password','$email','$date','$time','$random','0','1','0')");
            $id=mysql_insert_id();
            $_SESSION['id'] = $id;



            header("Location: http://localhost/index.php");
 <?php session_start(); ?>
<?
   @session_start();
   if(isset($_POST['login'])){
    $name = addslashes({$_POST['login']});
    $password = addslashes({$_POST['password']});
    $res=mysql_query("SELECT * FROM users WHERE name = '{$name}' AND password = '{$password}'");

    if(mysql_num_rows($res)>0) {
      $_SESSION['loggedin'] = 1;
      $_SESSION['user'] = mysql_fetch_assoc($res);
     } else {
      $_SESSION['loggedin'] = 0;
      $_SESSION['user'] = null;
     }
    }

    if($_SESSION['loggedin']==1) {
?>
    Logged in! 
    <pre><? print_r($_SESSION['user]); ?></pre>
<? } else { ?>
    Not logged in...<br>
    <form method='post' action='login.php'>
    <div>Login: <input type='text' name='login'></div>
    <div>Password: <input type='password' name='password'></div>
    <input type='submit' value='Log In'>
    </form>
<? } ?>