За последние 24 часа нас посетили 22602 программиста и 1147 роботов. Сейчас ищут 596 программистов ...

$_POST

Тема в разделе "PHP для новичков", создана пользователем seif, 21 фев 2015.

  1. seif

    seif Активный пользователь

    С нами с:
    21 фев 2015
    Сообщения:
    13
    Симпатии:
    0
    Код (Text):
    1. <?php
    2.  
    3. include('base.php');
    4. header("Content-Type: text/html; charset=cp1251");
    5. $name=$_POST["za"];
    6. $res=$_POST["coment"];
    7.  
    8. if(isset ($_POST['vn'])){
    9.     $sql="INSERT INTO coment (Coment, order_id) VALUES ('$name','$res')";
    10.     $sql1=mysql_query($sql)or die(mysql_error());
    11.    
    12. }
    13. echo $res;
    14. ?>
    $res у меня несет значение с другого PHP файла(методом POST), допустим это значение 40(вводится любое значение)
    Но как только выполняется условие по нажатию кнопки, переменная $res принимает значение 0, а мне нужно чтобы оно заносилось в базу данных в столбик order_id.Причем я проверяю, до нажатия кнопки "Внести", переменная $res = 40, а после нажатия в базу падает значение 0.
    Пробовал сессии,глобальную переменную, не помогает. Помогите пожалуйста.
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Никакого "до нажатия" тут быть не могёть!
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Видимо у него форма не содержит переменную $_POST["coment"]. Я угадаю ошибку с одной буквы
     
  5. seif

    seif Активный пользователь

    С нами с:
    21 фев 2015
    Сообщения:
    13
    Симпатии:
    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), должно хранится, чтобы была возможность добавить новый комментарий.
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Куда пишу? Как пишу?
     
  7. seif

    seif Активный пользователь

    С нами с:
    21 фев 2015
    Сообщения:
    13
    Симпатии:
    0
    Форма на base.php
    Код (Text):
    1.    <form method="POST" action="coment.php">
    2.            <div align="left">
    3.            <input type="number" name="coment" size="10">  <input type="submit" name="stat" value="Комент">
    4.            </div>
    5.         </form>
    6.        
    Ввожу значение в поле, нажимаю кнопку, попадаю на coment.php
    Код (Text):
    1.  
    2. <html>
    3. <head>
    4. <meta charset="windows-1251">
    5. <style type="text/css">
    6. body {
    7.     background-color: #FBFBFB;
    8.     background-image: url(1.jpg);
    9.     margin-left: 50px;
    10.     margin-top: 50px;
    11. }
    12. body,td,th {
    13.     font-size: 14px;
    14.     color: #FFFFFF;
    15.     font-family: Cambria, "Hoefler Text", "Liberation Serif", Times, "Times New Roman", serif;
    16.     font-style: normal;
    17. }
    18. </style>
    19.  
    20. <meta charset="windows-1251">
    21. <title>Комментарии</title>
    22. </head>
    23. <body>
    24. <form method="POST" action="coment.php">
    25. Комментарий <input type="text" size="100" name="za"> <p>
    26. <input type="submit" name="vn" value="Внести">
    27. </form>
    28. <form method="post" action="database.php">
    29. <input type="submit" name="naz" value="Назад">
    30. </form>
    31.  
    32. <?php
    33.  
    34. include('base.php');
    35. header("Content-Type: text/html; charset=cp1251");
    36. $name=$_POST["za"];
    37. $res=$_POST["coment"];
    38. if(isset ($_POST['vn'])){
    39.     $sql="INSERT INTO coment (Coment, order_id) VALUES ('$name','$res')";
    40.     $sql1=mysql_query($sql)or die(mysql_error());
    41.    
    42. }
    43. echo $res;
    44. $sum="SELECT * FROM coment WHERE order_id=('$res')";
    45. $sum1=mysql_query($sum) or die (mysql_error());
    46. ?>
    47.  
    48. <table border=2 width="94%" cellpadding="5" cellspase="5" bgcolor="#696969">
    49. <tr>
    50.    
    51.     <td>Комментарий</td>
    52.     <td>Дата</td>
    53.  
    54. </tr>
    55. <?php
    56. while ($row=mysql_fetch_array($sum1)){ ?>
    57. <tr>
    58.     <td><?php echo $row['Coment'];?> </td>
    59.     <td><?php echo $row['Date'];?> </td>
    60.  
    61. </tr>
    62. <?php }?>
    63. </table>
    64.  
    65.  
    66.  
    67. </body>
    68. </html>

    А дальше я уже писал.
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    coment.php тут генерируй форму с пришедшим значением $_POST["coment"]. Похоже я угадал мелодию.
     
  9. seif

    seif Активный пользователь

    С нами с:
    21 фев 2015
    Сообщения:
    13
    Симпатии:
    0
    Прошу прощения, что значит генерируй? мне в coment.php нужна форма только для внесения комментария.
     
  10. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Так внеси этот комментарий, в чём проблема? Вот читай http://phpfaq.ru/na_tanke

    После отправки формы "Внести" где брать комент?
     
  11. seif

    seif Активный пользователь

    С нами с:
    21 фев 2015
    Сообщения:
    13
    Симпатии:
    0
    Я внесу комментарий, никаких проблем. Но в базу данных он добавится со значением заказа 0, и так будет каждый раз. А мне нужно что бы с введенным значением комментарий добавлялся в базу.

    Добавлено спустя 1 минуту 40 секунд:
    Вот, выборка комента опять же по введенному значению(заказу)
    Код (Text):
    1. $sum="SELECT * FROM coment WHERE order_id=('$res')";
    2. $sum1=mysql_query($sum) or die (mysql_error());
     
  12. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Так зачем ты вносишь 0, вноси комментарий.
    Где у тебя в коде форма "Внести" отправляет комментарий?
     
  13. seif

    seif Активный пользователь

    С нами с:
    21 фев 2015
    Сообщения:
    13
    Симпатии:
    0
    Я вношу не нуль, я вношу переменную
    Код (Text):
    1. $res=$_POST["coment"];
    А вот у меня отправляется комментарий по этой же переменной
    Код (Text):
    1. if(isset ($_POST['vn'])){
    2.     $sql="INSERT INTO coment (Coment, order_id) VALUES ('$name','$res')";
    3.     $sql1=mysql_query($sql)or die(mysql_error());
    4.    
    5. }
    Только $res с прешедшим значением имеет введенное значение до нажатия кнопки "Внести",а после нажатия $res=0, а должно то быть не 0, а то что я вводил.
     
  14. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    А где ты что-то засунул в $_POST["coment"] когда отправил форму "Внести"?
     
  15. seif

    seif Активный пользователь

    С нами с:
    21 фев 2015
    Сообщения:
    13
    Симпатии:
    0
    Вот
    Код (Text):
    1. if(isset ($_POST['vn'])){
    2.     $sql="INSERT INTO coment (Coment, order_id) VALUES ('$name','$res')";
    3.     $sql1=mysql_query($sql)or die(mysql_error());
     
  16. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    В тексте что ты дал нет $_POST["coment"], и это не форма, вот форма
    Код (PHP):
    1. <form method="POST" action="coment.php">
    2. Комментарий <input type="text" size="100" name="za"> <p>
    3. <input type="submit" name="vn" value="Внести">
    4. </form> 
    Где ты с помощью неё передал $_POST["coment"] ?
     
  17. seif

    seif Активный пользователь

    С нами с:
    21 фев 2015
    Сообщения:
    13
    Симпатии:
    0

    А как с помощью нее передать $_POST["coment"] ??
     
  18. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    так <input type="text" name="coment" value="тут текст который хочешь передать">
     
  19. seif

    seif Активный пользователь

    С нами с:
    21 фев 2015
    Сообщения:
    13
    Симпатии:
    0
    Абсолютно не помогло. Каким образом <input type="text" name="coment" value="тут текст который хочешь передать"> связанно с входящей переменной из другого файла? Что вы советуете?
     
  20. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.751
    Симпатии:
    1.322
    Адрес:
    Лень
    что реально мозг не варит? уже все епт разжевали..
    Если голова на таком стадии ничего не может додумать, придумать, сгуглить, обработать детали (почему так.. аа поэтому) - программирование не для вас.
    Передача переменных через формы POST
    [​IMG]
     
  21. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Не осилил http://phpfaq.ru/na_tanke ? Видимо программирование не твоё.
    Какой другой файл? Ты используешь HTTP протокол.

    Ещё один намёк:
    Код (PHP):
    1. <form method="POST" action="coment.php">
    2. Комментарий <input type="text" size="100" name="za"> <p>
    3. <input type="text" name="coment" value="<?=$_POST["coment"]?>">
    4. <input type="submit" name="vn" value="Внести">
    5. </form>
    Если и так не понятно, значит ты даже книгу по PHP не прочитал.
     
  22. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    какой переменной из какого файла?
     
  23. seif

    seif Активный пользователь

    С нами с:
    21 фев 2015
    Сообщения:
    13
    Симпатии:
    0
    Спасибо всем большое за намеки и пенок в нужную сторону!
    Буду больше читать и самостоятельно пытаться решить свой проблемы, еще раз извините за тупость.
     
  24. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Надо просто терминологию подучить. А то не понятно зачастую что ты имеешь ввиду, неоднозначно.