【问题标题】:PHP MYSQL header() locationPHP MYSQL header() 位置
【发布时间】:2011-10-15 12:25:03
【问题描述】:

我有一个将用户插入数据库的类,尽管我在初始化 header() 重定向时遇到了一些麻烦。这是我的代码

    public function Register() {

    $username = $_POST['username'];
    $password = $_POST['password'];

    $query = mysql_query("INSERT INTO users (username, password, admin) VALUES ('$username', '$password', '0')");
    header('Location: /view_registered.php?register=success');



}

有没有一种方法可以将标头放在变量中,然后在方法完成将用户添加到数据库后,然后将标头变量传回我的 index.php 页面?

亲切的问候

【问题讨论】:

    标签: php mysql header http-headers


    【解决方案1】:

    尝试添加一个 .

    header('Location: ./view_registered.php?register=success');
    

    如果在下面的文件夹中

    header('Location: ./../view_registered.php?register=success');
    

    如果在上面的文件夹中

    header('Location: ./FOLDER_NAME_HERE/view_registered.php?register=success');
    

    如果完全不同的地方

    header('Location: http://www.google.com');
    

    【讨论】:

    • 感谢您的反馈,虽然没有奏效。我目前正在本地主机上运行它。该类被加载到包含文件夹中。如果这有帮助,我还在其他页面上使用了似乎工作正常的标题,尽管这是从父目录加载的。
    • 如果 view_registered 在同一个文件夹中,它应该可以工作。你确定它正在执行吗?
    • 它们位于不同的文件夹中。我的课程在包含文件夹中,view_registered 在它的根目录中,并且我也在从主体内部调用该方法
    【解决方案2】:
    if($query)
    header('Location: /view_registered.php?register=success');
    

    【讨论】:

      【解决方案3】:

      使用mysql_affected_rows()

      $query = '';
      if(mysql_affected_rows) {
      header();
      exit();
      }
      

      【讨论】:

      • 感谢您的帮助,尽管现在我只收到“此网页有重定向循环”
      【解决方案4】:

      什么麻烦?可能您需要使用输出缓冲 (http://www.php.net/manual/en/ref.outcontrol.php)?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-03
        • 2014-05-10
        • 2011-10-03
        • 2011-04-06
        • 2011-09-03
        相关资源
        最近更新 更多