Проблема PHP и JS "Get" - PullRequest
       4

Проблема PHP и JS "Get"

0 голосов
/ 01 сентября 2011

Здравствуйте, вот мой код:

<script type="text/javascript">
function changePage()
{
    selectedValue = document.forms['f1'].s1.value;
    newLocation = "http://127.0.0.1:8080/PolPlan/branze.php?page="+selectedValue;
    window.locatoion = newLocation;
}
</script>

<form name="f1">
   <select name="s1" onChange="javascript:changePage()">
      <option value="1">strona 1</option>
      <option value="2">strona 2</option>
   </select>
</form>

<?php

$selectedValue = $_GET['s1']; 
echo $selectedValue;

?>

Я получаю сообщение об ошибке: "$ selectedValue = $ _GET ['s1'];" Сообщение об ошибке: Примечание: неопределенный индекс: s1 Пожалуйста, помогите мне с этим.

Ответы [ 6 ]

1 голос
/ 01 сентября 2011

PHP говорит, что индекс 's1' массива $ _GET не существует. Попробуйте это:

<script type="text/javascript">
function changePage()
{
    document.forms[0].submit(); // Crossbrowser instruction
}
</script>

<form name="s1" action="http://127.0.0.1/PolPlan/branze.php">
   <select name="s1" onChange="javascript:changePage()">
      <option value="1">strona 1</option>
      <option value="2">strona 2</option>
   </select>
</form>

<?php

$selectedValue = isset($_GET['s1']) ? $_GET['s1'] : ''; 
echo $selectedValue;

?>
1 голос
/ 01 сентября 2011

Попробуйте использовать isset:

if (isset($_GET['s1'])) {
$selectedValue = $_GET['s1'];
echo $selectedValue;
}

Также убедитесь, что переменная в вашем GET такая же, как "s1". Похоже, это должна быть страница.

if (isset($_GET['page'])) {
$selectedValue = $_GET['page'];
echo $selectedValue;
}
0 голосов
/ 03 декабря 2014

Тыр это:

<script type="text/javascript">
function changePage()
{
    selectedValue = document.forms['f1'].s1.value;
    if (selectedValue == 0) {
        alert("Please select a valid option");
    } else {
        newLocation = "http://127.0.0.1:8080/PolPlan/branze.php?page="+selectedValue;
        window.location = newLocation;
    }
}
</script>

<form name="f1">
   <select name="s1" onChange="javascript:changePage()">
      <option value="0">Select...</option>
      <option value="1">strona 1</option>
      <option value="2">strona 2</option>
   </select>
</form>

<?php
if (isset($_GET['s1'])) {
    $selectedValue = $_GET['s1']; 
    echo $selectedValue;
}
?>

Вы можете удалить код php.

Надежда работает на тебя.

0 голосов
/ 01 сентября 2011

вы отправляете значение как

$_GET['page']
0 голосов
/ 01 сентября 2011
<script type="text/javascript">
function changePage()
{
    selectedValue = document.forms['f1'].s1.value;
    newLocation = "http://127.0.0.1:8080/PolPlan/branze.php?page="+selectedValue;
    window.locatoion = newLocation;
}
</script>

<form name="f1">
   <select name="s1" onChange="javascript:changePage()">
      <option value="1">strona 1</option>
      <option value="2">strona 2</option>
   </select>
</form>

<?php

$selectedValue = $_GET['page']; 
echo $selectedValue;

?>

s1 не определено, поскольку он не существует как элемент $ _GET.Если вы хотите узнать идентификатор этого значения, это то, что слева от = в URL, а не имя элемента формы (в данном случае - это не обязательно будет, скажем, с POST)

0 голосов
/ 01 сентября 2011

Измените

$selectedValue = $_GET['s1']; 

на

$selectedValue = $_GET['page']; 

, если вы хотите использовать s1, вам нужно отправить форму

<form name="f1" action="/PolPlan/branze.php" method="get">
<select name="s1" onChange="document.forms['f1'].submit()">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...