台灣最大程式設計社群網站
線上人數
1721
 
會員總數:246083
討論主題:189658
歡迎您免費加入會員
討論區列表 >> PHP >> 有關寄發會員認證信的問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
有關寄發會員認證信的問題
價值 : 20 QP  點閱數:1676 回應數:3
樓主

Dv Lin
門外漢
0 15
197 55
發送站內信

各位前輩大家新年快樂
小弟有一個關於寄發會員認證信的問題要請各位前輩幫忙
感恩
以下是我在會員註冊頁的寄信程式

mb_internal_encoding('UTF-8');
$servicemail="mailservice@123.com";
$webname="123.com";
$email=$_POST['email'];
$subject=$_POST['username']."您好,歡迎您加入".$webname;
$subject=mb_encode_mimeheader($subject, 'UTF-8');
$url="http://www.123.com/memberauth.php?username=" .$_POST['username']. "&auth=" . $_POST['auth']; <-- 這是要給會員認證的連結
$body="親愛的".$_POST['username']."您好,歡迎您加入成為會員:<br />
請點選<a href=\"".$url."\">認證您的帳號</a>;<br/>
如果這不是您所註冊的會員資料,請忽略這封認證信件<br />
並請妥善保存您的資料,如有任何問題歡迎與我們聯絡,謝謝!!any problem,you can touch us,thank you!!";
//郵件檔頭設定
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "From:".mb_encode_mimeheader($webname, 'UTF-8')."<".$servicemail."> \r\n";
$headers .= "Reply-To:".mb_encode_mimeheader($webname, 'UTF-8')."<".$servicemail.">\r\n";
$headers .= "Return-Path:".mb_encode_mimeheader($webname, 'UTF-8')."<".$servicemail.">\r\n";
mail ($email,$subject,$body,$headers,$url);
header(sprintf("Location: %s", $insertGoTo));

但是我測試加入會員之後雖然可以收到會員信
但卻是

親愛的david您好,歡迎您加入成為會員:
請點選認證您的帳號;
如果這不是您所註冊的會員資料,請忽略這封認證信件
並請妥善保存您的資料,如有任何問題歡迎與我們聯絡,謝謝!!any problem,you can touch us,thank you!!

不但沒有連結網址
還完全不能點選連結
請問
是我哪裡做錯了嗎??

感謝各位前輩幫忙

本篇文章發表於2014-01-28 21:46
1樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
先確認看看是不是超連結被封鎖
現在網路釣魚太多
很多郵件軟體和網頁信箱為了安全性考量
會將郵件中的超連結擋住
通常會在畫面最上方有一條訊息顯示,點了同意之後才會讓超連結產生作用
本篇文章回覆於2014-01-29 10:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Dv Lin
檢舉此回應
謝謝迷路前輩的指導
現在的狀況是當我收到認證信後可以連結
但是
當我點選連結後卻一職出現找不到網頁

以下是我認證頁面的語法
請問我的問題出在哪裡
可以幫幫忙指導嗎
感恩

<?php require_once('Connections/PeakLife.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

if ((isset($_GET['username'])) && ($_GET['username'] != "")) {
$deleteSQL = sprintf("UPDATE member SET auth = 1 WHERE username=%s AND auth=%s",
GetSQLValueString($_GET['usernamel'], "text"),
GetSQLValueString($_GET['auth'], "text"));

mysql_select_db($database_PeakLife, $PeakLife);
$Result1 = mysql_query($deleteSQL, $PeakLife) or die(mysql_error());

$deleteGoTo = "memberLogin.php";
if (isset($_SERVER['QUERY_STRING'])) {
$deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
$deleteGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $deleteGoTo));
}
?>
本篇文章回覆於2014-02-05 01:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

迷路
捐贈 VP 給 迷路 檢舉此回應
請善用文字編輯上那一排Code按鈕
這樣你的程式碼才會有排版
這種齊頭式的程式碼很難看懂

既然找不到網頁
請先注意一下網址列是否是顯示你在信件中輸入的超連結位置
是的話
那就是網站找不到這個頁面,注意一下有沒有漏字和大小問題
不是的話
就是你最後的header那行有問題
改成下面這樣試試看結果是不是你要的
本篇文章回覆於2014-02-05 09:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.