Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.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
登录:电子邮件密码匹配w/PHP和MySQL_Php_Mysql_Login Script - Fatal编程技术网

登录:电子邮件密码匹配w/PHP和MySQL

登录:电子邮件密码匹配w/PHP和MySQL,php,mysql,login-script,Php,Mysql,Login Script,**更新** 非常好的帮助,只需省略$-登录即可解决此问题 $dbusername = $row['$username_login']; $dbpassword = $row['$password_login']; 到他们的列名 $dbusername = $row['username']; $dbpassword = $row['password']; 我目前正在使用PHP和MySQL,学习一些关于创建简单社交网络的教程。我

**更新** 非常好的帮助,只需省略$-登录即可解决此问题

        $dbusername = $row['$username_login'];
        $dbpassword = $row['$password_login'];
到他们的列名

        $dbusername = $row['username'];
        $dbpassword = $row['password'];

我目前正在使用PHP和MySQL,学习一些关于创建简单社交网络的教程。我在尝试检查密码是否与用户名匹配时遇到了问题

登录表单的代码:

<form action="login.php" method="POST">
<input type="text" size="25" name="user_login" id="user_login" placeholder="Username" />
<input type="password" size="25" name="password_login" id="password_login" placeholder="Password" /> <br />
<input type="submit" name="login" id="button" value="Login" />
</form>
我还提供了代码,用于检查是否有任何字段留空,或者用户名是否不存在。对于上述测试(空白字段和无效用户名),该代码似乎运行良好,但在我尝试使用有效用户名和密码登录时,情况并非如此


如果您在这方面有任何帮助,我们将不胜感激:)

您的列可能不是名为“$username\u login”和“$password\u login”

$dbusername = $row['$username_login'];
$dbpassword = $row['$password_login'];

也许您只需省略$(如果您的列名称为“username\u login”和“password\u login”)

上述答案解决了您的问题;但是,在使用PHP时还要注意以下几点,以避免将来的麻烦:

  • 不要在数据库、表和列名周围加上一个引号。您可以使用它们的文字名称或包含文字名称的变量'username'='$username'错误username='$username'是正确的
  • 如果数据库、表或列名包含空格,请在名称周围加上勾号`(该字符位于美国地区键盘的左侧,位于for键的前面!)用户列错误`user column`是正确的
  • 将字符串值用单引号“;e、 g.用户名=“$username”。
  • 数据类型为数字的列的值周围不需要单引号;e、 g.userid=2


安全问题 因为您刚刚开始学习语言,所以最好从正确的开始

  • 不要再使用mysql_*函数;这是不安全的,而且一直如此。相反,使用。使用起来更容易、更安全
  • 永远不要将root用作数据库用户,即使在开发过程中也是如此
  • 在生产或开发系统上,所有数据库用户必须拥有/使用密码。防止授权访问
最后,如果答案对你有帮助,接受它。它允许其他人在将来帮助你。


希望这能有所帮助。

如果没有更多信息,我认为这是您唯一的问题:$dbusername=$row['$username\u login']$dbpassword=$row['$password_login'];您缺少堆栈溢出的2个结束标记-请不要在问题标题中添加“已解决”。相反,单击相应答案旁边的复选标记,将其标记为已接受。这就是其他人知道问题已经解决的方式。非常感谢!你完全正确,我所要做的就是省略$符号并使用列名。
$dbusername = $row['$username_login'];
$dbpassword = $row['$password_login'];