【发布时间】:2012-08-05 18:53:39
【问题描述】:
我的代码有问题 我尝试使用 php 制作注册表单 但我无法将数据插入数据库 这是我的代码
registration_form.php 报名表格
<body>
<form method="post" action="register.php">
<table border="0">
<tr><td>username: </td><td><input type="text" name="username" /></td></tr>
<tr><td>Password: </td><td><input type="password" name="password" /></td></tr>
<tr><td>Confirm Password: </td><td><input type="password" name="confirm_password" /></td></tr>
<tr><td></td><td><input type="submit" value="submit" /></td></tr>
</table>
</form>
</body>
</html>
注册.php
$con=mysql_connect("localhost","root","");
/* Now, we select the database */
mysql_select_db("login®ister");
/* Now we will store the values submitted by form in variable */
$username=$_POST['username'];
$pass=$_POST['password'];
/* we are now encrypting password while using md5() function */
$password=md5($pass);
$confirm_password=$_POST['confirm_password'];
/* Now we will check if username is already in use or not */
$queryuser=mysql_query("SELECT * FROM register WHERE username='$username' ");
$checkuser=mysql_num_rows($queryuser);
if($checkuser != 0)
{ echo "Sorry, ".$username." is already been taken."; }
else {
/* now we will check if password and confirm password matched */
if($pass != $confirm_password)
{ echo "Password and confirm password fields were not matched"; }
else {
/* Now we will write a query to insert user details into database */
$insert_user=mysql_query("INSERT INTO register (username, password) VALUES ('$username', '$password')");
if($insert_user)
{ echo "Registration Succesfull"; }
else
{ echo "error in registration".mysql_error(); }
/* closing the if else statements */
}}
mysql_close($con);
?>
当我点击提交按钮时出现错误消息
Object not found!
The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.
If you think this is a server error, please contact the webmaster.
Error 404
localhost
08/08/12 23:46:37
Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1
请帮我解决这个问题 谢谢
【问题讨论】:
-
强制提及您的代码易受 sql 注入攻击。更多信息:php.net/manual/en/security.database.sql-injection.php
-
另外值得一提的是,有许多可用于 PHP 的框架可以消除向应用程序添加身份验证的所有痛苦。为什么要重新发明轮子?
-
我真的不明白...
-
Mansfield 的意思是,使用您编写的代码将意味着任何人都可以侵入您的网站,删除您的所有用户信息,甚至更糟。谷歌 SQL 注入攻击了解更多信息。我建议使用像 Yii 这样的 PHP 框架(它提供了一个开箱即用的登录系统)将比你自己编写的任何东西都更加可靠、稳定和安全。
-
我明白了……嗯,我的程序已经可以运行了……谢谢你的建议 :)
标签: php html database phpmyadmin registration