PHP Get метод не отправляет полный ввод - PullRequest
0 голосов
/ 27 августа 2010

У меня есть выпадающий список, который динамически генерируется с использованием базы данных mySQL с использованием следующего кода:

$region = mysql_query("select region_name from region", $connection);

echo "<select name=region>Region</option>";

while ($row = $mysql_fetch_array($region))
{
  echo "<option value =$row[region_name]>$row[region_name]</option>";
}

echo "</select>"

Однако этот список распечатывается совершенно нормально, когда я отправляю форму, используя метод GET, любой регионимя, в котором есть пробел, не будет правильно передано в URL.Вместо «Южная Австралия» это даст только «Юг»

Я знаю, что URL должен в конечном итоге быть: http://foo.com/query.php?region=South+Australia

Но вместо этого + Австралия просто не появляется.

Кто-нибудь знает, что за глупости я совершил или чего мне не хватает ??

Ответы [ 3 ]

1 голос
/ 27 августа 2010

В вашем коде есть ошибка .........

echo "<select name=region>Region</option>"; должно быть

echo "<select name='region'><option>Region</option>";

и при задании значения сделать это

echo "<option value='$row[region_name]'>$row[region_name]</option>";
1 голос
/ 27 августа 2010

используйте одинарную кавычку для значения в теге option:

Попробуйте это в цикле while:

echo "<option value='$row[region_name]'>$row[region_name]</option>";
0 голосов
/ 27 августа 2010

Это может быть связано с тем, что вам необходимо заключать в кавычки атрибуты HTML:

<option value="South Australia">...</option>

В противном случае, как браузер должен различать один атрибут и следующий?

<option value=South Australia>...</option>

Браузер читает, что как один атрибут с именем 'value' со значением 'South', а другой атрибут с именем 'Australia'.

Попробуйте проверить ваш HTML , он найдет и другие ошибки., как указывает Старкс ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...