Нужна помощь с формой

Статус
В этой теме нельзя размещать новые ответы.

SocMaster

Профессор
Регистрация
26 Июл 2011
Сообщения
211
Реакции
49
Есть форма вот такая Для просмотра ссылки Войди или Зарегистрируйся
2 поля 2 и 1
Стоят в цикле, потому и повторяются, дальше внизу кнопка отправить.
Когда Я заполняю форму, берутся только последние значения полей, ну это ястно
Могу подставить в цикл названия поля+$i
Как мне потом вытащить значения если я не знаю сколько полей, то есть не могу узнать названия поля...
Сейчас все просто, вот так
$aa = $_POST['1'];
$aa2 = $_POST['2'];
помогите плс
 
нужно знать имена input полей, тоесть какие у них name аттрибуты, дайте ссылку на саму форму, либо скопируйте html (сгенерировный) формы, так будет понятнее какое там правило на имена инпутов
 
нужно знать имена input полей, тоесть какие у них name аттрибуты

Ну Я сделаю вот так name="name $i"
$i начнется с 0
То есть
name1
name2
name3
и тп
Такс всего 10 полей
Значит нужно просто в цикле сделать обход....
Вот у меня код
$rd = $_POST['faile'];
$fno = 'test/' . $rd . '';
$aa = $_POST['1'];
$aa2 = $_POST['2'];
$eng_xml_txt = file_get_contents($fno);
$file="text.php";
$mytext = str_replace($aa, $aa2, $eng_xml_txt);
var_dump($mytext);
file_put_contents($file, $mytext);
Нужно поместить в цикл его?
Помогите, ну не могу понять и все
 
может так?
Для просмотра ссылки Войди или Зарегистрируйся

а потом посмотреть _POST параметр под определённым ключом, это должен быть массив.

Код:
<?php
    for ($i = 1; $i <= 10500; $i++) {
?>
 
    <input type="number" name="myname[<?php echo $i?>]" >
 
<?php
} // end while
?>
а потом брать как массив _POST['myname']
 
Допустим Я сделаю вот так $_POST['name'][0]
А как дальше?
Ну что все пост данные прошли операцию
$mytext = str_replace($aa, $aa2, $eng_xml_txt);
file_put_contents($file, $mytext);
 
Сейчас я просто беру текст из формы, заменяю из одного поля на другое в текстовом файле, и сохраняю файл
Если сделаю
$mytext = str_replace( $_POST['name'][+-], $aa2, $eng_xml_txt);
file_put_contents($file, $mytext); в цикл
То просто файл будет перезаписываться новыми значениями, а старые то сохранятся не будут
 
Сейчас я просто беру текст из формы, заменяю из одного поля на другое в текстовом файле, и сохраняю файл
Если сделаю
$mytext = str_replace( $_POST['name'][+-], $aa2, $eng_xml_txt);
file_put_contents($file, $mytext); в цикл
То просто файл будет перезаписываться новыми значениями, а старые то сохранятся не будут
ну так это уже другая задача, не нужно ставить file_put_content в цикл, вынесите его за пределы, собирайте контент
$mytext .= str_replace( $_POST['name'][+-], $aa2, $eng_xml_txt);
а после цикла

file_put_contents($file, $mytext);


что-то навскидку

Код:
$mytext = 'адский ад!';
foreach($_POST['name'] AS $index => $value)
{
    $mytext .= str_replace($value, $aa2, $eng_xml_txt);
}
file_put_contents($file, $mytext);
 
ну так это уже другая задача, не нужно ставить file_put_content в цикл, вынесите его за пределы, собирайте контент
$mytext .= str_replace( $_POST['name'][+-], $aa2, $eng_xml_txt);
а после цикла

file_put_contents($file, $mytext);


что-то навскидку

Код:
$mytext = 'адский ад!';
foreach($_POST['name'] AS $index => $value)
{
    $mytext .= str_replace($value, $aa2, $eng_xml_txt);
}
file_put_contents($file, $mytext);

А если 2 таких динамических поля то два цикла?

И еще почему foreach($_POST['name'] ?
Если name динамическое названия,
name0
name1
name2
и тп
 
А если 2 таких динамических поля то два цикла?
если массивы одинаковы то по идее можно сделать итерировать по индексу и брать значения из двух массивов одновременно в одном цыкле, например
for($i = 0; $i < count(_POST['first_field']); ++$i)
{
$a = _POST['first_field'][$i];

$b = _POST['second_field'][$i];
}
И еще почему foreach($_POST['name'] ?
Если name динамическое названия,
name0
name1
name2
и тп
потому что значения которые запостяться на сервак будут в виде массива
array('name' => array (1 => 'значение 1', 'name' => array (2 => 'значение 2')))

имена будут динамические, но не так как вы написали а
name[0]
name[1]
name[2]
....
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху