Php 我不知道';我不明白ob_start()和ob_end_clean()是如何开始的

Php 我不知道';我不明白ob_start()和ob_end_clean()是如何开始的,php,jquery,Php,Jquery,请对我耐心点。我花了一个小时在互联网上寻找解决方案,但似乎没有任何效果。但我想我知道它是如何工作的 我正在Altervista上托管我的网站。我想做的是:我发送登录凭据,如果出现问题,回显错误消息(取决于错误类型),否则转到主页: process_info.php <?php ob_start(); if($_POST["nickname"] and $_POST["password"]) { $username = $_POST["nickname"]

请对我耐心点。我花了一个小时在互联网上寻找解决方案,但似乎没有任何效果。但我想我知道它是如何工作的

我正在Altervista上托管我的网站。我想做的是:我发送登录凭据,如果出现问题,回显错误消息(取决于错误类型),否则转到主页:

process_info.php

<?php

    ob_start();

    if($_POST["nickname"] and $_POST["password"]) {
        $username = $_POST["nickname"];
        $password = $_POST["password"];
    }
    else
    {
        echo "Please fill the form";
        exit();
    }

    $conn = new mysqli("localhost", $username, $password, "db");

    if ($conn->connect_error) {
        echo "Connection failed"; // $conn->connect_error
    }

    $conn->close();

    session_start();
    $_SESSION["nickname"] = $username;
    $_SESSION["password"] = $password;

    ob_end_clean();

    header("location: ../interno/home/home.php");
    exit();

?>

这就是我在我的login.php中发送登录信息的方式:

<script>


    $(document).ready(function(){
        $("#invia").click(function(){

            var n = $("#nickname").val();
            var p = $("#password").val();

            $.post("php/invia_credenziali.php",
            {
              nickname: n,
              password: p
            },

            function(data,status){
                //alert("Data: " + data + "\nStatus: " + status);
                window.alert(data);
            });

        });
    });

</script>

$(文档).ready(函数(){
$(“#invia”)。单击(函数(){
var n=$(“#昵称”).val();
var p=$(“#密码”).val();
$.post(“php/invia_credenziali.php”,
{
绰号:n,
密码:p
},
功能(数据、状态){
//警报(“数据:+数据+”\n状态:+状态);
窗口报警(数据);
});
});
});
但是我的浏览器没有跳转到主页。相反,我得到了window.alert消息


如何解决此问题?

ob_end_clean();应放在出口前;您使用这些函数似乎是为了掩盖在标题警告之前发送的常见内容。尝试修复它,而不是解决它:)为什么登录后要用PHP重定向?您也可以通过javascript窗口实现它。location.href=“”;等一下。。。。世界跆拳道联盟?!?是否尝试使用http post中提供的凭据连接到数据库服务器?那么客户端指定的凭据?那太疯狂了!用于连接到数据库服务器的凭据是常量。它们属于代码或某个配置文件。这是您的应用程序自我验证。您的用户凭据完全不同!您可以在对数据库的后续查询中使用它们来对照用户表进行检查!因此,您有一个应用程序使用的mysql帐户和多个存储在其中的用户,并根据mysql服务器中某个数据库中的表进行标识。ob_end_clean();应放在出口前;您使用这些函数似乎是为了掩盖在标题警告之前发送的常见内容。尝试修复它,而不是解决它:)为什么登录后要用PHP重定向?您也可以通过javascript窗口实现它。location.href=“”;等一下。。。。世界跆拳道联盟?!?是否尝试使用http post中提供的凭据连接到数据库服务器?那么客户端指定的凭据?那太疯狂了!用于连接到数据库服务器的凭据是常量。它们属于代码或某个配置文件。这是您的应用程序自我验证。您的用户凭据完全不同!您可以在对数据库的后续查询中使用它们来对照用户表进行检查!因此,您有一个应用程序使用的mysql帐户和多个用户,这些用户存储在mysql服务器的某个数据库中的一个表中,并根据该表进行标识。