[英]once the info is submited, the table not appearing and info not sent
如果我單擊“通知”按鈕,則會發送郵件,但不會將其作為電子郵件發送,並且返回頁面也沒有表格,我已經回顯了該郵件,並且它在那里,但無法弄清楚
<?php require_once("include/session.php");?>
<?php require_once("include/dataconnect.php");?>
<?php require_once("include/functions.php");?>
<?php include("include/mheader.php");?>
>
<p>
You can contact us so as to give you relevant numbers to speak to.Thank you.
</p>
<?php
$submit = $_POST['Notify'];
$message = mysql_real_escape_string(htmlentities(strip_tags($_POST['message'])));
//echo "$message";
//die();
if('POST' === $_SERVER['REQUEST_METHOD'])
{
if ($message)
{
//Get Email Address
$emails = mysql_query("SELECT reusers.email FROM reusers INNER JOIN repplac ON reusers.username = repplac.Uname AND reusers.username = '{$_SESSION['username']}'")or die(mysql_error());
//$emails = mysql_query("SELECT reusers.email FROM reusers INNER JOIN repplac ON reusers.username = repplac.Uname AND reusers.username = '".$_SESSION['username']."'")or die(mysql_error());
$results = (mysql_fetch_assoc($emails)) or die(mysql_error());
$email= $results['email'];
//echo "$email";
//die();
if(mysql_num_rows($emails) == 0){
exit("No email addresses found for user '{$_SESSION['username']}'");
}
$email = mysql_result($emails, 0);
}
$body = $message;
$to = $email;
$subject = "copy of your notification";
$headers = "From: donotreply@rapsody.co.uk\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'Bcc:los@yahoo.ca' . "\r\n";
mail($to,$subject,$body,$headers);
}
?>
<p>
<form action='notification.php' method='Post' class='rl'>
<div>
<label for='message' class='fixedwidth'>Message</label>
<textarea name="message" rows ="7" cols="40" id="message"></textarea>
</div>
<div class='buttonarea'>
<p>
<input type='submit' name='notify' value='Notify'>
</p>
</div>
</p>
</form>
<?php include("include/footer.php");?>
使用if ($message) {}
有點棘手,如果您想知道$message
包含一些文本,可以嘗試使用is_null
或is_set
您也可以嘗試在表單中action
之前action
method
<form method='POST' action='notification.php' class='rl'>
我可以看到的一個問題在這里:
if ($message)
{
...
$email = mysql_result($emails, 0);
}
$body = $message;
...
現在,即使$message
計算為false並且沒有地址可發送,您仍在嘗試發送消息。
您需要將消息發送部分移至if ($message)
部分。
編輯:您還將覆蓋$email
變量:
$email= $results['email'];
//echo "$email";
//die();
if(mysql_num_rows($emails) == 0){
exit("No email addresses found for user '{$_SESSION['username']}'");
}
$email = mysql_result($emails, 0); // get rid of this line
如果注釋的echo語句已經給出正確的結果,則可以擺脫其他重復的賦值。
除此之外,這可能是服務器問題,郵件正被發送到垃圾郵件等,但這與您的代碼無關。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.