2013-11-03 30 views
0

我有這個功能,但它不工作。有什麼問題PHP字段檢查功能

function Checkfields($fields){ 
    $ret = false; 
    foreach($fields as $field) { 
     if ($_POST[$field] == "" || !isset($_POST[$field])) { 
      $ret = true; 
     } 
    } 
    if ($ret) { 
     $ret = "All fields are required."; 
     header('Location: ?erro='. $erro); 
    } 
} 

我用這樣的:

Checkfields(array("username","password")); 

更新: 我已經嘗試過更改爲:

function Checkfields($fields){ 
    $ret = false; 
    foreach($fields as $field) { 
     if ($_POST[$field] == "" || !isset($_POST[$field])) { 
      $ret = true; 
     } 
    } 
    if ($ret) { 
     $erro = "All fields are required."; 
     header('Location: ?erro='. $erro); 
    } 
} 

並沒有任何反應。

+3

請給出一些更詳細的信息,然後「不工作」 –

+1

你有'$ ret =「所有字段都是必需的。」;'。它不應該是'$ erro =「所有的字段都是必需的。」;'? – Sean

+0

只是什麼都沒有返回,我把POST置爲空並且沒有重定向。 – Chinchila

回答

0
function Checkfields($fields){ 
     $ret = false; 
     foreach($fields as $field) { 
      if (!isset($_POST[$field])) { 
       $ret = true; 
      } 
     } 
     if ($ret) { 
      $error = "All fields are required."; 
      header('Location: ?erro='. $error); 
     } 
} 

存在於可變POST代碼驗證兩個錯誤..如果元素不存在出現錯誤

當$漚==真

頭你把

$ret = "All fields are required."; 
     header('Location: ?erro='. $erro); 

當重定向到其他頁面時不發送響應錯誤

0

爲什麼你的代碼不是牛逼重定向,可能是因爲頭函數調用

您可能需要調用諸如

header("Location:http://www.example.com/page.php?erro=$err") 

取代example.com/page.php到你想讓它重定向頁面。由於該位置基本上會創建302重定向,並且瀏覽器將被重定向到新的url。所以你應該提供絕對路徑。