$_GET для приема значений с пробелом

Я проверил все возможные решения здесь, к сожалению, это не сработает. В чем проблема с моим кодом?

Я попробовал следующее.

декодирование URL-адреса (http://php.net/manual/en/function.urldecode.php)

str_replace http://php.net/manual/en/function.str-replace.php)

Но не повезло.

Я попробовал следующее в isset

$accounttitle = $_GET['accounttitle'];

urlencode($_GET["accounttitle"])

$accounttitle = str_replace(" ", "", $accounttitle );

Вот мой isset

  if (isset($_GET['accounttitle'])){
    $accounttitle = $_GET['accounttitle'];
  } ?>

вот моя форма

            <div class = "box-header with-border">
              <!--<a href = "#addnew" data-toggle = "modal" class = "btn btn-primary btn-sm btn-flat"><i class = "fa fa-plus"></i> New</a> --> 
<div class = "form-group">              
<?php
$sql = "SELECT accountcode, accounttitle, accounttype FROM earningsamendmentaccount";
$query = sqlsrv_query($conn, $sql, array(), array("Scrollable" => SQLSRV_CURSOR_KEYSET));
?>
<label for = "select_account_title" class = "col-sm-3 control-label">Select Account Title</label>
<div class = "col-sm-9">
<select class = "form-control" id = "select_account_title" style = "text-transform:uppercase" required>
<option value = "">PLEASE SELECT OPTION</option>
<?php 

while ($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC))
{

    echo "<option value = ".$row['accounttitle'].">".$row['accounttitle']."</option>";

}
  ?>
</select>
</div>
                  </div>
                </form>

Вот мой сценарий

$(function(){
  $('#select_account_title').change(function(){
    window.location.href = 'earnings_amendment.php?accounttitle='+$(this).val();
  });
});
</script>

Я могу echo(), но это не сработает для значений с пробелом.

какое значение $_GET['accounttitle'] это username или полное names для вашего user.

Dean 20.07.2019 10:55

@dean составляет такие значения, как ADVANCES TO EMPLOYEES, OUTING EXPENSES и т. д.

pjustindaryll 20.07.2019 10:56

Хорошо, это будет сложный код. Как и в случае с именем, вам нужно добавить - между пробелами слов и присвоить обновленное значение вашей ссылке $_GET['accounttitle'].

Dean 20.07.2019 11:00

Вам нужно: ?accounttitle='+encodeURIComponent($(this).val()); См. developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…

drew010 21.07.2019 01:39

@ drew010 Это тоже работает, спасибо!

pjustindaryll 21.07.2019 02:46
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
5
54
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Ваша проблема не в получение$_GET, а в вашей исходящей ссылке.

<select class = "form-control" id = "select_account_title" style = "text-transform:uppercase" required>
  <option value = "">PLEASE SELECT OPTION</option>
  <?php while ($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC)): ?>
    <option value = "<?= urlencode($row['accounttitle'])?>"><?= $row['accounttitle'] ?></option>
  <?php endwhile; ?>
</select>

Вы, сэр, спасаете жизнь! большое спасибо! Я должен был сосредоточиться на получении вывода, я не знал, что проблема была с <option>

pjustindaryll 21.07.2019 02:46

Туннельное зрение получить легко ;). Рад помочь

Tim Morton 21.07.2019 03:04

Я предпочитаю php-функцию trim 'trim()', а не замену строки.

Другие вопросы по теме