Php 标题位置

Php 标题位置,php,if-statement,header,Php,If Statement,Header,我制作了以下代码块: $tag = $_GET['tag']; if ($_SERVER[HTTP_REFERER'] == 'http://sitename.com/portfolio' || $_SERVER['HTTP_REFERER'] == 'sitename.com/tags/?tagname=' . $tag ) : ?> <figure class="folio-item"> <img src="<?php echo $mod->s

我制作了以下代码块:

$tag = $_GET['tag'];

if ($_SERVER[HTTP_REFERER'] == 'http://sitename.com/portfolio' || $_SERVER['HTTP_REFERER'] == 'sitename.com/tags/?tagname=' . $tag ) : ?>

<figure class="folio-item">
    <img src="<?php echo $mod->src; ?>" alt="">
</figure>

<?php  else : ?>
   <?php header('http://sitename.com/portfolio'); ?>
<?php endif ?>
$tag=$\u GET['tag'];
如果($\u服务器[HTTP\u REFERER']='http://sitename.com/portfolio“| |$”服务器['HTTP\u REFERER']='sitename.com/tags/?tagname='。$tag):?>
src;?>“alt=”“>
因此,如果这句话是真的,那么它必须做出一个数字,这是可行的。 但是,如果该语句不正确,它会给我一个空文件,而不是指向sitename.com/portfolio

我怎样才能做到这一点

解决方案:

$tag = $_GET['tag'];

if ($_SERVER[HTTP_REFERER'] == 'http://sitename.com/portfolio' ||       $_SERVER['HTTP_REFERER'] == 'sitename.com/tags/?tagname=' . $tag ) : ?>

<figure class="folio-item">
    <img src="<?php echo $mod->src; ?>" alt="">
</figure>

<?php  else : ?>
   <?php header('Location:http://sitename.com/portfolio'); ?>
<?php endif ?>
$tag=$\u GET['tag'];
如果($\u服务器[HTTP\u REFERER']='http://sitename.com/portfolio“| |$”服务器['HTTP\u REFERER']='sitename.com/tags/?tagname='。$tag):?>
src;?>“alt=”“>

我像Brian所说的那样在标题函数中添加了Location:。

您必须告诉它您正在设置一个位置,而不是另一个标题属性

<?php  else : ?>
   <?php header('Location: http://sitename.com/portfolio'); exit; ?>
<?php endif ?>


退出语句告诉它停止执行,这允许重定向。您还需要确保在重定向之前没有吐出任何html。

从语法上讲,
$tag=$\u GET['tag']
缺少分号,
$\u服务器[HTTP\u REFERER']
缺少引号,两者都不可靠。哦,我确实发现了问题,分号存在于我的文件中,没有在这里键入。然后查看如何使用标题是您刚才添加的代码还是问题中的代码?请更新。不知道你的确切意思,我在评论中添加的代码是我问题的解决方案是的,谢谢,就是它!我肯定会使用exit,在重定向之前不会抛出html,因为它不起作用,没有exit也会起作用,但是如果浏览器出现问题,可能会观察到更多的PHP输出,所以在重定向之后放置一个exit总是一个好主意。很高兴我能提供帮助。Dave是对的,你并不真的需要它,但我遇到了它和退出的问题帮助很大。