我正在嘗試創建一個函數,它爲用戶輸入提供兩個參數,另一個函數爲錯誤消息。我最初有一個關聯數組與兩個輸入字段和相應的錯誤。 當沒有任何條目提交函數時,我得到兩個類似的輸出;我以爲我會得到'test1'和'test2'。我每次都傳遞不同的論點,但是我得到了相同的結果。代碼如下函數內部的PHP條件語句
$valid = TRUE;
//$errors='';
$errors=array('desc_error'=>'please enter valid description',
'title_error'=>'provide valid title','no_error'=>'',);
function sanitizeText($input,$error){
//$input;
if($input!='')
{
$input= filter_var($input, FILTER_SANITIZE_STRING);
if($input==''){
global $errors;
$errors[$error];
$valid=FALSE;
return $errors[$error];
}
else{
$input;
echo 'test 1';
return $input;
}
}
else if($input=='')
{
if($input==$_POST['desc'])
{
echo 'the description field is required<br/>';
$valid=FALSE;
}
else{
//
}
}
}
if(isset($_POST['submit']))
{
$title=sanitizeText($_POST['title'],'title_error');
$desc=sanitizeText($_POST['desc'],'desc_error');
}
?>
<form method="post" action="">
<p>Book Title:<input type="text" name="title" maxlength="100" value=""/></p>
<p>Desc:<input type="text" name="desc" maxlength="100" value=""/></p>
<p><input type="submit" name="submit" value="Submit"/></p>
</form>
你知道$ valid不在函數的範圍內嗎? – Daedalus
好的,範圍有點令人困惑我會做的修復,但仍然是我所擁有的部分是在最後如果其他聲明。我提交了兩次使用不同參數調用的函數,但仍然回顯「test1」。 – user1986244
'test2'從腳本回顯到哪裏? 其他如果條件$ input ==''你檢查desc是否等於$ input我不明白。 –