2012-01-08 153 views
-4

即使腳本運行成功,我也會收到錯誤消息。它正在做我想要它做的事情,但我得到了一個令人討厭的錯誤。PHP電子郵件錯誤

我的代碼如下:

< 

?php 

$title = $_REQUEST['title']; 
$name = $_REQUEST['name']; 
$surname = $_REQUEST['surname']; 
$email = $_REQUEST['email']; 
$username = $_REQUEST['username']; 
$password = md5($_REQUEST['password']); 

$con = mysql_connect("*******","**","***"); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db('****', $con); 

$sql="INSERT INTO Users (title, firstname, surname, email, username, password, role) VALUES ('$title','$name', '$surname','$email','$username','$password', 'normaluser')"; 

if (!mysql_query($sql,$con)) 
    { 
    die('Error: ' . mysql_error()); 
    } 

$username = $_REQUEST["username"]; 
$password = $_REQUEST["password"]; 
$confirmpass = 'password:'; 


ini_set ("sendmail_from","[email protected]"); 

$messege = "Hi $name $surname, \n\r\n\r Thanks For Registering.\n\r\n\r Your Username: $username \n\r\n\r Your Password: $password \n\r\n\rRemember To Start Booking Your Desired Meetings!!!"; 
$to= "$email"; 
$from = '[email protected]'; 
$subject="Registration Success"; 
mail($to,$message,$subject,$from); 

echo "Thanks $surname, You Have Successfully Registered! </br> </br> Please Check Your Email!"; 



mysql_close($con) 
?> 

的錯誤是:Fatal error: Maximum execution time of 30 seconds exceeded in E:\webareas\hj942\CW\meetings\conference\Register\register_success.php on line 67

行67是行之後:

回聲「感謝$姓,你已經成功註冊,請檢查你的郵件!」;

這是一個空行!它沒有任何關係。

有幫助嗎?

+2

'$ messege'和'$ message'的不同類型在這裏還是在生產代碼中只是一個錯誤? – fkerber 2012-01-08 21:53:56

+0

-1。壞問題。你實際上沒有__reading__錯誤信息,只告訴我們它是「討厭的」。 – jmkeyes 2012-01-08 21:54:49

+0

@fkerber,斑點。謝謝 – user1114080 2012-01-08 21:58:17

回答

0

添加到您的代碼的開頭:

ini_set('max_execution_time', 600); 
+2

這真的是個好主意嗎?我沒有看到明顯的原因,爲什麼這段代碼應該持續30秒以上。因此,我認爲,必須有一個錯誤,只是增加執行時間並不能解決最初的問題。 – fkerber 2012-01-08 21:58:48

+0

我懷疑這是失敗的原因 - 腳本的運行時間不應超過一秒鐘,所以這可能不是一個真正的解決方法。 – SpoonNZ 2012-01-08 21:59:05

+0

它確實只取決於服務器。 – blake305 2012-01-08 21:59:31

0

我懷疑它需要實際的mail(...)線超時。最簡單的方法測試 - 流行前的新線和新線後,它就像...

$subject="Registration Success"; 
//Hello 
mail($to,$message,$subject,$from); 
//World  

echo "Than..."; 

然後看看它說什麼行它的超時。如果它增加了一個它是mail()線,如果它是兩個他們我錯了!

我會想象在您的服務器的PHP配置中沒有正確設置mail()函數。我們也可以很容易地測試 - 創建一個新的php文件:

<?php 
    mail('[email protected]','Test email','Test email'); 
?> 

運行該。如果失敗了,那麼我們肯定知道你有mail()問題。如果成功,讓我們試試B計劃吧。