[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как узнать выбранный элемент из select
BigBear
Здравствуйте, столкнулся со следующей проблемой

есть код, который мне написал товарищ, в этом коде каждая строка элемента select берётся из файла

Проблема в том, что при попытке вывести выбранную пользователем строку в файл - строка оказывается пустой.

<?php

$file = @file('bsauna.txt');
if ($file)
{
foreach ($file as $f)
{
$opt .= '<option value="'.$f.'">'.$f.'</option>';
}
}


$sel = '<select name="select">'.$opt.'</select>';

$ins = '<form method="post" action="/indblack.php">

'
.$sel.'<br />
<br>
<h3>Контактные данные клиента</h3> <input type="text" name="word" />
<br>
<br>
<h3>Кратко: что произошло</h3> <textarea name="comment" cols="50" rows="5" class="lnews_data"></textarea>
<br>
<input type="submit" value="Добавить в чёрный список"> <br /><br />


</form>'
;


$word2 = "№";

if (($word2) && file_exists("bspisok.txt"))
{
$file = file("bspisok.txt");
$count = 0;
if ($file)
{
foreach ($file as $val=>$f)
{

if (stristr($f,$word2))
{
$count++;
}
}

$ins .= "<b><h3>На данный момент в базе - ".$count." записей !</h3></b> <br><br>";
$count++;
}


$text = "";
$text .= "№".$count." От сауны: <u>".$_POST['select']."</u> \n";
$text .= "Контактные данные клиентов: <b>".$_POST['word']."</b> \n";
$text .= "Комментарии: ".$_POST['comment']." \n";
$text .= "\n";
$text .= "\n";
$text .= "\n";

if (!empty($word) && !empty($comment)) //если все переменные имеют значения выполняем запись в файл
{

$fp = fopen ("bspisok.txt", "a+"); //открываем для перезаписи файл black.txt лежаший в одной папке с текущей страницей
fwrite ($fp,$text); // пишем в файл
fclose ($fp); // закрываем файл

}



}



Думаю проблема заключается вот в этом куске

$text .= "№".$count." От сауны: <u>".$_POST['select']."</u> \n"; 


Тк как именно тут должно было выводиться выбранное человеком поле из меню select.

Подскажите в чём ошибка ???



Спустя 10 минут, 48 секунд (30.01.2011 - 02:04) Игорь_Vasinsky написал(а):
условие

if($POST['select'] == "value"){$select = "selected";}
else {$select = "";}

а в форме
<select>
<
option value="kjsdf1">afdadada1<option ".$select.">
....
<
option value="kjsdf3">afdadada3<option ".$select.">
<
select>

Спустя 2 минуты, 2 секунды (30.01.2011 - 02:06) Игорь_Vasinsky написал(а):
Ой блин... это про другое. Щас.

у каждого селекта должно быть value

Спустя 41 минута, 19 секунд (30.01.2011 - 02:47) BigBear написал(а):
Ага, спасибо. А как к нему обратиться ??

Спустя 2 часа, 16 минут, 59 секунд (30.01.2011 - 05:04) blase написал(а):
$word2 = "№";

if (($word2) && file_exists("bspisok.txt"))


как это? видимо вы что-то пропустили перед ($word2), либо я чего то не знаю, скорее всего первое

Спустя 8 часов, 56 минут, 26 секунд (30.01.2011 - 14:00) BigBear написал(а):
Решил проблему но только частично

Дело в том, что скрипт обрабатывает значения так

$sel = '<select name="select">'.$opt.'</select>';


Если у на с в файле есть строка с двойными кавычками аля "Москва",
то скрипт копировал это значение от первых двойных кавычек (начала значения value) до вторых (первые кавычки в слове "Москва").

В результате в $_POST['select'] лежала строка от первых двойных кавычек до вторых - а это было "".

Вот и получалась пустая строка.

Решил проблему, убрав все " в txt-файле.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.