2013-07-23 2 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 () ' – dreamweiver

+0

Зачем вам бросать все это javascript клиенту? IMHO есть 2 лучших варианта (1) Кажется, что javascript может просто быть исправлениями и проверять 'window.location.href', поэтому нулевой PHP нужен (2) Если вы хотите использовать PHP, просто используйте переключатель в самом PHP (опустить протокол и домен для сопоставления) и только отбросить часть javascript, относящуюся к странице _that_. – 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

REQUEST_URI, который был дан для того, чтобы получить доступ к странице не Referer

$ref = $_SERVER['REQUEST_URI']; 

echo $ref; 

// Output 
/content/philosophy.php/ 

Использование реферер:

$ref = $_SERVER['HTTP_REFERER']; 
Смежные вопросы