Я из html файла передаю данные в php файл методом POST:
В javascript вот такая строчка:
document.stat.kom1nk.value = kom1[0];
в html файле:
<form action="robot.php" method="post" name="stat">
<input name="kom1nk" type="hidden" value="">
<input name="ok" type="submit" value="OK">
</form>
в php файле:
echo $kom1nk = $_POST["kom1nk"]."<br>";
echo $kom1nk = strlen(trim($_POST["kom1nk"]))."<br>";
при выполнении файла php будет на экрате:
ФК Хилверсюм
23
Почему 23?
Я считаю 12
Спустя 1 минута, 52 секунды (10.11.2010 - 17:30) DmitryOpalev написал(а):
Не знаю... не понятно вообще, откуда цифры эти берутся...
Вы же сами поле заполняете...
Вы же сами поле заполняете...
Спустя 4 минуты, 26 секунд (10.11.2010 - 17:34) festby написал(а):
Даже если я пишу в javascript:
document.stat.kom1nk.value = "ФК Хилверсюм";
document.stat.kom1nk.value = "ФК Хилверсюм";
Спустя 6 минут, 58 секунд (10.11.2010 - 17:41) DmitryOpalev написал(а):
echo $kom1nk = $_POST["kom1nk"]."<br>";
echo $kom1nk = strlen(trim($_POST["kom1nk"]))."<br>";
Этот код PHP и с JS он не связан... по крайней мере по тому коду, который вы показали...
Спустя 2 минуты, 30 секунд (10.11.2010 - 17:43) Festby написал(а):
Получается он считает любую русскую букву за 2 символа, а цифры, знаки, англ. буквы как 1.
Может это из-за кодировок?
Может это из-за кодировок?
Спустя 6 минут (10.11.2010 - 17:49) DmitryOpalev написал(а):
Мммм... не представляю такую кодировку, если честно
Может вы покажите место взаимосвязи JS и PHP... и если можно сами скрипты...
Может вы покажите место взаимосвязи JS и PHP... и если можно сами скрипты...
Спустя 8 минут, 32 секунды (10.11.2010 - 17:58) inpost написал(а):
mb_strlen - для работы с 2х байтными кодировками, такими как UTF-8
Спустя 8 минут, 12 секунд (10.11.2010 - 18:06) Festby написал(а):
HTML:
PHP:
1. Почему не срабатывает сравнение?
На экран выводит только:
23
ФК Хилверсюм
<script type="text/javascript">
function vibor()
{
document.stat.kom1nk.value = "ФК Хилверсюм";
}
</script>
</head>
<body style="margin: 0pt;" onLoad="vibor()">
<form action="robot.php" method="post" name="stat">
<input name="kom1nk" type="hidden" value="">
<input name="ok" type="submit" value="OK">
</form>
PHP:
<?php
echo $kom1nk = strlen(trim($_POST["kom1nk"]))."<br>";
echo $kom1nk = $_POST["kom1nk"]."<br>";
$namekom = array("Алтена","Ахиллес'29","Барони","Вестландия","В СКО'61","Де Валк","ДОВО","Леонидас","Монтфорт","Нептунус","Олде Весте'54","Руйнсбургсе Бойз","Спарта Нейкерк","ФК Хилверсюм","Харденберг","Юлиана'31");
for ($i=0; $i<16; $i++)
{
if ($namekom[$i] == $kom1nk)
{
echo "OK";
};
}
?>
1. Почему не срабатывает сравнение?
На экран выводит только:
23
ФК Хилверсюм
Спустя 1 минута, 7 секунд (10.11.2010 - 18:07) Festby написал(а):
Цитата (inpost @ 10.11.2010 - 14:58) |
mb_strlen - для работы с 2х байтными кодировками, такими как UTF-8 |
Даже если поменять strlen на mb_strlen выдает значение 23
Спустя 42 секунды (10.11.2010 - 18:08) sergeiss написал(а):
Festby - используй тэги оформления кода!!! Это кнопки справа-сверху, рядом с полем ввода текста.
А по сути вопроса... Что там у тебя за бардак такой? Перезаписывается переменная, в итоге "к чему-то там" приписывается текст <br>, а в сравниваемых строках этого текста нету.
И потом результат присвоения ты выводишь Потому и такие хреновины у тебя выводятся.
Короче говоря... Бардак
А по сути вопроса... Что там у тебя за бардак такой? Перезаписывается переменная, в итоге "к чему-то там" приписывается текст <br>, а в сравниваемых строках этого текста нету.
И потом результат присвоения ты выводишь Потому и такие хреновины у тебя выводятся.
Короче говоря... Бардак
Спустя 2 минуты, 27 секунд (10.11.2010 - 18:10) Festby написал(а):
Цитата (sergeiss @ 10.11.2010 - 15:08) |
Festby - используй тэги оформления кода!!! Это кнопки справа-сверху, рядом с полем ввода текста. |
Сорри, больше такое не повториться.
Спустя 4 минуты, 29 секунд (10.11.2010 - 18:15) sergeiss написал(а):
Festby - я потом уже, после твоего ответа, сделал добавку к предыдущему своему ответу Прочитай и подумай. И твоя проблема может уйти за 3 секунды, будто её и не было
Спустя 9 минут, 28 секунд (10.11.2010 - 18:24) Festby написал(а):
Цитата (sergeiss @ 10.11.2010 - 15:15) |
Festby - я потом уже, после твоего ответа, сделал добавку к предыдущему своему ответу Прочитай и подумай. И твоя проблема может уйти за 3 секунды, будто её и не было |
Спасибо большое.
Пошел отдыхать