Process Forms Internally

A

Anonymous

Guest
I've done this before, using function to show the form & verify the data:

Code:
<?
//form validation
function register_form ($username, $nama, $alamat, $telp, $pass_error, $initial, $submitted, $submit_error,$username_used) {
	
	if (($username == "") AND ($initial == "No")) {
		$username_var = "<strong class='redsmallstrong'>username kosong</strong>"; 
	}
	
	if (($nama == "") AND ($initial == "No")) {
		$nama_var = "<strong class='redsmallstrong'>nama kosong</strong>"; 
	}

	if (($alamat == "") AND ($initial == "No") ) {
		$alamat_var = "<strong class='redsmallstrong'>alamat kosong</strong>"; 	
	}
	
	if (($telp == "") AND ($initial == "No")) {
		$telp_var = "<strong class='redsmallstrong'>telepon kosong</strong>"; 	
	}
	
	if (($pass_error == "Yes") AND ($initial == "No")) {
		$password_var = "<strong class='redsmallstrong'>konfirmasi password gagal</strong>"; 
	}
	
	if ($username_used == "Yes") {
		$username_var = "Username <strong class='redsmallstrong'>$username</strong> telah dipakai";
		$username_used_var = "Username telah terpakai, silakan coba menggunakan username yang lain...";
		$username = "";
	}
	
	if (($submitted == "No") OR ($submit_error == "Yes")) {
		return "$username_used_var <p><form action='register.php' method='post' enctype='application/x-www-form-urlencoded' name='form2'>
			<p> </p><table width='600' border='1' cellspacing='0' cellpadding='0'>
			  <tr> 
				<td width='181'>Username</td>
				<td width='388'><input name='username' type='text' id='username' size='18' maxlength='13' value='$username'> $username_var</td>
			  </tr>
			  <tr> 
				<td>Nama</td>
				<td><input name='nama' type='text' id='nama2' size='40' maxlength='35' value='$nama'> $nama_var</td>
			  </tr>
			  <tr> 
				<td>Alamat</td>
				<td><input name='alamat' type='text' id='alamat2' size='50' maxlength='45' value='$alamat'> $alamat_var</td>
			  </tr>
			  <tr> 
				<td>Telp</td>
				<td><input name='telp' type='text' id='telp2' size='20' maxlength='18' value='$telp'> $telp_var</td>
			  </tr>
			  <tr> 
				<td>Password</td>
				<td><input name='pass1' type='password' id='pass12' size='18' maxlength='10'></td>
			  </tr>
			  <tr> 
				<td>Konfirmasi Password</td>
				<td><input name='pass2' type='password' id='pass22' size='18' maxlength='10'> $password_var</td>
			  </tr>
			  <tr> 
				<td> </td>
				<td><input type='submit' name='Submit' value='Submit'>
				  <input type='reset' name='Reset' value='Reset'>
				  <input name='daftar' type='hidden' id='daftar2' value='Submit'> 
				</td>
			  </tr>
			</table>
		</form>";
	}
	elseif (($submitted == "Yes") AND ($submit_error != "Yes")) {
		return "";
	}
}

Code:
//main code
<?
require "forms.php";

$action = $_POST['daftar'];

if ($action == "Submit") {
	$username = $_POST['username'];
	$pass1 = $_POST['pass1'];
	$pass2 = $_POST['pass2'];
	$nama = $_POST['nama'];
	$alamat = $_POST['alamat'];
	$telp = $_POST['telp'];
	
	if ($pass1 == $pass2) {
		if (($username != "") AND ($pass1 != "") AND ($pass2 != "") AND ($nama != "") AND ($alamat != "") 
			AND ($telp != "")) {
			$submit_error = "No";
			$num = 1;//some result from mysql_num_rows
			
			if ($num == 1) {
				$submit_error = "Yes";
				$submitted = "Yes";
				$initial = "No";
				$username_used ="Yes";
			}
			else { //if ($num == 1)
				//do the stuff
			}
		}
		else { //check data  ($username, alamat, pass, dll)
			$submit_error = "Yes";
		}
	}
	else { //if ($pass1 == $pass2)
		$pass_error = "Yes";
	}
}
else { //($action == "daftar")
	$initial = "Yes";
	$submitted = "No";
}	

$reg_form = register_form($username, $nama, $alamat, $telp, $pass_error,$initial,$submitted,$submit_error,$username_used);
echo $reg_form;
echo $msg;
?>

that's only some part from the complete code... i tried to edit it, but i don't have much time, so it's all yours
 
Back
Top