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。但我会尝试第二和第三种方法。谢谢