PHP表格 - 提交时停留在同一页面上

2022-08-30 11:00:41

我有一个PHP表单,位于文件.contact.html

从文件 处理表单。processForm.php

当用户填写表单并点击提交时,发送电子邮件并将用户定向到 - 并在该页面上显示消息“成功!您的信息已发送。processForm.phpprocessForm.php

我对PHP了解不多,但我知道需要这样做的操作是:

// Die with a success message
die("<span class='success'>Success! Your message has been sent.</span>");

如何将消息保留在表单div中而不重定向到页面?processForm.php

如果需要,我可以发布整个,但它很长。processForm.php


答案 1

为了在提交时保持在同一页面上,您可以在表单标记中将操作留空(),或者完全将其省略。action=""

对于消息,创建一个变量 (),然后在页面中希望消息与 一起显示的位置回显该变量。$message = "Success! You entered: ".$input;"<?php echo $message; ?>

喜欢这个:

<?php
$message = "";
if(isset($_POST['SubmitButton'])){ //check if form was submitted
  $input = $_POST['inputText']; //get input text
  $message = "Success! You entered: ".$input;
}    
?>

<html>
<body>    
<form action="" method="post">
<?php echo $message; ?>
  <input type="text" name="inputText"/>
  <input type="submit" name="SubmitButton"/>
</form>    
</body>
</html>

答案 2

保持在同一页面上的最佳方式是发布到同一页面:

<form method="post" action="<?=$_SERVER['PHP_SELF'];?>">

推荐