|
|
|
| В форме (метод POST) есть такое поле:
<input name="login" type="text" value="" size="26" maxlength="20">
Как мне передаваемое значение из этого поля закодировать с помощью urlencode? | |
|
|
|
|
|
|
|
для: Freddie_X
(07.02.2008 в 16:02)
| | оно само | |
|
|
|
|
|
|
|
для: bronenos
(07.02.2008 в 17:05)
| | Не понял...
Можно пример, куда писать urlencode? | |
|
|
|
|
|
|
|
для: Freddie_X
(07.02.2008 в 18:16)
| | браузер позаботится о форме | |
|
|
|
|
|
|
|
для: bronenos
(07.02.2008 в 19:35)
| | Но мой скрипт тогда не работает!
Эта тема является продолжением данной темы http://www.softtime.ru/forum/read.php?id_forum=6&id_theme=49093&page=1
Регулярное выражение не распознаёт русские буквы из поля, и если строка содержит хоть 1 символ кирилицы, РВ возвращает FALSE.
Поэтому надо закодировать данные из поля, а потом раскодировать.... | |
|
|
|
|
|
|
|
для: Freddie_X
(07.02.2008 в 20:06)
| | Так и сказали бы, что не про поле речь..
| |
|
|
|
|
|
|
|
для: bronenos
(07.02.2008 в 20:40)
| | Передающий скрипт:
<input name="login" type="text" value="<?php echo urlencode(""); ?>" size="26" maxlength="20">
|
Принимающий:
<?php $login = urldecode($_POST['login']); ?>
|
Странно, но не работает! Т.е. 0 реакции на изменение. | |
|
|
|
|
|
|
|
для: Freddie_X
(07.02.2008 в 21:18)
| | не нужно нафих ее декодировать
и зачем ее вообще.. пфф.. разбирайтесь сами если не можете без этого
но я так считаю что это лишнее | |
|
|
|
|
|
|
|
для: bronenos
(07.02.2008 в 21:24)
| | Ну так скажите, каким другим способом это сделать? Что делать, если preg_match() не распознаёт русский язык? =\ | |
|
|
|
|
автор: rusty_angel (08.02.2008 в 16:20) |
|
|
для: Freddie_X
(07.02.2008 в 22:13)
| | set_locale('ru_RU'); | |
|
|
|
|
|
|
|
для: Freddie_X
(07.02.2008 в 21:18)
| | > 0 реакции на изменение.
Потому что в скрипт поступает уже декодированная строка. Смысла делать это еще раз нет.
> Что делать, если preg_match() не распознаёт русский язык?
Может быть текст в другой кодировке приходит?
Попробуйте помимо <meta ...> послать HTTP заголовки, определяющие кодировку. | |
|
|
|
|
|
|
|
для: kasmanaft
(07.02.2008 в 22:17)
| | Ну тогда я вообще не понимаю, как заставить рег.выр. работать с русским языком ;-(((
====
Спасибо, Космонавт! Хеадер помог! | |
|
|
|
|
|
|
|
для: Freddie_X
(07.02.2008 в 22:20)
| | . | |
|
|
|
|
|
|
|
для: jbs
(07.02.2008 в 22:51)
| | Это к чему? | |
|
|
|
|
|
|
|
для: jbs
(07.02.2008 в 22:51)
| | > Что делать, если preg_match() не распознаёт русский язык? =\
Немогу понять, почему не распознаёт? старая версия PHP?
Или я чего-то непонял?
У меня это работает, на PHP5
x.php
<?
if(isset($_POST['rusStr'])) {
if ($i = preg_match ("/[а-я]/i", $_POST['rusStr']))
{
echo "подходит";
}
else
{
echo "не подходит";
}
exit();
}
?>
<form action="x.php" method="post">
<input name="rusStr" value="Чебурашка">
<input type="submit" value="OK">
</form>
<br>
<form action="x.php" method="post">
<input name="rusStr" value="Terminator">
<input type="submit" value="OK">
</form>
|
блин, вчитался =)
>Эта тема является продолжением данной темы http://www.softtime.ru/forum/read.php?id_forum=6&id_theme=49093&page=1 | |
|
|
|
|
|
|
|
для: jbs
(07.02.2008 в 22:56)
| | > http://www.softtime.ru/forum/read.php?id_forum=6&id_theme=49093&page=1
Всё работает, и нечего не надо кодировать!.
x.php
<?php
if(isset($_POST['ins0']))
{
for ($i=0; $i<7; $i++)
{
$wrd = $_POST["ins$i"];
//автор: Faraon (01.02.2008 в 09:42)
if (preg_match("/^(([a-z0-9_\(\)\s]+)|([а-яё0-9_\(\)\s]+))$/is", $wrd))
{
echo "<p>$wrd - да</p>";
}
else
{
echo "<p>$wrd - нет</p>";
}
}
exit();
}
?>
<form action="x.php" method="post">
<input name="ins0" value="абв"><br>
<input name="ins1" value="abc"><br>
<input name="ins2" value="абвabc"><br>
<input name="ins3" value="abcабв"><br>
<input name="ins4" value="абв abc"><br>
<input name="ins5" value="abc абв"><br>
<input name="ins6" value="абв ёпр Ёё Яя Чч"><br>
<input type="submit" value="Проверить">
</form>
|
| |
|
|
|
|
автор: rusty_angel (08.02.2008 в 16:23) |
|
|
для: Freddie_X
(07.02.2008 в 16:02)
| | enctype у формы указать. | |
|
|
|