【发布时间】:2012-12-31 02:16:22
【问题描述】:
我是 PHP 新手(有点),我环顾四周,找不到任何完全符合我的问题的信息,所以在这里;
假设我声明了一个包含 2 个字段和一个提交按钮的表单;
<form name = "tryLogin" action = "logIn()" method = "post">
Username: <input type = "text" name = "username" placeholder = "username.."><br>
Password: <input type = "text" name = "password" placeholder = "password.."><br>
<input type = "submit" value = "Submit">
</form>
在这里您可以看到我尝试将操作设置为函数“logIn()”,我已经将其包含在此文件的标题中。
在一个外部 php 文件中,我有以下内容;
function logIn()
{
if($_POST['username'] == "shane" && $_POST['password'] == "shane")
{
$_SESSION['loggedIn'] = '1';
$_SESSION['user'] = $_POST['username'];
}
header ("Location: /index.php");
}
function logOut()
{
$_SESSION['loggedIn'] = '0';
header ("Location: /index.php");
}
(忽略任何“你不应该做这个,做那个”,我只是在这里画画)。
所以基本上我希望表单提交给该特定功能,这可能吗?我在这里做一些根本错误的事情吗?
【问题讨论】:
-
是的,你不能那样做。它不会在响应正文中发送,一旦服务器向您发送响应,您就会切断与服务器的所有联系
-
您需要编写一个登录页面并在表单操作中使用它。获取此页面上的登录详细信息,然后您可以从该登录页面调用登录功能。