Я проверил все возможные решения здесь, к сожалению, это не сработает. В чем проблема с моим кодом?
Я попробовал следующее.
декодирование 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(), но это не сработает для значений с пробелом.
@dean составляет такие значения, как ADVANCES TO EMPLOYEES, OUTING EXPENSES и т. д.
Хорошо, это будет сложный код. Как и в случае с именем, вам нужно добавить - между пробелами слов и присвоить обновленное значение вашей ссылке $_GET['accounttitle'].
Вам нужно: ?accounttitle='+encodeURIComponent($(this).val()); См. developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
@ drew010 Это тоже работает, спасибо!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Ваша проблема не в получение$_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>
Туннельное зрение получить легко ;). Рад помочь
Я предпочитаю php-функцию trim 'trim()', а не замену строки.
какое значение
$_GET['accounttitle']этоusernameили полноеnamesдля вашегоuser.