Jump to content

lapwing

User
  • Posts

    57
  • Joined

  • Last visited

Everything posted by lapwing

  1. lapwing

    Формы+PHP

    Наконец-то получилось!Разобрался с if(isset($_POST['submit'], остался только вопрос по ACTION. Действительно, в htmlbook.ru написано, что если параметр action отсутствует, то текущая страница перезагружается, а элементы формы возвращаются к значениям по умолчанию, но в то же время указано, что данный параметр обязателен - вроде бы получается противоречие? В каких случаях тогда используется конструкция : $formfile=$_SERVER['PHP_SELF']; .............. <FORM ACTION="$formfile"> // или вот так я еще видел <FORM ACTION="<?php echo $formfile;?>" Может, это потом понадобится? Допустим, если я захочу доработать форму в таком направлении: если пользователь все поля ввеп нормально, а какое-то одно не заполнил или заполнил как-то неправильно то, чтобы возвращалась страница с заполненной пользователем формой и стояла пометка "такое-то поле не заполнено" Большое спасибо demous. что со мной провозился, я только глянул на твой код и сразу увидел у себя ошибку. Сейчас все работает.Прыгаю до потолка.
  2. lapwing

    Формы+PHP

    Похоже я запутался в трех соснах. Я рассуждал так: сначала условие if(isset($_POST['submit'])), поскольку кнопка не нажата, переменной $_POST['submit'] не существует, значит идем дальше - -подключаемся к БД, пытаемся выполнить INSERT, вставлять нечего, переменная $noform_var не определена и по условию if(!noform_var) должна выводиться форма. Может надо ввести вообще какую-либо другую переменную ( не submit) , а как пока не соображу.
  3. lapwing

    Формы+PHP

    Убрал пробелы перед EOF - спасибо за подсказку,сам бы долго рылся, теперь выводится сама страница, а форма почему-то нет. Я так понял, что форма должна выводиться во всех случаях, кроме тех, когда передача завершается успешно, для этого и существует переменная $noform_var? которая принимает значение в случае успешного выполнения команды INSERT , а до этого переменной не существует и по условию if(!$noform_var) форма должна выводиться, а не выводится. Что я упускаю или не понимаю? Вот demous мысль подкинул. Может первый запрос должен выглядеть как-то иначе?
  4. lapwing

    Формы+PHP

    Конечно,вот. Уже и инклюды все убрал, чтоб не мешались , еще раз проверил синтаксис, ничего не получается. неожиданный $end пишет после тега </html>/ Может нужна какая-то конструкция типа endif? <?php if(isset($_POST['submit'])) { if(!$_POST['p1']||$_POST['p1']==''||!$_POST['p2']||$_POST['p2']==''||!$_POST['p3']|| $_POST['p3']=='') { $message = 'Вы не заполнили поле'; } else{ $db = mysql_connect ("localhost","buy","buy"); mysql_select_db ("board",$db); mysql_query("SET NAMES cp1251"); $p1=htmlspecialchars(trim($_POST['p1'])); $p2=htmlspecialchars(trim($_POST['p2'])); $p3=htmlspecialchars(trim($_POST['p3'])); $result=mysql_query("INSERT INTO buy_kv(p1,p2,p3) VALUES('$p1','$p2','$p3')"); if(mysql_affected_rows()==1) { $message='<p> Данные занесены</p>'; $noform_var=1; } else { error_log(mysql_error()); $message='<p> Что-то пошло не так</p>'; } } if(!$noform_var) { $formfile=$_SERVER['PHP_SELF']; $date=date("Y-m-d"); $message.=<<<EOF <p> Все поля обязательны для заполнения </p> <FORM METHOD="post" ACTION="$formfile"> <INPUT TYPE="text" NAME="p1"><br> <INPUT TYPE="text" NAME="p2"><br> <INPUT TYPE="text" NAME="p3"><br> <INPUT TYPE="hidden" NAME="added" VALUE="{$date}"> <INPUT TYPE="submit" NAME="submit" VALUE"submit"> </FORM> EOF; } } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <link href="styles.css" rel="stylesheet" type="text/css"> </head> <body> <div class="container"> <div class="top_pan"></div> <div><a href="index.php">Главная</a> </div> <div class="connent"> <?php echo $message;?> </div> </div> </body> </html>
  5. lapwing

    Формы+PHP

    Спасибо за поправки-все сделал и submit и INSERT, проверил инклуды - все равно не работает, где еще можно поискать?
  6. lapwing

    Формы+PHP

    Пропустил по невнимательности "="-вставил, все равно не работает, пишет ошибку unexpected $end in C:\xampp\htdocs\Site5\addobj.php on line 65. На линии 64-тег</html>
  7. lapwing

    Формы+PHP

    Здравствуйте! Подскажите пожалуйста в чем ошибка?Код не работает <?php if($_POST['submit']=='submit') { if(!$_POST['p1']||$_POST['p1']==''||!$_POST['p2']||$_POST['p2']==''||!$_POST['p3']|| $_POST['p3']=='') { $message = 'Вы не заполнили поле'; } else { $db = mysql_connect ("localhost","buy","buy"); mysql_select_db ("board",$db); mysql_query("SET NAMES cp1251"); $p1=htmlspecialchars(trim($_POST['p1'])); $p2=htmlspecialchars(trim($_POST['p2'])); $p3=htmlspecialchars(trim($_POST['p3'])); $result=mysql_query("INSRT INTO buy_kv(p1,p2,p3) VALUES('$p1','$p2','$p3')"); if(mysql_affected_rows()==1) { $message='<p> Данные занесены</p>'; $noform_var=1; } else { error_log(mysql_error()); $message='<p> Что-то пошло не так</p>'; } } if(!$noform_var) { $formfile=$_SERVER['PHP_SELF']; $message.=<<<EOMSG <p> Все поля обязательны для заполнения </p> <FORM METHOD="post" ACTION="$formfile"> <INPUT TYPE="text" NAME"p1"><br> <INPUT TYPE="text" NAME"p2"><br> <INPUT TYPE="text" NAME"p3"><br> <INPUT TYPE="hidden" NAME="added" VALUE="<?php echo date("Y-m-d");?>"> <INPUT TYPE="submit" NAME="submit" VALUE"submit"> </FORM> EOMSG; } } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <link href="styles.css" rel="stylesheet" type="text/css"> </head> <body> <div class="container"> <?php include("blocks/header.php");?> <div class="top_pan"> </div> <div><a href="index.php">Главная</a> </div> <?php include("blocks/left_pan.php");?> <div class="connent"> <?php echo $message;?> </div> <?php include("blocks/prav_pan.php");?> <?php include("blocks/copyrigt.php");?> </div> </body> </html>
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy