Вот собственно то, что нужно разделить
Вот есть четыре поля:<br />
<form action="" method="post">
Первое<input name="name1" type="text" /><br />
Второе<input name="name2" type="text" /><br />
Третье<input name="name3" type="text" /><br />
Четвёртое<input name="name4" type="text" /><br />
<input name="download" type="submit" value="Применить" />
</form></p>
</body>
</html>
<?php
if($_POST['download']){
$a1=$_POST['name1'];
$a2=$_POST['name2'];
$a3=$_POST['name3'];
$a4=$_POST['name4'];
// искомая строка
$for_edit='<div style="display:none;">a1</div>';
// на эту меняем
$what=$a1.'<div style="display:none;">a1</div>'."\r\n";
$fopen=@file("2.html");//тут меняем
foreach($fopen as $key=>$value)
{
if(substr_count($value,$for_edit))
{
// если нашли
array_splice($fopen, $key, 1, $what); // заменили
}
$f=fopen("2.html", "w"); // переписали файл
for($i=0;$i<count($fopen);$i++)
{
fwrite($f,$fopen[$i]);
}
fclose($f);
}
...................................
Подскажите как это сделать?
Спустя 10 минут, 38 секунд (10.10.2011 - 18:25) XCross написал(а):
Клиентскую часть(до </html>) в отдельный файл, а серверную(после </html>) в отдельную. В атрибут action формы прописываешь путь до обработчика.
Спустя 3 минуты, 15 секунд (10.10.2011 - 18:28) light1 написал(а):
<form action="/fail.php" method="post">
Так?
Спустя 10 минут, 5 секунд (10.10.2011 - 18:38) XCross написал(а):
example_form.html:
handler.php
Вот есть четыре поля:<br />
<form action="handler.php" method="post">
Первое<input name="name1" type="text" /><br />
Второе<input name="name2" type="text" /><br />
Третье<input name="name3" type="text" /><br />
Четвёртое<input name="name4" type="text" /><br />
<input name="download" type="submit" value="Применить" />
</form></p>
</body>
</html>
handler.php
<?php
if(isset($_POST['download'])){
$a1=$_POST['name1'];
$a2=$_POST['name2'];
$a3=$_POST['name3'];
$a4=$_POST['name4'];
// искомая строка
$for_edit='<div style="display:none;">a1</div>';
// на эту меняем
$what=$a1.'<div style="display:none;">a1</div>'."\r\n";
$fopen=@file("2.html");//тут меняем
foreach($fopen as $key=>$value)
{
if(substr_count($value,$for_edit))
{
// если нашли
array_splice($fopen, $key, 1, $what); // заменили
}
$f=fopen("2.html", "w"); // переписали файл
for($i=0;$i<count($fopen);$i++)
{
fwrite($f,$fopen[$i]);
}
fclose($f);
}
...................................
Спустя 41 минута, 47 секунд (10.10.2011 - 19:20) light1 написал(а):
большое спасибо!
Спустя 25 минут, 4 секунды (10.10.2011 - 19:45) light1 написал(а):
хеее... и последнее - а что нужно добавить в код, чтобы после проигрывания скрипта меня возвращало на "example_form.html"?
Спустя 43 минуты, 32 секунды (10.10.2011 - 20:28) #8bit написал(а):
header('location: http://'.$_SERVER['HTTP_HOST'].'//*путь до каталога с сайтом*//example_form.php');
Спустя 1 час, 22 минуты, 39 секунд (10.10.2011 - 21:51) light1 написал(а):
Выпадает ошибка
"Warning: Cannot modify header information - headers already sent by"
с номером той строки, куда вставил. Я вставил после самого скрипта.
"Warning: Cannot modify header information - headers already sent by"
с номером той строки, куда вставил. Я вставил после самого скрипта.
<?php
if(isset($_POST['download'])){
$a1=$_POST['name1'];
$a2=$_POST['name2'];
$a3=$_POST['name3'];
$a4=$_POST['name4'];
// искомая строка
$for_edit='<div style="display:none;">a4</div>';
// на эту меняем
$what=$a4.'<div style="display:none;">a4</div>'."\r\n";
$fopen=@file("3.html");//тут меняем
foreach($fopen as $key=>$value)
{
if(substr_count($value,$for_edit))
{
// если нашли
array_splice($fopen, $key, 1, $what); // заменили
}
$f=fopen("3.html", "w"); // переписали файл
for($i=0;$i<count($fopen);$i++)
{
fwrite($f,$fopen[$i]);
}
fclose($f);
}
}
?>
<?php
header('location: http://'.$_SERVER['HTTP_HOST'].'TZ.html');
?>
Спустя 1 час, 15 минут, 24 секунды (10.10.2011 - 23:06) Brajt написал(а):
добавь в первую строку ob_start(); и в конце ob_end_flush(); и этой ошибки у тебя не будет)
Спустя 23 минуты, 33 секунды (10.10.2011 - 23:30) Игорь_Vasinsky написал(а):
Brajt
Зачем напрягать буфер, если у него в обработчике вывода нет?
1. В обработчике в начале может быть пустая строка, избавься от неё
2. Если файл сохранён в UTF-8, возможно он сохранён с BOM, пересохранить в UTF-8 без BOM
Зачем напрягать буфер, если у него в обработчике вывода нет?
1. В обработчике в начале может быть пустая строка, избавься от неё
2. Если файл сохранён в UTF-8, возможно он сохранён с BOM, пересохранить в UTF-8 без BOM
Спустя 1 час, 9 минут, 29 секунд (11.10.2011 - 00:39) imbalance_hero написал(а):
light1
Перед header() не должно быть любого вывода информации на экран, а тут:
?><?php у тебя обязательно выводится ПЕРЕНОС, как минимум, может ещё и пробелы(!!!)
Разделять я не вижу смысла, обработчик и форма по логике должна быть на одной странице.
Перед header() не должно быть любого вывода информации на экран, а тут:
?><?php у тебя обязательно выводится ПЕРЕНОС, как минимум, может ещё и пробелы(!!!)
Разделять я не вижу смысла, обработчик и форма по логике должна быть на одной странице.
Спустя 52 минуты, 56 секунд (11.10.2011 - 01:32) Brajt написал(а):
Цитата (Игорь_Vasinsky @ 10.10.2011 - 20:30) |
Brajt Зачем напрягать буфер, если у него в обработчике вывода нет? |
понятно)