<html>
<head>
<title>
Registration
</title>
</head>
<?php
if(isset($_POST['submit buttton'])){
processForm();
}else{
displayForm();
}
/*check out this function. Here in array doesnot work*/
function validateField($fieldname,$missingfield){
if(in_array($fieldname,$missingfield)){
echo 'class = "error"';
}
}
function setValue($fieldname){
if(isset($_POST[$fieldname])){
echo $_POST[$fieldname];
}
}
function setChecked($fieldname,$fieldvalue){
if((isset($_POST[$fieldname]) and ($_POST[fieldname] == $fieldvalue)){
echo 'checked = "checked"';
}
}
function setSelected( $fieldName, $fieldValue ) {
if ( isset( $_POST[$fieldName] ) and $_POST[$fieldName] == $fieldValue ) {
echo ' selected="selected"';
}
}
function processForm(){
$requiredfields = ("firstname","lastname","password1","password2","gender");
$missingfields = array();
foreach($missingfields as $missingfield){
if((!isset($_POST[$requiredfield]) or $_POST[$requiredfield]){
$missingfields[] = $requiredfield ;
}
}
if ( $missingFields ) {
displayForm( $missingfields );
} else {
displayThanks();
}
}
function displayForm($missingfields){
<?php
<h1>Membership Form</h1>
<?php if ( $missingFields ) { ?>
<p class="error">There were some problems with the form you submitted.
Please complete the fields highlighted below and click Send Details to
resend the form.</p>
<?php } else { ?>
<p>Thanks for choosing to join The Widget Club. To register, please
fill in your details below and click Send Details. Fields marked with an
asterisk (*) are required.</p>
?>
<?php } ?>
<form action="registration.php" method="post">
<div style="width: 30em;">
<label for="firstName"<?php validateField( "firstName",
$missingFields ) ?>>First name *</label>
<input type="text" name="firstName" id="firstName"
value="<?php setValue( "firstName" ) ?>" />
<label for="lastName"<?php validateField( "lastName",
$missingFields ) ?>>Last name *</label>
<input type="text" name="lastName" id="lastName" value=
"<?php setValue( "lastName" ) ?>" />
<label for="password1"<?php if ( $missingFields ) echo
' class="error"’ ?>>Choose a password *</label>
<input type="password" name="password1" id="password1" value="" />
<label for="password2"<?php if ( $missingFields ) echo
' class="error"’ ?>>Retype password *</label>
<input type="password" name="password2" id="password2" value="" />
<label<?php validateField( "gender", $missingFields ) ?>>Your
gender: *</label>
<label for="genderMale">Male</label>
<input type="radio" name="gender" id="genderMale" value=
"M"<?php setChecked( "gender", "M" )?>/>
<label for="genderFemale">Female</label>
<input type="radio" name="gender" id="genderFemale" value=
"F"<?php setChecked( "gender", "F" )?> />
<label for="favoriteWidget">What’s your favorite widget? *</label>
<select name="favoriteWidget" id="favoriteWidget" size="1">
<option value="superWidget"<?php setSelected( "favoriteWidget",
"superWidget" ) ?>>The SuperWidget</option>
?>
</html>
ファイルの最初の実行では、in_array 関数が機能していないようです。つまり、isset() のような関数は太字で表示されますが、in_array 関数が検出されないようです。ブラウザには次のエラーが表示されます。
( ! ) 解析エラー: 構文エラー、15 行目の C:\wamp\www\reg.php の予期しない '{'。