【发布时间】:2016-03-09 16:32:05
【问题描述】:
我有一个要求用户输入的表单。输入应该是我的数据库中存在的名称。
<p><span class="error">* required field.</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name" value="<?php echo $name;?>">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
<input type="submit" name="login" value="Login">
</form>
我正在尝试首先检查用户输入,然后如果输入正确,则将用户发送到另一个站点。
这是我用来清理输入的:
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
}
}
然后我想在查询到我的数据库并收到 ID 后发送到下一个站点:
<form action = "http://website.com/~username/site.php" method="get">
Name: <input type="text" name="name"><br>
<Input type="submit">
</form>
我该怎么做呢?
【问题讨论】:
-
如果用户名在您的数据库表中,您想重定向用户吗?使用 phps header() 函数来做到这一点。
-
我试过这样做。我应该把 header() 函数放在哪里?当我尝试它时,它似乎没有执行。
-
重定向用户使用 header('Location: myfile.php').
-
好的,这样效果很好。现在我还需要能够将通过查询获得的 ID 发送到下一页。