2013-07-23 58 views
-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> 
+0

爲什麼有些人'echo'有的沒有? –

+0

你不能像這樣使用它,你需要像這樣使用'echo' if(<?php echo $ ref;?>) – dreamweiver

+0

你爲什麼要把所有的javascript都扔給客戶端?恕我直言,有2個更好的選擇(1)似乎JavaScript可能只是修復,並檢查'window.location.href',所以零PHP需要(2)如果你想使用PHP,只需在PHP本身使用一個開關(省略匹配的協議和域名),並且只回顯與_that_頁面相關的javascript部分。 – Wrikken

回答

3

如果你要打印的$ref變量,你應該做的:

<?php echo $ref;?> 

或快捷方式語法,如果你有short open tags啓用:

<?=$ref?> 

你也需要把字符串在引號中,所以每個if語句應該看起來像這樣:

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

也有一些像這樣的行額外的括號:

if(<?php $ref; ?>) == 'http://livvedesign.com/content/philosophy.php/'){ 
       ^//This should not be here 
+0

我做了更改,但動畫仍然無法正常工作。 – cgauss

0

嘗試的print_r/$的var_dump _SERVER。你會發現$ _SERVER ['REQUEST_URI']不會給你你期望的數據。我想你真的打算使用$ _SERVER ['HTTP_REFERER'],並作爲評論說,你錯過了一些回聲。

此外,當回顯$ ref時,您應該確保轉義數據。它很容易被潛在的攻擊者改變。

0

這是爲了訪問的頁面不給予引薦

$ref = $_SERVER['REQUEST_URI']; 

echo $ref; 

// Output 
/content/philosophy.php/ 

使用引用者的REQUEST_URI:

$ref = $_SERVER['HTTP_REFERER'];