gpt4 book ai didi

php - HTML/PHP 表单问题

转载 作者:行者123 更新时间:2023-11-29 04:44:16 26 4
gpt4 key购买 nike

我对网络编码比较陌生,但我知道的很多,我之前在做一个注册表,它也会检查字段是否为空。一切正常,但似乎没有任何效果,当字段为空时,消息不会出现,当字段正常时,它只是加载但实际上并没有将其插入数据库。此外,一旦我按下提交按钮,表单也会消失。任何帮助将不胜感激。

<form method="post">
<?php
if(isset($_POST['submit'])){
$username=$_POST['username'];
$password=$_POST['password'];
$password=md5(hash("sha512",$password));
if(empty($username) or empty($password)){
$message="Please enter information into the fields.";
} else {
mysql_query("INSERT INTO `users` VALUES('',$username,$password)");
$message="Register successful!";
}
echo "<div id='box>$message</div>";
}
?>
Username: <input type="text" name="username" /><br>
Password: <input type="password" name="password" /><br>
<input type="submit" name="submit" value="Sign Up">
</form>

最佳答案

看起来你没有打印出 mysql 错误,你只需要在查询的末尾添加 or die(mysql_error()); 就像我的一样我做的例子。无论如何,您应该用 引号 将您的字符串括起来。当您按下时页面出现空白,因为如果满足条件。所以改变如下

mysql_query("INSERT INTO `users` VALUES('','$username','$password')") or die(mysql_error());

作为旁注,我将停止使用 mysql_ 函数,因为它们已被弃用,而是使用 PDOmysqli使用准备好的语句来避免 mysql 注入(inject)的任何风险,因为您的代码非常容易受到攻击。 LEARN MORE HERE

正如 CodeBird 正确陈述的那样

md5 of an empty string will return a 32 chars string, so the password you are testing will never be empty

关于php - HTML/PHP 表单问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21957324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com