2012-02-25 59 views
0

我不斷收到一個語法錯誤與嘗試循環語法錯誤

Parse error: syntax error, unexpected '{' in contact_form.php on line 18 

,但我不能似乎能夠找到它,繼承人的代碼

<?php 
require_once('classes/class.phpmailer.php'); 
include_once("classes/class.smtp.php"); // optional, gets called from within   class.phpmailer.php if not already loaded 
include_once("includes/contact_form_constants.php"); 
include('funcs.php'); 
$errors=''; 
if((isset($_FILES['file']))&&(($_FILES['file']['error']==2)||($_FILES['file'] ['error']==1))){ 
echo "The file you tried to upload is too large. Please try again with a smaller file  2"; 
header('Location: ../result.php?title=Form Submission&msg=3'); 
}else if(($_FILES['file']['name']!=='')&&($_FILES['file']['error']>2) &&($_FILES['file'] ['error']!==4)){ 
$msg = 'apperently there has been an error in the contact form from the  electropolishing contact form, should probably get on it<br/>'; 
$msg.= 'here is some information on the file that the user tried to upload<br />'; 
$msg.= 'the error that was give was code #'.$_FILES['file']['error'].'<br/>'; 
$msg.= 'You can find more information about on the codes <a href="http://php.net/manual/en/features.file-upload.errors.php">here.</a><br/>'; 
$msg.= "<br/> sent on ".date('l jS \of F Y h:i:s A'); 
$error_email = new PHPMailer(true); // the true param means it will throw  exceptions on errors, which we need to catch 
$error_email->IsSMTP(); // telling the class to use SMTP 
//this is line 18 
try { 
//end of line 18 
    $error_email->SMTPDebug = 1;      // enables SMTP debug information (for testing) 
    $error_email->SMTPAuth = true;     // enable SMTP authentication 
    $error_email->SMTPSecure = "ssl"; 

我已經測試了這個相同的代碼我本地環境沒有任何問題,但我使用的主機是運行PHP 4.4.9,我不知道這是否似乎是問題

+0

哪裏是try塊的結束「}」? – 2012-02-25 06:47:58

+0

更新你的PHP到verion 5.x,你應該沒問題 – 2012-02-25 06:52:47

回答

2

PHP 5有一個異常模型類似於其他編程語言。

Source

PHP 4不支持try..catch