Герасим Герасимов
Новичок
Здравствуйте!
решаю тестовые задачи в рамках самообучения.
Через GET передаю строку с пробелами скрипту на PHP который меняет пробелы на дефисы.
Строка передаётся, есть результат (например, передал "м а п а", получил "м_а_п_а")
Интерфейс представляет собой:
1) элемент text, value которого является исходной строкой
2) кнопка "Заменить" (она запускает скрипт на JS)
3) div в котором выводится результат работы PHP-скрипта CharReplace
value элемента text принимает значение переменной передаваемой в PHP ($spaceStr) то есть я её всегда должен видеть в первозданном виде (например "м а п а"), но после обновления страницы и выполнения PHP-скрипта CharReplace, все символы после пробела теряются, и в value остаётся ("м" в для случая с ""м а п а"")
выглядит сей код так:
Интерфейс
<p align="left"> Замена пробелов на подчёркивание:</p>
<input type="text"
id="iSpaceString"
style="width: 100%"
value=<?php echo $spaceStr; ?> **вот тут должна остаться исходная строка, но в ней попадают все символы после первого пробела**
/>
<input type="button" value="Заменить" onclick="SetVars()">
<?php
print CharReplace($spaceStr); //вывожу строку где "м а п а" представлено как "м_а_п_а"
?>
JS скрип SetVars:
function SetVars () {
s = "index.php?";
s = s + "spaceStr="+encodeURIComponent(iSpaceString.value); // проверял и без encodeURIComponent - всё передаётся норм, вижу по результатам
window.location.href = s;//перезагрузка страницы с новыми значениями переменных
}
GET обрабатываю так:
<?php
include 'vars.php';//в этом инклуде у меня определена переменная $spaceStr
$spaceStr = isset($_GET['spaceStr']) ? $_GET['spaceStr'] : " ";
?>
вижу что в адресной строке передаётся &spaceStr=м%20а%20п%20а всё чётко.
скрипт на PHP переваривает &spaceStr=м%20а%20п%20а в "м_а_п_а"
а в value которое =<?php echo $spaceStr; ?> почему то только буква "м"
ломаю голову, помогите пожалуйста
решаю тестовые задачи в рамках самообучения.
Через GET передаю строку с пробелами скрипту на PHP который меняет пробелы на дефисы.
Строка передаётся, есть результат (например, передал "м а п а", получил "м_а_п_а")
Интерфейс представляет собой:
1) элемент text, value которого является исходной строкой
2) кнопка "Заменить" (она запускает скрипт на JS)
3) div в котором выводится результат работы PHP-скрипта CharReplace
value элемента text принимает значение переменной передаваемой в PHP ($spaceStr) то есть я её всегда должен видеть в первозданном виде (например "м а п а"), но после обновления страницы и выполнения PHP-скрипта CharReplace, все символы после пробела теряются, и в value остаётся ("м" в для случая с ""м а п а"")
выглядит сей код так:
Интерфейс
<p align="left"> Замена пробелов на подчёркивание:</p>
<input type="text"
id="iSpaceString"
style="width: 100%"
value=<?php echo $spaceStr; ?> **вот тут должна остаться исходная строка, но в ней попадают все символы после первого пробела**
/>
<input type="button" value="Заменить" onclick="SetVars()">
<?php
print CharReplace($spaceStr); //вывожу строку где "м а п а" представлено как "м_а_п_а"
?>
JS скрип SetVars:
function SetVars () {
s = "index.php?";
s = s + "spaceStr="+encodeURIComponent(iSpaceString.value); // проверял и без encodeURIComponent - всё передаётся норм, вижу по результатам
window.location.href = s;//перезагрузка страницы с новыми значениями переменных
}
GET обрабатываю так:
<?php
include 'vars.php';//в этом инклуде у меня определена переменная $spaceStr
$spaceStr = isset($_GET['spaceStr']) ? $_GET['spaceStr'] : " ";
?>
вижу что в адресной строке передаётся &spaceStr=м%20а%20п%20а всё чётко.
скрипт на PHP переваривает &spaceStr=м%20а%20п%20а в "м_а_п_а"
а в value которое =<?php echo $spaceStr; ?> почему то только буква "м"
ломаю голову, помогите пожалуйста