Доброе время суток. помогите. Из формы , выпадающего списка передается только первое слово в поле. т.е в переменную должна сохранится вся запись, а сохраняетсся только первое слово записи. PHP: echo "Редактирвание новости <br>"; echo "<select name=name>"; $SQL = "SELECT files.name FROM files"; @$ss=mysql_query($SQL); $nr=mysql_num_rows($ss); $nf=mysql_num_fields($ss); for ($i=0; $i<$nr; $i++) { $row = mysql_fetch_array($ss); for ($j=0; $j<$nf; $j++) { $string = htmlspecialchars($row[$j]); $string2 = trim($string); echo "<option value=".$string2.">".$row[$j]; // echo "<option value=".$row['name'].">".$row[$j]; } } echo "</select> "; echo "<input type=submit name=submit1>"; return; } if (isset($_POST['submit1'])) { [b] $text4=@$_POST['name'];[/b] $result = "SELECT files.id, files.name, files.text, files.full, autor.name_autor, tema.tema FROM files,autor, tema WHERE files.id_autor=autor.id AND files.id_tema=tema.id AND files.name='".$text4."'"; $res=mysql_query($result, $link); ........................... и тд И вот в переменной $text4 отображается первое слово из записи name. соответсвенно запрос работает не верно. Подскажите плиз
Код (Text): echo '<option value="'.htmlspecialchars ($string2).'">'.htmlspecialchars ($row[$j]).'</option>';
Хорошо исправлюсь но это делу не помогает. Подскажите как чтоб он отправлял всю запись а не до первого пробела. А то ерунда какая то список выпадающий правильно все работает. а передает не правильно. Диплом горит
Ann у вас атрибут value не закавычен, поэтому берётся только первое слово. htmlspecialchars всё-таки надо использовать на случай если $string2 сама содержит кавычки. p.s. а по поводу бессмысленно расставленного подавления ошибок перед переменными не волнуйтесь, оно не должно влиять на результат. оно может влиять на производительность, запутывать ваш код, вызывать возбуждённые возгласы протеста седобородых старцев и т.д., но зато добавляет некоторый шарм и индивидуальность.