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

kactetus

митя is here )
Регистрация
26 Авг 2007
Сообщения
440
Реакции
281
Такая проблема. не могу понять как сделать

Имеется форма 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>
 
как-бы в форму ложить другую форму не есть делать валидный 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 }  ?>
 
chang спасибо за критику :). Критика это всегда хорошо.
Но мне без разницы, валидный или не валидный код. Мне просто надо чтобы сохранялись txt файлы и отправлялась форма и все.
 
невалидный и не рабочий часто бывают синонимами

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

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

Если не тяжело можеш выложить рабочий вариант, что то я догнать не могу как это сделать. Чтобы сохранялось и правильно отправляло.
 
Может кому пригодится Решил проблему так.

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>
 
Name у форм пропиши :confused:
Иначе как браузер отличит какую из двух форм ты выбрал?
 
Назад
Сверху