Intereting Posts

Как я могу перенаправить перенаправление JS?

Я хочу повторить перенаправление мобильных устройств javascript на мобильный сайт.
Но я должен указать «id» с ссылкой перенаправления. Это мой код на данный момент:

<? if (screen.width <= 800) { window.location("mplayer.php?id=" . $_GET['id'] . ""); } ?> 

Но это дает мне эту ошибку (и)

Примечание. Использование неопределенного постоянного экрана – предполагаемый «экран» в /home/jterweele/public_html/pack-simulator/16/player.php в строке 16

Примечание: использование неопределенной постоянной ширины – предполагаемая ширина в /home/jterweele/public_html/pack-simulator/16/player.php в строке 16

Примечание: использование неопределенного постоянного окна – предполагаемое «окно» в /home/jterweele/public_html/pack-simulator/16/player.php в строке 17

Неустранимая ошибка: вызывать неопределенное местоположение функции () в /home/jterweele/public_html/pack-simulator/16/player.php в строке 17

Надеюсь, кто-нибудь может мне помочь. Благодаря!

JS и PHP – это два разных животных, и они не смешиваются воедино так, как вы сейчас используете, что объясняет синтаксические ошибки, которые вы получаете, потому что вы объявляете, что PHP думает, являются константами.

Что вам нужно сделать, так это разделить их.

Во-первых, JS / HTML:

 <!DOCTYPE html> <head> <title></title> </head> <body> <script type="text/javascript"> <!-- if (screen.width <= 800) { window.location = "redirection_page.php?set=true"; } else { document.write ("Show them a message, or do something else."); } //--> </script> </body> </html> 

Затем PHP: (redirection_page.php)

 <?php if(isset($_GET['set']) && $_GET['set'] == true ){ header("Location: http://www.example.com/"); exit; } 

Итак, в вашем случае это будет читать следующее:

NB: (Вам нужно будет внести некоторые изменения относительно того, что будет массивом GET).

 <!DOCTYPE html> <head> <title></title> </head> <body> <?php $_GET['id'] = 2; ?> <script type="text/javascript"> <!-- if (screen.width <= 800) { window.location = "mplayer.php?id=<?php echo $_GET['id'] ?>"; } else { document.write ("Show them a message, or do something else."); } //--> </script> </body> </html> 

PHP: (mplayer.php)

 <?php if(isset($_GET['id']) && $_GET['id'] == 2 ){ echo $id = $_GET['id']; } 

Также убедитесь, что вы не выводите перед заголовком (это означает, что HTML не выше PHP, пробел перед <?php , cookie и т. Д. Если это не сработает для вас, то ваша система может быть не установлена улов / отображение ошибок / уведомлений / предупреждений, поэтому включите отчет об ошибках.

Если вы видите уведомление отправленных заголовков, прочитайте следующее в Stack:

  • Как исправить ошибку «Заголовки уже отправлены» в PHP

Добавьте отчет об ошибках в начало файла (ов), который поможет найти ошибки.

 <?php error_reporting(E_ALL); ini_set('display_errors', 1); // rest of your code 

Sidenote: Отображение ошибок должно выполняться только в стадии постановки и никогда не производить.