Код (Text): <?php include('base.php'); header("Content-Type: text/html; charset=cp1251"); $name=$_POST["za"]; $res=$_POST["coment"]; if(isset ($_POST['vn'])){ $sql="INSERT INTO coment (Coment, order_id) VALUES ('$name','$res')"; $sql1=mysql_query($sql)or die(mysql_error()); } echo $res; ?> $res у меня несет значение с другого PHP файла(методом POST), допустим это значение 40(вводится любое значение) Но как только выполняется условие по нажатию кнопки, переменная $res принимает значение 0, а мне нужно чтобы оно заносилось в базу данных в столбик order_id.Причем я проверяю, до нажатия кнопки "Внести", переменная $res = 40, а после нажатия в базу падает значение 0. Пробовал сессии,глобальную переменную, не помогает. Помогите пожалуйста.
У меня есть файл base.php, в нем есть строчка кода <input type="number" name="coment" size="10"> <input type="submit" name="stat" value="Комент">, вот в нее я пишу значение и попадаю в файл coment.php (<form method="POST" action="coment.php">) Допустим пишу 40, перехожу на новый файл проверяю echo $res, переменная несет значение 40, но когда наживаю кнопку "Внести", переменная принимает значение 0. Может тут проще как-то можно обойтись? Мне нужно вводить номер заказа и главной базы, после ввода я должен попасть на файл coment.php, где мне сразу должны открыться комментарии по заказу, причем это значение (например 40), должно хранится, чтобы была возможность добавить новый комментарий.
Форма на base.php Код (Text): <form method="POST" action="coment.php"> <div align="left"> <input type="number" name="coment" size="10"> <input type="submit" name="stat" value="Комент"> </div> </form> Ввожу значение в поле, нажимаю кнопку, попадаю на coment.php Код (Text): <html> <head> <meta charset="windows-1251"> <style type="text/css"> body { background-color: #FBFBFB; background-image: url(1.jpg); margin-left: 50px; margin-top: 50px; } body,td,th { font-size: 14px; color: #FFFFFF; font-family: Cambria, "Hoefler Text", "Liberation Serif", Times, "Times New Roman", serif; font-style: normal; } </style> <meta charset="windows-1251"> <title>Комментарии</title> </head> <body> <form method="POST" action="coment.php"> Комментарий <input type="text" size="100" name="za"> <p> <input type="submit" name="vn" value="Внести"> </form> <form method="post" action="database.php"> <input type="submit" name="naz" value="Назад"> </form> <?php include('base.php'); header("Content-Type: text/html; charset=cp1251"); $name=$_POST["za"]; $res=$_POST["coment"]; if(isset ($_POST['vn'])){ $sql="INSERT INTO coment (Coment, order_id) VALUES ('$name','$res')"; $sql1=mysql_query($sql)or die(mysql_error()); } echo $res; $sum="SELECT * FROM coment WHERE order_id=('$res')"; $sum1=mysql_query($sum) or die (mysql_error()); ?> <table border=2 width="94%" cellpadding="5" cellspase="5" bgcolor="#696969"> <tr> <td>Комментарий</td> <td>Дата</td> </tr> <?php while ($row=mysql_fetch_array($sum1)){ ?> <tr> <td><?php echo $row['Coment'];?> </td> <td><?php echo $row['Date'];?> </td> </tr> <?php }?> </table> </body> </html> А дальше я уже писал.
Так внеси этот комментарий, в чём проблема? Вот читай http://phpfaq.ru/na_tanke После отправки формы "Внести" где брать комент?
Я внесу комментарий, никаких проблем. Но в базу данных он добавится со значением заказа 0, и так будет каждый раз. А мне нужно что бы с введенным значением комментарий добавлялся в базу. Добавлено спустя 1 минуту 40 секунд: Вот, выборка комента опять же по введенному значению(заказу) Код (Text): $sum="SELECT * FROM coment WHERE order_id=('$res')"; $sum1=mysql_query($sum) or die (mysql_error());
Я вношу не нуль, я вношу переменную Код (Text): $res=$_POST["coment"]; А вот у меня отправляется комментарий по этой же переменной Код (Text): if(isset ($_POST['vn'])){ $sql="INSERT INTO coment (Coment, order_id) VALUES ('$name','$res')"; $sql1=mysql_query($sql)or die(mysql_error()); } Только $res с прешедшим значением имеет введенное значение до нажатия кнопки "Внести",а после нажатия $res=0, а должно то быть не 0, а то что я вводил.
Вот Код (Text): if(isset ($_POST['vn'])){ $sql="INSERT INTO coment (Coment, order_id) VALUES ('$name','$res')"; $sql1=mysql_query($sql)or die(mysql_error());
В тексте что ты дал нет $_POST["coment"], и это не форма, вот форма Код (PHP): <form method="POST" action="coment.php"> Комментарий <input type="text" size="100" name="za"> <p> <input type="submit" name="vn" value="Внести"> </form> Где ты с помощью неё передал $_POST["coment"] ?
Абсолютно не помогло. Каким образом <input type="text" name="coment" value="тут текст который хочешь передать"> связанно с входящей переменной из другого файла? Что вы советуете?
что реально мозг не варит? уже все епт разжевали.. Если голова на таком стадии ничего не может додумать, придумать, сгуглить, обработать детали (почему так.. аа поэтому) - программирование не для вас. Передача переменных через формы POST
Не осилил http://phpfaq.ru/na_tanke ? Видимо программирование не твоё. Какой другой файл? Ты используешь HTTP протокол. Ещё один намёк: Код (PHP): <form method="POST" action="coment.php"> Комментарий <input type="text" size="100" name="za"> <p> <input type="text" name="coment" value="<?=$_POST["coment"]?>"> <input type="submit" name="vn" value="Внести"> </form> Если и так не понятно, значит ты даже книгу по PHP не прочитал.
Спасибо всем большое за намеки и пенок в нужную сторону! Буду больше читать и самостоятельно пытаться решить свой проблемы, еще раз извините за тупость.