Ein einfaches Formular welches sich nach dem Absenden selbst aufruft und die bereits getätigten Eingaben nicht vergisst.
Es bewirkt nichts, selbst wenn eine Million Affen dieses Formular eine Million mal absenden. Deshalb der Name. Siehe dazu auch die PHP-FAQ.
<?php
/**
* Funktion um
* a) ggf. Slashes zu entfernen
* b) htmlentities() auf POST-Parameter anzuwenden
*/
function tidy_post_values()
{
$stack = array();
$args = func_get_args();
while ($idx = array_shift($args)){
if (!isset($_POST[$idx])){
$stack[$idx] = '';
continue;
}
$tmp = trim($_POST[$idx]);
$tmp = get_magic_quotes_gpc()
? stripslashes($tmp)
: $tmp;
$stack[$idx] = htmlentities($tmp);
}
return $stack;
}
function get_comment_form()
{
$values = tidy_post_values(
'sender',
'email',
'comment'
);
$form = <<< EOT
<h3>Kommentar eintragen</h3>
<form action="{$_SERVER['REQUEST_URI']}" method="post">
<input type="hidden" name="COMMENTACTION" value="ISSEND"/>
<textarea name="comment" rows="10" cols="60">{$values['comment']}</textarea>
<fieldset><legend>Name</legend>
<input type="text" name="sender" value="{$values['sender']}"/>
</fieldset>
<fieldset><legend>Email</legend>
<input type="text" name="email" value="{$values['email']}"/>
</fieldset>
<input type="submit" name="GO" value="Absenden"/>
</form>
EOT;
return $form;
}
// MAIN
echo get_comment_form();
?>