[Помощь] Форма action и две формы внутри

Тема в разделе "Как сделать...", создана пользователем kactetus, 31 июл 2011.

  1. kactetus

    kactetus митя is here )

    Регистр.:
    26 авг 2007
    Сообщения:
    441
    Симпатии:
    278
    Такая проблема. не могу понять как сделать

    Имеется форма action, которая отправляет данные на скрипт goindex.php.
    А внутри две textarea, которые служат для сохранения файлов (urls.txt, logins.txt)

    Так вот когда добавляю в главную форму action - еще вторую форму, то во второй кнопке submit присваивается значение из главной, а последняя кнопка получается пустой, как то так. Описать тяжело, надо просто глянуть, кто такое уже делал подскажите.

    Если что вот php файл.

    PHP:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <body>
    <form enctype="multipart/form-data" method="POST" action="goindex.php?<?php echo uniqid(); ?>">
    <table>
    <tr>
        <td>

    <?php
    if ($_POST['urls'])
    {
    $file=fopen('urls.txt','w');
    fputs($file,$_POST['urls']);
    fclose($file);
    exit;
    }
    else
    {
    echo 
    '
    <form method="post" action="index.php">
    <textarea name="urls" style="width: 250px; height:200px">
    Здесь данные из urls.txt
    </textarea><br>
    <input type="submit" name="urls" id="urls" value="Сохранить URLS">
    </form>'
    ;
    }
    ?>

    <?php
    if ($_POST['logins'])
    {
    $file=fopen('logins.txt','w');
    fputs($file,$_POST['logins']);
    fclose($file);
    exit;
    }
    else
    {
    echo 
    '
    <form method="post" action="index.php">
    <textarea name="logins" style="width: 250px; height:200px">
    Здесь данные из logins.txt
    </textarea><br>
    <input type="submit" name="logins" id="logins" value="Сохранить Logins">
    </form>'
    ;
    }
    ?>


        </td>
    </tr>
    </table><br><br>

    <input class="custom-button" type="submit" value="Отправить !!!">
    </form>
    </body>
    </html>
     
  2. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    как-бы в форму ложить другую форму не есть делать валидный html
    т.е. следующий код неверный
    PHP:
    <form>
      <
    form>
      ...
      </
    form>
    </
    form>
    ну и запись вида
    PHP:
    else 

    echo 

    <form method="post" action="index.php"> 
    <textarea name="urls" style="width: 250px; height:200px"> 
    Здесь данные из urls.txt 
    </textarea><br> 
    <input type="submit" name="urls" id="urls" value="Сохранить URLS"> 
    </form>'


    есть гамнокод, лучше уж делать так
    PHP:
    <?php 
    // code ... 
    else  {  ?>
    <form method="post" action="index.php"> 
    <textarea name="urls" style="width: 250px; height:200px"> 
    Здесь данные из urls.txt 
    </textarea><br> 
    <input type="submit" name="urls" id="urls" value="Сохранить URLS"> 
    </form>
    <?php }  ?>
     
  3. kactetus

    kactetus митя is here )

    Регистр.:
    26 авг 2007
    Сообщения:
    441
    Симпатии:
    278
    chang спасибо за критику :). Критика это всегда хорошо.
    Но мне без разницы, валидный или не валидный код. Мне просто надо чтобы сохранялись txt файлы и отправлялась форма и все.
     
  4. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    невалидный и не рабочий часто бывают синонимами

    сделайте все данные в одной форме либо для по отдельности .. но без вложенных форм

    браузер штука тупая ... он не умеет рекурсивно обрабатывать формы
     
  5. kactetus

    kactetus митя is here )

    Регистр.:
    26 авг 2007
    Сообщения:
    441
    Симпатии:
    278
    Если не тяжело можеш выложить рабочий вариант, что то я догнать не могу как это сделать. Чтобы сохранялось и правильно отправляло.
     
  6. kactetus

    kactetus митя is here )

    Регистр.:
    26 авг 2007
    Сообщения:
    441
    Симпатии:
    278
    Может кому пригодится Решил проблему так.

    PHP:
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    </head> 
    <body> 
    <form enctype="multipart/form-data" method="POST" action="goindex.php?<?php echo uniqid(); ?>">

    <input type="hidden" name="urls" value="<?php  echo @file_get_contents('urls.txt'); ?>">
    <input type="hidden" name="pings" value="<?php  echo @file_get_contents('pings.txt'); ?>">

    <input class="custom-button" type="submit" value="Отправить !!!"> 
    </form>


    <table> 
    <tr> 
        <td> 

    <?php 
    if ($_POST['urls']) 

    $file=fopen('urls.txt','w'); 
    fputs($file,$_POST['urls']); 
    fclose($file); 
    exit; 

    else 

    echo 

    <form method="post" action="index.php"> 
    <textarea name="urls" style="width: 250px; height:200px"> 
    Здесь данные из urls.txt 
    </textarea><br> 
    <input type="submit" name="urls" id="urls" value="Сохранить URLS"> 
    </form>'


    ?> 

    <?php 
    if ($_POST['logins']) 

    $file=fopen('logins.txt','w'); 
    fputs($file,$_POST['logins']); 
    fclose($file); 
    exit; 

    else 

    echo 

    <form method="post" action="index.php"> 
    <textarea name="logins" style="width: 250px; height:200px"> 
    Здесь данные из logins.txt 
    </textarea><br> 
    <input type="submit" name="logins" id="logins" value="Сохранить Logins"> 
    </form>'


    ?> 


        </td> 
    </tr> 
    </table><br><br> 

     
    </body> 
    </html>
     
  7. chibit

    chibit Life sucks.

    Регистр.:
    4 дек 2007
    Сообщения:
    420
    Симпатии:
    285
    Name у форм пропиши :confused:
    Иначе как браузер отличит какую из двух форм ты выбрал?