php似乎不从表单(post和get)接收值
我正在尝试创建一个登录和注销系统。一切正常,直到我尝试发送隐藏值(在最后)注销。用户将“提交”隐藏值“注销”,但该值似乎未发送。我已经尝试了不同的方法来解决这个问题,但要么我总是收到错误消息(但代码有效),要么我没有收到错误消息,但它不起作用php似乎不从表单(post和get)接收值,php,html,Php,Html,我正在尝试创建一个登录和注销系统。一切正常,直到我尝试发送隐藏值(在最后)注销。用户将“提交”隐藏值“注销”,但该值似乎未发送。我已经尝试了不同的方法来解决这个问题,但要么我总是收到错误消息(但代码有效),要么我没有收到错误消息,但它不起作用 <section> <h2>Zaloguj się do systemu</h2> <?php //$username; //$password; if(empty($_SESSION[
<section>
<h2>Zaloguj się do systemu</h2>
<?php
//$username;
//$password;
if(empty($_SESSION['userpass']) && empty($_POST['pass'])){
//create a log in form if no one is log in
echo "
<form method='post' action='./indexLogin.php'>
<table>
<tr>
<td>Urzytkownik:</td>
<td><input type='text' name='name'/></td>
</tr>
<tr>
<td>Hasło:</td>
<td><input type='password' name='pass'/></td>
</tr>
</table>
<input type='submit' value='Wyślij'>
</form>
"; //end of echo
}
else if(empty($_SESSION['userpass']) && !empty($_POST['pass'])){
//echo the user name and his password
$userName = $_POST['name'];
$password = $_POST['pass'];
echo "Nastąpiło poprawne zalogowanie do systemu";
//save user password to session
$_SESSION['username'] = $userName;
$_SESSION['userpass'] = $password;
}
//problem starts here
else{
if($_POST['logout'] == true){
session_destroy();
echo "Nastąpiło poprawne wylogowanie z systemu";
}
else{
echo "Jesteś zalogowany jako: ".$_SESSION['username'];
echo "
<form method='post' action='./indexLogin.php'>
Do you want to log out?<br/>
<input type='hidden' name='logout' value='true'>
<input type='submit' value='Wyloguj'>
</form>
";
}
}
?>
扎洛古伊·西西多系统公司
实际上,您的代码似乎可以工作,但您应该启用与的会话
session_start();
在你的代码之前。然后,我可以提交登录凭据并注销
干杯,实际上,您的代码似乎正常工作,但您应该启用与的会话
session_start();
在你的代码之前。然后,我可以提交登录凭据并注销
干杯,首先要检查的是您的PHP>=4.1。在旧的PHP中,$\u GET和$\u POST根本不存在
第二件要检查的事情是打印$\请求的内容(它是$\ GET和$\ POST以及$\ COOKIE的组合),并查看是否有一些数据真的进入了脚本
第三:我已经在我的主机上执行了您的脚本,并以“else-if”分支结束。显然,您的脚本没有问题,但主机处理请求的方式有问题。你在共享主机上吗?某些共享主机故意关闭了superglobals,然后您需要使用$GLOBALS[“\u POST”]而不是$\u POST
当然,使用session_start()首先要检查的是PHP>=4.1。在旧的PHP中,$\u GET和$\u POST根本不存在
第二件要检查的事情是打印$\请求的内容(它是$\ GET和$\ POST以及$\ COOKIE的组合),并查看是否有一些数据真的进入了脚本
第三:我已经在我的主机上执行了您的脚本,并以“else-if”分支结束。显然,您的脚本没有问题,但主机处理请求的方式有问题。你在共享主机上吗?某些共享主机故意关闭了superglobals,然后您需要使用$GLOBALS[“\u POST”]而不是$\u POST
当然要使用session_start(),在第一个会话中会收到哪些错误消息?你知道,堆栈溢出不是一个调试服务,在第一个服务中你会收到什么错误消息?你知道,堆栈溢出不是一种调试服务,我在顶部有session start()。正如我所说,第一部分工作。最后一位没有。我在顶部有session start()。正如我所说,第一部分工作。最后一点没有。我有PHP版本5.4.3。但我会尝试第二和第三种方法。谢谢,我有PHP版本5.4.3。但我会尝试第二和第三种方法。谢谢