标题位置php

时间:2015-06-30 19:15:00

标签: 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->src; ?>" alt="">
</figure>

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

因此,如果该陈述为真,则必须制作图,这确实有效。 但是当声明不正确时,它会给我一个空文件而不是引导我到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 ?>

我将位置:添加到标题函数中,就像Brian说的那样。

1 个答案:

答案 0 :(得分:3)

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

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

exit;语句告诉它停止执行哪个允许重定向。您还需要确保在重定向之前不要吐出任何HTML。