2010-05-19 45 views
0
if ($_SESSION['user_email']!=$_SESSION['ship_user_email']) 
    { 
     $to= $_SESSION['ship_user_email']; 
     mail($to,$subject,$mail_html,$headers); 
    } 

在比較兩個會話的值時存在問題。值是不同的,但代碼不起作用。比較會話值PHProblem

+4

讓我想起狄爾伯特:「老闆:用一種他能理解的方式向蒂姆解釋問題。 Dilbert:**軟件沒有工作!!! **' – 2010-05-19 05:59:29

+0

所以你說兩個'$ _SESSION'值不相等,但是mail()命令沒有運行? – 2010-05-19 06:01:34

+0

雅,mail()命令沒有運行... – Aamir 2010-05-19 06:37:09

回答

2

打印兩個會話變量的值,並檢查它們中是否有前導或尾隨空格。
同樣用克里所說的'!=='檢查條件。
這樣

 

if ($_SESSION['user_email'] !== $_SESSION['ship_user_email']) 
    { 
     $to= $_SESSION['ship_user_email']; 
     mail($to,$subject,$mail_html,$headers); 
    } 
 


還通過編寫echo語句打印出變量的值檢查你的代碼的每一步。這將有助於您正確調試和理解代碼。

+0

!=使用運算符,!==它不是有效的運算符。 – Aamir 2010-05-19 06:38:41

+0

by echo both vales兩個不同的郵件ID打印出來,但沒有比較? – Aamir 2010-05-19 06:40:13

+0

!==是一個有效的操作員,請檢查手冊。澄清http://www.php.net/manual/en/language.operators.comparison.php – 2010-05-19 08:49:56

1

請嘗試使用「!==」運算符代替。

0

您可以使用<>此運算符。