0

我一直在为我的网站制作注册页面。

以下是注册的 HTML 代码和表格。

<form action='' method='POST'>
    <table cellspacing='0' cellpadding='0'>
        <tr>
            <td valign='top'>
                <input type='text' name='Username' id='Username' placeholder='Enter your username.'>
            </td>
            <td valign='top'>
                <input type='submit' name='Submit' id='SubmitRegister' value=''>
            </td>
        </tr>
    </table>
    <font style='font-size:13px;color:#aaa;'>3-20 alphanumeric characters - no spaces</font>
</form>

下面是定义变量的PHP(在同一页面上),从而进行注册。

$Username = secure($_POST['Username']);
$Submit = secure($_POST['Submit']);

但是,单击我的提交按钮后,什么也没有发生。我在 $Submit 时就这样做了-

if ($Submit) {
    echo "Test";
}

我发现了一个问题,使用下面的函数 secure() 阻止了它的工作,因为 mysql_real_escape_string() 需要一个有效的数据库连接(已修复。)

这是功能。

function secure($value) {
    $value = mysql_real_escape_string(strip_tags(stripslashes($value)));
    return $value;
}

我可能只是忽略了一个简单的错误,但这让我很恼火,并且让我困扰了好几天。先谢谢了。:)

4

4 回答 4

4

value您需要提交按钮上的属性的实际值,或者您可以这样做isset($Submit)

于 2013-06-06T12:44:37.670 回答
2

您在表格中有简单的错误。您的提交按钮值为空,您正在代码中使用它。这总是返回false您的 if 条件。

改变:

<input type='submit' name='Submit' id='SubmitRegister' value=''>

至:

<input type='submit' name='Submit' id='SubmitRegister' value='Submit'>

享受。

于 2013-06-06T12:46:41.633 回答
1

您的提交按钮的值是 '' 因为您说value=''. 这是您在此处阅读的值:$Submit = secure($_POST['Submit']);

它是一个空字符串。并且空字符串评估为假。所以检查if ($Submit)返回false,并且不执行。

通常不使用提交按钮的值。并且检查通常只通过检查是否给出了用户名来完成。

if ( isset( $_POST['Username'] ) ) { ... }
于 2013-06-06T12:45:13.447 回答
1

你必须使用

if(isset($_POST['Submit']))

而不是

if ($Submit) 
于 2013-06-06T12:45:28.410 回答