Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Переход по ссылке с переменной. (https://javascript.ru/forum/misc/71395-perekhod-po-ssylke-s-peremennojj.html)

Sonya 15.11.2017 15:48

Переход по ссылке с переменной.
 
Здравствуйте! Надеюсь на помощь, что-то совсем голова кругом, проверяю большой код, устала с документацией. Корректен ли кусок кода:
foreach ($ulink->data as $val){
    $string1 = URLpage;
    $string2 = '/url/'.$val->data['Id'];
    if ($string1 !== $string2){
      print "<meta http-equiv='refresh' content='0; url=https://{$_SERVER['SERVER_NAME']}$string2'>"; 
     }
   }

Т.е. проверяем, если переменная $string1 не равна переменной $string2, то перенаправляем на $string2, и вот это перенаправление правильно записано?
"<meta http-equiv='refresh' content='0; url=https://{$_SERVER['SERVER_NAME']}$string2'>"
или надо так:
"<meta http-equiv='refresh' content='0; url=https://{$_SERVER['SERVER_NAME']}" . $string2 . "'>"

ksa 15.11.2017 17:03

Sonya, это точно в тему "Общие вопросы Javascript"? :blink:

Nexus 15.11.2017 17:16

Sonya,
http://redirekt.info/article/redirek...a-refresh.html
echo '<meta http-equiv="refresh" content="0;https://'.$_SERVER['SERVER_NAME'].$string2.'">';

laimas 15.11.2017 17:20

Цитата:

Сообщение от Sonya
перенаправление правильно записано?

Оба случая рабочие - переменные заключенные в двойные кавычки будут обработаны. Второй случай менее нагруженный для парсера, то тогда и применять кавычки надо иначе: двойные в одинарных:

echo '<meta http-equiv="refresh" content="0; url=https://' .  $_SERVER['SERVER_NAME'] . $string2 . '">';

Sonya 15.11.2017 17:46

Nexus,
laimas,
Большое спасибо!

Sonya 15.11.2017 17:48

Да, только сейчас обратила внимание - вместо print лучше здесь echo?

Nexus 15.11.2017 17:54

Sonya, почитайте тут про отличия этих функций:
http://php.net/manual/ru/function.print.php

Lion777 15.11.2017 18:36

Цитата:

Сообщение от Sonya (Сообщение 470212)
Да, только сейчас обратила внимание - вместо print лучше здесь echo?

ничем echo не лучше за print, почти одно и тоже, тесты на скорость проводили, тоже практически одинаково. И зачем вопросы о php в js ?

laimas 15.11.2017 21:47

Цитата:

Сообщение от Lion777
ничем echo не лучше за print, почти одно и тоже, тесты на скорость проводили

Причем тут скорости?

ruslan_mart 15.11.2017 22:08

А почему бы не сделать так?

foreach ($ulink->data as $val){
    $string1 = URLpage;
    $string2 = '/url/'.$val->data['Id'];
    if ($string1 !== $string2){
      header("Location: https://{$_SERVER['SERVER_NAME']}$string2");
    }
}


Часовой пояс GMT +3, время: 02:33.