За последние 24 часа нас посетили 55769 программистов и 1795 роботов. Сейчас ищут 884 программиста ...

Отправка данных через форму в текущем файле

Тема в разделе "PHP для новичков", создана пользователем Rezovskij, 13 мар 2016.

  1. Rezovskij

    Rezovskij Новичок

    С нами с:
    18 фев 2016
    Сообщения:
    84
    Симпатии:
    1
    Сделал скрипт, который записывает название сериала, название серии, url видео, номер сезона и серии В БД. Успешно работает. Сейчас он состоит из нескольких файлов. Каждый раз, когда мне нужно отправить данные я создавал отдельный файл со скриптом. Получилось 4 файла, мне кажется это довольно много. Пытался скрипт из файла ex.php вставить в select.php, однако после этого в БД начали добавляться пустые строчки. (для того, чтобы заработал вставленный скрипт из ex.php скрипт приходилось убирать еще функцию mysql_close).
    В общем. Хочу переместить скрипт из ex.php в select.php, но сил и идей у меня нет.)

    файл index.html

    Код (PHP):
    1. <!DOCTYPE html>
    2. <html lang="ru-RU">
    3.     <head>
    4.         <meta charset="UTF-8">
    5.         <title>Настройка сериалов</title>
    6.     </head>
    7.     <body>
    8.         <form action="player.php" method="post">
    9.             <input name="series_name_key" placeholder="Идентификатор сериала">
    10.             <input name="series_name" placeholder="Название сериала">
    11.             <input type="submit" value="Отправить">
    12.         </form>
    13.         <form action="select.php" method="post">
    14.             <input type="submit" value="Найти все сериалы">
    15.         </form>
    16.     </body>
    17. </html>
    18.  
    файл player.php

    Код (PHP):
    1. <?php 
    2. include 'options.php';
    3. ?>
    4. <?php 
    5. $series_name_key = $_POST['series_name_key'];
    6. $series_name = $_POST['series_name'];
    7. $result = mysql_query("INSERT INTO name_series (series_name_key,series_name) values ('$series_name_key','$series_name') ");
    8. if($result == TRUE){
    9.     echo "Сериал добавлен";
    10. }
    11. else {echo "Пздц все сломалось"; }
    12. ?>
    файл select.php
    Код (PHP):
    1. <?php 
    2. include 'options.php' // Параметры установки соединения с БД
    3. ?>
    4.  
    5. <?php
    6. echo "<form action=\" \" method=\"get\">"; 
    7. $selecd = mysql_query("SELECT series_name_key,series_name FROM name_series");
    8.     while ($row = mysql_fetch_assoc($selecd)){
    9.         echo "<input name=\"";
    10.         echo $row[series_name_key];
    11.         echo "\"";
    12.         echo "value=\"";
    13.         echo $row[series_name_key];
    14.         echo "\" type=\"radio\"";
    15.         echo ">";
    16.         echo $row[series_name];
    17.         echo "<br>";
    18.         global $inter ;
    19.         $inter = $row[series_name_key];
    20.     } // Выборка названия и ключа сериала из БД  и отправка через форму 
    21. echo "<input  type=\"submit\" value=\"Перейти к формированию\">";
    22. echo "</form>";
    23. ?>
    24.  
    25. <?php  
    26. for ($i=0; $i <= $inter; $i++) {
    27.         $value = $_GET[$i];
    28.         if ($value != NULL) {
    29.             echo "<form action=\"ex.php\" method=\"get\">";
    30.             echo "<input name=\"imja_serii\" placeholder=\"Название серии\">";
    31.             echo "<input name=\"nomer_sezona\" placeholder=\"№ сезона\">";
    32.             echo "<input name=\"nomer_serii\" placeholder=\"№ серии\">";
    33.             echo "<input name=\"url_video\" placeholder=\"URL видео\">";
    34.             echo "<input name=\"vneshnij_kljuch\" value=\"";
    35.             echo $value;
    36.             echo "\">";
    37.             echo "<input type=\"submit\" value=\"Отправить\">";
    38.             echo "</form>";            
    39.         }
    40. }
    41. ?>
    файл ex.php
    Код (PHP):
    1. <?php 
    2. include 'options.php';
    3. ?>
    4. <?php
    5.     $imja_serii = $_GET['imja_serii'];
    6.     $nomer_sezona = $_GET['nomer_sezona'];
    7.     $nomer_serii = $_GET['nomer_serii'];
    8.     $url_video = $_GET['url_video'];
    9.     $vneshnij_kljuch = $_GET['vneshnij_kljuch'];
    10.     $result_ex = mysql_query("INSERT INTO essence 
    11.         (imja_serii,nomer_sezona,nomer_serii,vneshnij_kljuch,url_video) 
    12.         values ('$imja_serii','$nomer_sezona','$nomer_serii','$vneshnij_kljuch','$url_video') ");
    13. ?>
    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
     
  2. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    я так понимаю, проблема в слиянии файлов?
    я делаю так:
    submit-ам даешь name='имя'
    Код (PHP):
    1. if ( isset ( $_POST['имя_1'] ) ) {
    2. //действия
    3. }
    4.  
    5. if ( isset ( $_POST['имя_2'] ) ) {
    6. //действия
    7. }
    8.  
    То же самое и для $_GET, если передаешь с его помощью...
     
  3. Rezovskij

    Rezovskij Новичок

    С нами с:
    18 фев 2016
    Сообщения:
    84
    Симпатии:
    1
    То есть, если переменная не NULL, вставляем массив $_POST, то ... { } так получается ?
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Кто тут кому вставляет? Запишите меня, я тож хочу вставить.
     
  5. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    если переменная существует, то делать {...}

    Когда пользователь нажимает кнопку submit - её name передается так же как и name инпутов в глобальном массиве POST.
    Так даже можно в одну форму вставлять несколько submit-тов и обрабатывать данные по разному в зависимости от того, какой submit был нажат т. к. передается только тот submit, который был нажат.

    тофтология получается)

    Добавлено спустя 2 минуты 5 секунд:
    совсем скучно?
     
  6. Rezovskij

    Rezovskij Новичок

    С нами с:
    18 фев 2016
    Сообщения:
    84
    Симпатии:
    1
    ну блин, я не знаю как технически точно выразить.)) Кстати у меня получилось))
     
  7. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    алилуя! возрадуйтесь же все народы мира :)
     
  8. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    круто, чо. Я прост подумал, что ты isset перепутал с insert вдруг.
     
  9. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    хоть бы спасибо сказал.. получилось у него)) это у меня получилось))
     
  10. Rezovskij

    Rezovskij Новичок

    С нами с:
    18 фев 2016
    Сообщения:
    84
    Симпатии:
    1
    Спасибо!))