我是PHP的初學者,並試圖編寫一個代碼,它確實表單驗證。 只是對它進行測試而已。我只寫了一個測試年齡輸入文本的函數,不管它是否爲數字。如果不是,則會在數組中存儲錯誤,然後在另一個頁面中顯示該錯誤。我在視頻教程中看到了這種方法,但是我自己做不到。當我嘗試調用的錯誤(在年齡不是數值),它總是顯示我這個錯誤在我add.php頁面:PHP變量範圍問題
注意:未定義的變量:錯誤在/ home /拉斐爾/ WWW/RofaCorp /加/add.php on line 37
我該如何聲明一個可以通過我的整個項目訪問的變量?
這裏是我的代碼:
- form_validation.php
<?php function validate_number($number) { global $errors; if (is_numeric($number)) { return $number; }else { $errors[] = "Value must be number"; } if (!empty ($errors)) { header("Location: ../add.php"); exit; } } ?>
create_ind.php
<?php require_once '../../include/connection.php'; ?> <?php require_once '../../include/form_validation.php'; ?> <?php require_once '../../include/functions_database_infoget.php'; ?> <?php $family_id = get_family_info_fam("id"); $ind_name = mysql_real_escape_string($_POST["ind_name"]); $age = validate_number(mysql_real_escape_string($_POST["age"])); $gender = $_POST["gender"]; $notes = mysql_real_escape_string($_POST["notes"]); $add_query = "INSERT INTO individual (g_id , ind_name , age , gender , notes) Values ({$family_id} , '{$ind_name}' , {$age} , '{$gender}' , '{$notes}')"; if(mysql_query($add_query , $connection)){ header("Location: ../../main.php"); exit; } else {echo "ERROR " . mysql_error() ; } ?> <?php mysql_close($connection); ?>
add.php(我的代碼的一部分)
<!--Main Content--> <section id="mainContent"> <header> <h3>Select where to add new Family/Individual.</h3> </header> <article> <?php if (count($errors) > 0) { for($i=0 ; $i < count($errors) ; $i++){ echo "{$errors[$i]}" . "<br/>"; } } ?> </article> </section>
謝謝了。 – rafael 2011-04-21 21:34:18