2014-03-27 33 views
0

我有一個PHP頁面。底部有一個聯繫表單。我想要做的是在發送郵件時隱藏聯繫表單,而不是顯示感謝的一部分。意味着當客戶第一次到達頁面時,表格就會顯示出來。提交後,謝謝部分顯示。顯示隱藏部分的PHP頁面

我已經看到它完成,但沒有任何線索如何。

我有一個想法,當頁面加載它必須檢查變量,看看郵件是否發送,但也許這是錯誤的。

+3

你需要做一些PHP的入門教程。你所描述的是通過條件輸出來實現的,即if/else。去嘗試一些東西,然後回來,併發布一些代碼,如果你卡住了。 – Utkanos

回答

0

當我需要這樣的東西,我通常命名提交按鈕「提交」並檢查它是否被設置...

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

的,而PHP(使用$_GET$_POST相應)...

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

當我做這樣的事情我傾向於一個按鈕添加到我的表格,並給它一個名稱

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

然後在我的PHP檢查,如果表單已提交

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

這是相當相當簡單;後mail()

添加exit("Message...");在你的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 protected]'; 

$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> 
0

這很簡單,只是如果和其他人,樣品的形式是下面

<?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 } 
?>