Создать статическую HTML-страницу с помощью ввода HTML-формы - PullRequest
2 голосов
/ 22 августа 2009

У меня есть эта 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-страницу, сохранил ее на сервере, а затем отправил ее пользователю. Я надеюсь, что я ясно.

Это очень маленький сайт для моего района, и мои навыки кодирования сосут И наконец, если кто-то понимает, что я пытаюсь сделать, и у него есть предложение сделать это любым другим способом (более простым способом), то, пожалуйста, поделитесь.

Спасибо

Ответы [ 2 ]

5 голосов
/ 22 августа 2009
<?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, e.g.
    $newfile="output.txt"; 
    $file = fopen ($newfile, "w"); 
    fwrite($file, $output); 
    fclose ($file);  
    ob_end_clean(); // discard trapped output and stop trapping
?>
1 голос
/ 22 августа 2009

Вы бы просто открыли файл, распечатали HTML-файл (используя put или аналогичный), закрыли файл, а затем перенаправили пользователя в новый файл с помощью заголовка («Location: ..»);

Что касается общих советов, я бы просто предложил почитать о «чистке» или «дезинфекции» пользовательского ввода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...