-2

我正在尝试根据用户导航的位置制作不同的动画,但这不起作用。谢谢!

    <?php 
    $ref =$_SERVER['REQUEST_URI'];      
?>

<script type="text/javascript">
    if(<?php $ref; ?>) == 'http://livvedesign.com/content/philosophy.php/'){
        $('#wrapper1').css('left','-150vw');
        $('#wrapper1').delay(500).animate({left:'0vw', opacity:1}, 800);
    };
    if(<?php $ref;?> == 'http://livvedesign.com/content/meet.php/'){
        $('#wrapper1').css('left','150vw');
        $('#wrapper1').delay(500).animate({left:'0vw', opacity:1}, 800);
    };
    if(<?php $ref;?> == 'http://livvedesign.com/content/contact2.php/'){
        $('#wrapper1').css('top','250vh');
        $('#wrapper1').delay(500).animate({top:'0vh', opacity:1}, 800);
    };
     if(<?php echo $ref;?> == 'http://livvedesign.com/content/projects.php'){
        $('#wrapper1').css('top','250vh');
        $('#wrapper1').delay(500).animate({top:'0vh', opacity:1}, 800);
    };
    if(<?php $ref ?> == "" || <?php $ref ?> == 'index.php') {$('#wrapper1').animate({opacity:1}, 700);};
        </script>
4

3 回答 3

3

如果你想打印$ref你应该做的变量:

<?php echo $ref;?>

或者如果您启用了短打开标签,则使用快捷语法:

<?=$ref?>

您还需要将字符串放在引号中,以便每个 if 语句看起来像:

if('<?=$ref?>' == 'http://livvedesign.com/content/philosophy.php/'){

在某些行中还有额外的括号,如下所示:

if(<?php $ref; ?>) == 'http://livvedesign.com/content/philosophy.php/'){
                 ^ //This should not be here
于 2013-07-23T05:56:06.373 回答
0

尝试打印_r/var_dump $_SERVER。您会看到 $_SERVER['REQUEST_URI'] 没有为您提供您期望的数据。我猜你真的打算使用 $_SERVER['HTTP_REFERER'],并且作为评论说你错过了一些回声。

此外,在回显 $ref 时,您应该确保转义数据。它很容易被潜在的攻击者更改。

于 2013-07-23T05:58:48.960 回答
0

为了访问页面而不是引用者而给出的 REQUEST_URI

$ref = $_SERVER['REQUEST_URI']; 

echo $ref;

// Output
/content/philosophy.php/

使用推荐人:

$ref = $_SERVER['HTTP_REFERER']; 
于 2013-07-23T06:00:36.473 回答