2013-04-03 97 views
-1

根本不是程序員。我被要求爲我們的網站開發一個FTP頁面,並且發現它看起來像是一些簡單的代碼來使它工作。不幸的是(我正在使用Dreamweaver 6),看起來代碼在第25行的「if(strleng($ error_message)> 0)」中斷了......「我錯過了什麼?PHP解析錯誤> 0

<?php 
$email_to='[email protected]'; 
$email_subject = "New file uploaded to FTP"; 
function died($error) {echo "There was an error uploading your file.";echo $error;die();} 
if(!isset($_POST['theirname']) || 
!isset($_POST['email']) || 
!isset($_POST['audioname'])) { 
died('Please make sure your name, email address, and the project name are completed.'); 
} 
$theirname = $_POST['theirname']; 
$email = $_POST['email']; 
$audioname = $_POST['audioname']; 
$comments = $_POST['comments']; 
$error_message = ""; 
$email_exp = '/^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; 
if(!preg_match($email_exp,$email)) {$error_message .= "Please input a valid email address."; 
} 
$string_exp = "/^[A-Za-z .'-]+$/"; 
if(!preg_match($string_exp,$theirname)) { 
$error_message .= "Please avoid using special characters."; 
} 
if(!preg_match($string_exp,$audioname)) { 
$error_message .= "Please use only letters and numbers for Project Name."; 
} 
**if(strlen($error_message)>0){died($error_message);}clean_string($string){** 
$bad = array("content-type","bbc:","to:","cc:","href"); 
return str_replace($bad,"",$string); 
} 
$email_message = "A new file has been uploaded to the FTP site\n\n"; 
$email_message .= "Name: ".clean_string($theirname)."\n"; 
$email_message .= "Title: ".clean_string($audioname)."\n\n"; 
$email_message .= "Comments: ".clean_string($comments)."\n\n\n\n"; 
$headers = 'From: '.$email."\r\n"; 
if ($_FILES["file1"]["error"]>0) { 
$email_message .= "Return Code: " . $_FILES["file1"]["error"] . "\n"; 
} 
else 
{ 
$email_message .= "Upload: " . $_FILES["file1"]["name"] . "\n"; 
$email_message .= "Type: " . $_FILES["file1"]["type"] . "\n"; 
$email_message .= "Size: " . ($_FILES["file1"]["size"]/1024) . " Kb\n"; 
if ($_FILES["file1"]["type"] == "") { 
if (file_exists("upload/" . $_FILES["file1"]["name"])) { 
$email_message .= $_FILES["file1"]["name"] . " already exists. "; 
} 
else 
{ 
move_uploaded_file($_FILES["file1"]["tmp_name"], 
"upload/" . $_FILES["file1"]["name"]); 
$email_message .= "Stored in: " . "upload/" . $_FILES["file1"]["name"]; 
} 
} 
else 
{ 
died("Unsupported file type."); 
} 
} 
@mail($email_to, $email_subject, $email_message, $headers); 
header('Location: ftp.html'); 
?> 

這是我第一次進入PHP,所以我真的不知道從哪裏開始。看起來,其他一切正常工作,但我無法上傳工作,因爲在特定的行上的東西。

+0

刪除前後if(strlen($ error_message)> 0)。 – Petr

+0

**是在這裏顯示的突破線, – djleop

+0

死了是他自己定義的一個函數,@JoachimIsaksson – Jonast92

回答

2
if(strlen($error_message)>0){died($error_message);}clean_string($string){ 
                ^^^^^^^^^^^^^^^^^^^^^^^ 

無論你調用該函數clean_string(),這意味着{末是錯誤的。如果您正在嘗試DEFINFE clean_string(),在這種情況下,您缺少function。 例如

if (...) { ... } 
function clean_string($string) { ... } 

if (...) {... } 
clean_string($string); 
+0

它缺少「功能」。謝謝。 –

0

我應該clean_string($string){辦?

應該是if(clean_string($string)) {

if(!clean_string($string)) {

或僅clean_string($string); {

or ...?