使用isset($\u GET)的PHP表单成功消息

使用isset($\u GET)的PHP表单成功消息,php,forms,message,Php,Forms,Message,我正在youtube上学习一个php登录和注册教程,到目前为止,它非常有用 第一部分 第2部分(卡在这里) 我建立了我的表单并创建了一些错误报告,但是当我试图获得一条成功的注册消息时,问题出现了。该页面似乎没有重定向到指定页面,并且在注册后,“我的错误”部分下的任何内容都将消失 除了信息外,其他方面都在发挥作用,我一直跟踪他,但我实现了自己的设计。请帮忙。第一次在这里发布 这是我所有错误post语句之后的代码 <?php if (isset($_GET['succe

我正在youtube上学习一个php登录和注册教程,到目前为止,它非常有用

第一部分

第2部分(卡在这里)

我建立了我的表单并创建了一些错误报告,但是当我试图获得一条成功的注册消息时,问题出现了。该页面似乎没有重定向到指定页面,并且在注册后,“我的错误”部分下的任何内容都将消失

除了信息外,其他方面都在发挥作用,我一直跟踪他,但我实现了自己的设计。请帮忙。第一次在这里发布

这是我所有错误post语句之后的代码

      <?php
      if (isset($_GET['success']) && empty($_GET['success'])) {
          echo '<font color="#FF0033">Registration Message here</font> ';
      } else {

          if (empty($_POST) === false && empty($errors) === true)  {
              $register_data = array(
              'username'     => $_POST['username'],
              'password'     => $_POST['password'],
              'first_name'   => $_POST['first_name'],
              'last_name'    => $_POST['last_name'],
              'email'    => $_POST['email']
              );

             register_user($register_data);
             header('Location: register.php?success');
             exit();

            } else if (empty($errors) === false) {
            echo output_errors($errors);
            }
      }
      ?>

此项下的所有内容,包括表单和内容的其他方面,都会在登录时存在,但一旦激活“注册”按钮,此处的所有内容都会消失

我认为“header('Location:register.php?success');”可能有问题


此外,当我通过本地主机强制执行
。/rootfolder/register.php/success
时,我会得到一个未设置样式的页面?就像它丢失了所有的CSS和Javascript

你认为
exit()
有什么作用

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

应该将浏览器重定向到register.php-script。如果没有,则很可能在头调用之前有任何输出。标题应在任何其他输出之前发送。

我目前正在学习本教程,有人在视频的评论中发布,以放置ob_start();之前包括“core/init.php”;它成功了

<?php
ob_start();
include "core/init.php";

是否确实要将$\u GET['success']设置为空?
空($\u POST)==false&&empty($errors)==true
可以缩写为
!empty($\u POST)&&empty($errors)
教程是否告诉您使用
,因为如果使用了,请立即停止观看。哈哈,不。我知道这是一种不好的做法,但我是php新手,不知道如何设置从数据库中提取的信息的样式。有什么建议吗?尝试在
标题中使用完整路径(“Location:/path/to/register.php?success”)
并在if(headers_sent($file,$line))echo(headers已经从“$file.”(line“$line.”)发送)之前加上这一行用于调试感谢您的回复,我尝试删除exit()但没有效果。奇怪的是,在他的教程中,他把它放在那里,然后它就工作了?@MikeMaynard你正在重新加载register.php,因此你不需要删除exit evroth,它将重新加载并工作。我知道教程你不需要启动会话来注册