У меня есть эта html-форма, которая вызывает php-файл.
Index.html ->
<form action="html_form_submit.php" method="post"> <textarea name="name" rows="2" cols="20"> </textarea > <input type="submit" value="Submit" /> </form>
от html_form_submit.php ->
<?php $name = @$_POST['name']; ?> <html> <body> <p> Id: <?php echo $id; ?><br> Name: <?php echo $name; ?><br> Email: <?php echo $email; ?> </p> </body> </html>
Это работает так, как ожидалось. Файл php генерирует html-код и отправляет его клиенту. Но я хочу, чтобы php (или что-то еще) создал статическую html-страницу, сохранил ее на сервере и THEN отправил ее пользователю. Надеюсь, я поняла.
Это для очень небольшого веб-сайта для моего сообщества, и мои навыки кодирования сосут bigtime. Наконец, если кто-то понимает, что я пытаюсь сделать, и у вас есть предложение сделать это каким-либо другим способом (проще), пожалуйста, поделитесь.
благодаря
<?php ob_start(); // start trapping output $name = @$_POST['name']; ?> <html> <body> <p> Id: <?php echo $id; ?><br> Name: <?php echo $name; ?><br> Email: <?php echo $email; ?> </p> </body> </html> <?php $output = ob_get_contents(); // get contents of trapped output //write to file, eg $newfile="output.txt"; $file = fopen ($newfile, "w"); fwrite($file, $output); fclose ($file); ob_end_clean(); // discard trapped output and stop trapping ?>
Вы просто открыли файл, распечатали HTML-файл (используя puts или аналогичный), закройте файл, а затем перенаправите пользователя в новый файл с помощью заголовка («Местоположение: ..»);
Что касается общих советов, я бы просто предложил прочитать информацию об «очистке» или «дезинфекции» ввода пользователем.