0

我的网站有一个管理员部分,并且希望具有允许管理员注册然后能够登录的功能。现在我正在处理注册表单。当我提交我的用户名和密码时,网络浏览器只显示一个空白屏幕,并且没有任何内容添加到我的数据库中。这是我的代码。任何想法为什么会发生这种情况,但不起作用?

<?
$con = mysql_connect("localhost", "root", "");
if(!$con)
    {
    die('Could not connect: ' .mysql_error());
    }
mysql_select_db("bics_place", $con);

$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword']; 
$encrypted_mypassword=md5($mypassword);

$sql = "INSERT INTO admin
            (username, password)
            VALUES
            ('myusername','encrypted_mypassword')";

if(!mysql_query($sql, $con))
    {
    die('Error: ' .mysql_Error());
    }
echo "1 record added";

mysql_close($con);

?>
4

2 回答 2

2

我在本地测试了您的代码,它可以正常工作。有几件事要检查。

您的服务器可能未配置为允许短标签。尝试将'<?'第 1 行更改为'<?php'.

如果您必须使用短标签(您正在使用使用它们的其他人的代码),您需要编辑您的 php.ini 文件以允许它。出于兼容性原因,我倾向于避免使用它们。

short_open_tag=On

如果这不能解决您的问题,请添加error_reporting(E_ALL);到文件的开头,它应该会向您显示错误。一旦您的代码正常工作,就将其删除。

此外,您将需要编辑 $sql 变量。将 $ 放在变量名的前面。

$sql = "INSERT INTO admin
        (username, password)
        VALUES
        ('$myusername','$encrypted_mypassword')";

否则,您的服务器错误日志会告诉您什么?

于 2012-09-19T20:51:14.950 回答
0

不知道为什么您看不到任何错误,但您的 SQL 不正确。

你有:

$sql = "INSERT INTO admin (username, password) VALUES ('myusername','encrypted_mypassword')";

应该是:

$sql = "INSERT INTO admin (username, password) VALUES ('$myusername','$encrypted_mypassword')";

你错过了$变量前面的。

于 2012-09-19T20:35:17.787 回答