Проблемы с формой отправки. Помогите

bloger

Новичок
Есть форма
Код:
<form action="../page?post=1&id=<?=$select['id']?>" method="post">
<input type="hidden" name="login" value="<?=$select['login']?>" />
<input name="text" placeholder="Что новенького?" style=" font-size:14px; color:#000; width:600px; top:10px; height:40px; position:relative;" ><input type="submit" value="+" id="sub_bro" />
</form>
Отправляю данные из формы на обработчик РНР но он выдает что форма пустая, хотя я заполнил форму. Вот файл - обработчик:
Код:
if (isset($_GET['post'])){
if(isset($_POST['text'])){$text = $_POST['text'];}
    if(isset($_POST['login'])) {$login = $_POST['login'];}
if($login == '' or $text ==''){echo'<div id="errors">Пустая форма</div>'; }else{
    $autor = $_SESSION['login'];
    $sel11 = mysql_query("SELECT id FROM user WHERE login='$login'") or die(mysql_error());
$select11 = mysql_fetch_assoc($sel) or die(mysql_error());         
$result1 = mysql_query ("INSERT INTO post (text,autor,login) VALUES('$text','$autor','$login')"); 
if($result1 == TRUE) {}
else { exit('<div id="errors"><font color="red"><h2 align="center">Простите произошла ошибка!</h2></font></div>');}}}?>
 

Vuzy

Новичок
HTML:
<form action="../page?post=1&id=<?=$select['id']?>" method="post">
у тебя скрипт обработчик без расширения?

попробуй просмотри массив $_POST в начале скрипта. Если данных нет выясняй причину.
 
Последнее редактирование:

ikiborg

Новичок
Может ты где-то и ошибку допустил, в общем вот, обработчик, немного поправленый.
PHP:
if($_POST){
if($_POST['login']==''||$_POST['text']=='')echo'<div id="errors">Пустая форма</div>';
else{
$_SESSION['login'] = $_SESSION['login'];
$sel=mysql_query('SELECT id FROM user WHERE login='.$_POST['login']) or die(mysql_error());
$select=mysql_fetch_assoc($sel) or die(mysql_error());
$result=mysql_query('INSERT INTO post (text,autor,login) VALUES('.$_POST['text'].','.$_SESSION['login'].','.$_POST['login'].')');
if($result!=true)exit('<div id="errors"><font color="red"><h2 align="center">Простите произошла ошибка!</h2></font></div>');
}
}
и форма
HTML:
<form action="../page?post=1&id=<?=$select['id']?>" method="post" enctype="multipart/form-data">
<input type="hidden" name="login" value="<?=$select['login']?>" />
<input name="text" placeholder="Что новенького?" style="font-size:14px; color:#000; width:600px; top:10px; height:40px; position:relative;" >
<input type="submit" value="+" id="sub_bro" />
</form>
И несколько советов на будущее:
1) Переходи на MySQL-PDO
2) Не стоит указывать GET параметр POST, если не отправлено POST формы, то простая проверка if($_POST) выдаст false
3) При указании параметров функций симпатичнее смотрятся одинарные, а не двойные кавычки, например f('text') смотрится симпатичнее чем f("text")
 

Linker

Новичок
ikiborg
Тогда уж: if ($_REQUEST), чо уж?
Ему же уже ответили, нужно заняться отладкой, нет ничего "симпатичнее" простой отладки.
 
Сверху