Как получить параметр из URL, используя javascript - PullRequest
0 голосов
/ 17 июня 2020

Я передал параметр через URL-адрес, используя javascript. Вот код:

<script> 
window.onload = function() {
// Creating a cookie after the document is ready 
    var cookies = document.cookie.split(";")
    var cookiePair = cookies[0].split("=");
    var cookie_user=cookiePair[1]; // remove ending parenthesis here 

	window.location.replace("http://192.168.206.1/foodblog/?page=http://192.168.206.1/test/ChangeInfo.php&username="+cookie_user);
};
</script> 

Страница, получившая параметр, называется ChangeInfo Это то, что я вижу в URL-адресе, когда попадаю на страницу ChangeInfo: http://192.168.206.1/foodblog/?page=http: //192.168 .206.1 / test / ChangeInfo.php & username = nitzan

Когда я пытаюсь получить имя пользователя параметра из URL-адреса, я получаю следующую ошибку: Notice: Undefined index: username in C: \ xampp \ htdocs \ test \ ChangeInfo. php в строке 5

Я пытаюсь получить этот параметр, используя $ _GET следующим образом: $ username = $ _GET ['username'];

Кто-нибудь знает, почему это вызывает у меня проблемы? Заранее спасибо

Ответы [ 2 ]

1 голос
/ 17 июня 2020

Я просто решаю проблему

Я удалил параметр Page из URL-адреса, который я создал в части javascript. это обновленная часть Javascript:

<script> 
window.onload = function() {
// Creating a cookie after the document is ready 
    var cookies = document.cookie.split(";")
    var cookiePair = cookies[0].split("=");
    var cookie_user=cookiePair[1]; // remove ending parenthesis here 

	window.location.replace("http://192.168.206.1/test/ChangeInfo.php?username="+cookie_user);
};
</script> 

спасибо :)

0 голосов
/ 17 июня 2020

Игнорирование части javascript, необходимо сосредоточиться на PHP.

Вы находитесь на этой странице: http://192.168.206.1/foodblog/?page=http: //192.168.206.1/test/ChangeInfo.php&username=nitzan

И когда вы используете $ _GET ['username'], вы получаете ошибку, что он не назначен. Кажется, что ваш $ _GET вообще не работает, вероятно Apache настройки.

Кроме того, безопаснее сначала получить параметры GET с помощью isset.

if(isset($_GET['username']) && $_GET['username']] {
  $username = $_GET['username'];
}
else {
  $username = '';
}

Затем вы можете сравнить , если имя пользователя указано или нет в вашем коде php:

if($username) {
  //Do something
}

Заключительная мысль. Ваша первая страница параметров = http://192.168.206.1/test/ChangeInfo.php работает? Можете ли вы получить его через $ _GET?

Проблема, похоже, заключается как раз в том, как вы устанавливаете и получаете параметр url через $ _GET. Если вы используете какой-либо фреймворк, он может быть отключен для прямого использования $ _GET и, например, в Symfony вам нужно использовать:

$request->get('username');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...