2011-05-31 58 views
0

我也有session_start();在我的索引頁面的頂部,它不工作!我簡單的驗證碼php腳本有什麼問題?

<?php 

    if(isset($_REQUEST['Submit'])){ 
     $key=substr($_SESSION['key'],0,5); 
     $captcha = $_REQUEST['captcha']; 
     if($captcha=!$key){ 
     exit(); 
    } 
     $EmailFrom = "****"; 
     $EmailTo = "****"; 
     $Subject = "****"; 
     $contactname = Trim(stripslashes($_POST['contactname'])); 
     $companyname = Trim(stripslashes($_POST['companyname'])); 
     $username = Trim(stripslashes($_POST['username'])); 
     $phone = Trim(stripslashes($_POST['phone'])); 
     $email = Trim(stripslashes($_POST['email'])); 

     // validation 
     $validationOK=true; 
     if (!$validationOK) { 
      print "<meta http-equiv=\"refresh\" content=\"0;URL=../404.php/\">"; 
      exit; 
     } 

     // prepare email body text 
     $Body = ""; 
     $Body .= "Contact Name: "; 
     $Body .= $contactname; 
     $Body .= "\n"; 
     $Body .= "Company Name: "; 
     $Body .= $companyname; 
     $Body .= "\n"; 
     $Body .= "Preferred Username: "; 
     $Body .= $username; 
     $Body .= "\n"; 
     $Body .= "Phone: "; 
     $Body .= $phone; 
     $Body .= "\n"; 
     $Body .= "Email: "; 
     $Body .= $email; 
     $Body .= "\n"; 

     // send email 
     $success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>"); 

     // redirect to success page 
     if ($success){ 
      print '<script type="text/javascript">'; 
      print 'alert("Your Submission will be reviewed by an Admin and you will receive an email shortly")'; 
      print '</script>'; 
      print "<meta http-equiv=\"refresh\" content=\"0;URL=http://****.com/****/\">"; 
     } 
     else{ 
      print "<meta http-equiv=\"refresh\" content=\"0;URL=../404.php/\">"; 
     } 
    ?> 
+0

什麼是錯誤,dawg? – metaforce 2011-05-31 10:02:39

+0

這只是應該認識到由captcha字段生成的字符串,並驗證它,但我的PHP有點弱:/ – iamwhitebox 2011-05-31 10:02:42

+0

解析錯誤:語法錯誤,意想不到的$在行結束56 **** – iamwhitebox 2011-05-31 10:03:11

回答

1

末添加另一個大括號,它應該是好的,我認爲

您不關閉的花括號爲您頂級的if語句if(isset($_REQUEST['Submit'])){

或基於如何你想你流程可以從

if($captcha=!$key){ 
    exit(); 

所以刪除花括號,它成爲

if($captcha!=$key) 
    exit(); 

注意,我改變=!!=以及

2

你缺少一個}末(前?>

一定要正確地縮進代碼可以輕鬆地捕獲這些錯誤。