繁体   English   中英

显示php页面的隐藏部分

[英]Show hide part of php page

我有一个php页面。 底部有一个联系表。 我想做的是在发送邮件时隐藏联系表单,而是显示“谢谢”部分。 意味着当客户第一次来到该页面时,表格就会显示出来。 提交后,谢谢部分出现。

我已经看过了,但是不知道如何做。

我有一个想法,当页面加载时,它必须检查一个变量以查看邮件是否已发送,但这也许是错误的。

当我需要这样的东西时,我通常将提交按钮命名为“ submit”,并检查它是否设置好...

<input type="submit" name="submit" value="Send form">

和PHP(相应地使用$_GET$_POST )...

<? 
  if(isset($_POST['submit']))
  { 
   // Show "Thank you"
  }
  else
  { 
    // Show form
  }
?>

当我做这样的事情时,我倾向于在表单中添加一个按钮并为其命名

<button type="submit" id="submit" name="submit">Submit</button>

然后在我的PHP中检查表单是否已提交

<?php
if(isset($_POST['submit'])) {
  // Actions After Submit
}
else
{
 // Load The Form
}
?>

这相当简单; 添加exit("Message..."); mail()

在您的PHP中, mail(...)所在的位置,您将执行以下操作:

mail($to,$subject,$message,$headers);
    exit("Thank you, your message has been sent. <a href='home.php'>Click here</a> to return to our Website.");

这是使用纯PHP的完整基本解决方案,因为未提供任何代码。

以下内容应作为同一文件中的所有内容运行。

<?php

   if(isset($_POST['send'])) {
   // Prepare the email
   $to = 'email@example.com';

$mail_from = $_POST['email'];
   $subject = 'Message sent from website';
   $message = $_POST['message'];

$name = $_POST['name'];
$header = "From: $name <$mail_from>";

   // Send it
   $sent = mail($to, $subject, $message, $header);
   if($sent) {

    exit("Thank you, your message has been sent. <a href='home.php'>Click here</a> to return to our Website.");

   } else {
   echo 'Sorry, your message could not be sent. The error has been logged.';
   }
   } // closing brace for if(isset($_POST['send']))
?>

<form method="post" action="">
    <p>
        <label for="name">Name</label>
        <input type="text" id="name" name="name" />
    </p>
    <p>
        <label for="email">Email</label>
        <input type="text" id="email" name="email" />
    </p>
    <p>
        <label for="message">Message</label>
        <textarea id="message" name="message" rows="6" cols="30"></textarea>
    </p>
    <p>
        <input type="submit" name="send" value="Send message" />
    </p>
</form>

这很简单,只要下面有示例表格

<?php
if(isset($_POST['submit'])) { ?>
//write your other actions on form data
<h2>THANK YOU</h2>
<?php
} else { ?>
<form name="login" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<label><h4>Username:</label>
<input type="text" name="username">
<input type="submit" name="submit" value="submit"/>
</form>
<?php }
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM