All pastes #495410 Raw Edit

Mine

public text v1 · immutable
·published 2007-05-18 19:08 UTC
rendered paste body
<?php
if (isset($_POST['stage']) && ('process' == $_POST['stage'])) {

    $errors = validate_form();
    
    if (0 == count($errors)) {
        process_form();
    }
    else {
        print_errors($errors);
    }
}
else {
    print_form();
}
function print_errors($errors) {
    echo "<p><ul>";
    foreach ($errors as $error) {
        echo "<li>$error</li>";
    }
        echo "</ul></p>";
        print_form();
}
function process_form() {
    echo 'Hello ' . $_POST['first_name'] . '!';
}
function validate_form() {
    $errors = array();
    function isUKPostcode($postcode) {
    	$postcode = strtoupper(str_replace(chr(32),'',$postcode));
    	if(ereg("^(GIR0AA)|(TDCU1ZZ)|((([A-PR-UWYZ][0-9][0-9]?)|"
    		."(([A-PR-UWYZ][A-HK-Y][0-9][0-9]?)|"
    			."(([A-PR-UWYZ][0-9][A-HJKSTUW])|"
    				."([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))))"
    					."[0-9][ABD-HJLNP-UW-Z]{2})$", $postcode)) {
    		return $postcode;				
    		}
    	else {
    		return FALSE;	
    	}	
	}
	function fileUploadOK($pathToDir) {
		if ((($_FILES["file"]["type"] == "image/gif")
			|| ($_FILES["file"]["type"] == "image/jpeg"))
				&& ($_FILES["file"]["size"] < 80000)) {
  			return $pathToDir;
			}
		else {
  			return FALSE;
  		}
	}
	if ($_POST['gender']== "") {
		$errors['gender'] = "<p>Please select your gender</p>\n";
	}
	if (!ereg('^[a-zA-Z]\'-{2,75}$', $_POST['full_name'])) {
		$errors['full_name'] = "<p>Please enter your full name</p>\n";
	}
	if (!ereg('^[0-9a-zA-Z]\'-{2,49}$', $_POST['home_address'])) {
		$errors['home_address'] = "<p>Please enter your home address</p>\n";
	}
	if (!isUKPostcode($_POST['home_pcode'])) {
		$errors['home_pcode'] = "<p>Please enter your home postcode</p>\n";
	}
	if (!ereg('^[0-9a-zA-Z]\'-{2,49}$', $_POST['term_address'])) {
		$errors['term_address'] = "<p>Please enter your term address</p>\n";
	}
	if (!isUKPostcode($_POST['term_pcode'])) {
		$errors['term_pcode'] = "<p>Please enter your term postcode</p>\n";
	}
	if (!ereg('^(\+)[\s]*(.*)$', $_POST['home_phone'])) {
		$errors['home_phone'] = "<p>Please enter a valid home telephone number</p>\n";
	}
	if (!ereg('^\d{5} \d{6}$', $_POST['mob_phone'])) {
		$errors['mob_phone'] = "<p>Please enter a valid mobile telephone number</p>\n";
	}
	if (!ereg('^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.([a-zA-Z]{2,4})$', $_POST['email'])) {
		$errors['email'] = "<p>Please enter a valid email address</p>\n";
	}
	if ($_POST['country']= "") {
		$errors['country'] = "<p>Please select your nationality</p>";
	}
	if ($_POST['dobDay']= "") {
		$errors['dobDay'] = "<p>Please select the day of your Date of Birth</p>";
	}
	if ($_POST['dobMonth']= "") {
		$errors['dobMonth'] = "<p>Please select the month of your Date of Birth</p>";
	}
	if (!ereg("[0-9]{4}", $_POST['dobYear'])) {
		$errors['dobYear'] = "<p>Please enter the year of your Date of Birth</p>";
	}
	if (!ereg('^[a-zA-Z]$', $_POST['objective'])) {
		$errors['objective'] = "<p>Please state your objective</p>";
	}
	if (!ereg('^[a-zA-Z]$', $_POST['preference'])) {
		$errors['preference'] = "<p>Please state your preference</p>";
	}
	if (!ereg('^[a-zA-Z]$', $_POST['skills'])) {
		$errors['skills'] = "<p>Please state your skills</p>";
	}
	if (fileUploadOK($_POST['photograph'])) {
		$errors ['photograph']= "<p>Please upload a valid photograph: " 
			. $_FILES["file"]["error"] . "</p>";
    	}  
    return $errors;
	}

function print_form() {
printf('
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Erasmus CV Generator</title>
<!--  link rel="stylesheet" type="text/css" href="template_css.css" />  -->
</head>
<body>
<h1>Erasmus CV Generator</h1>
<hr>
<form method="post" action="%s">
<table border="0">
		<tr><td>Gender:</td>
			<td><select name="gender">
				<option value="">--Please Select--</option>
				<option value="m">Male</option>
				<option value="f">Female</option></select></td></tr>
		<tr><td>Full Name:</td>
			<td><input type="text" name="full_name" size="30"  maxlength="75">
			<input type="hidden" name="stage" value="process"></td></tr>
		<tr><td>Course:</td>
			<td><select name="pathway">
				<option value="">--Please Select--</option>
				<option value="ceng">Computer Engineering</option>
				<option value="cnmd">Computer Network Management & Design</option>
				<option value="it">Internet Technology</option></select></td></tr>
		<tr><td valign="top">Home Address: </td>
			<td><input type="text" name="home_address[1]" size="30"  maxlength="50"></td></tr>
		<tr><td>&nbsp;</td>
			<td><input type="text" name="home_address[2]" size="30"  maxlength="50"></td></tr>
		<tr><td>&nbsp;</td>
			<td><input type="text" name="home_address[3]" size="30"  maxlength="50"></td></tr>
		<tr><td>&nbsp;</td>
			<td><input type="text" name="home_address[4]" size="30"  maxlength="50"></td></tr>
		<tr><td>Postcode:</td>
			<td><input type="text" name="home_pcode" size="15"  maxlength="15"></td></tr>
		<tr><td valign="top">Term Address: </td>
			<td><input type="text" name="term_address[1]" size="30"  maxlength="30"></td></tr>
		<tr><td>&nbsp;</td>
			<td><input type="text" name="term_address[2]" size="30"  maxlength="30"></td></tr>
		<tr><td>&nbsp;</td>
			<td><input type="text" name="term_address[3]" size="30" maxlength="30"></td></tr>
		<tr><td>&nbsp;</td>
			<td><input type="text" name="term_address[4]" size="30"  maxlength="30"></td></tr>
		<tr><td>Postcode:</td>
			<td><input type="text" name="term_pcode" size="15"  maxlength="15"></td></tr>
		<tr><td>Home Phone Number:</td>
			<td><input type="text" name="home_phone" size="30"  maxlength="50"></td></tr>
		<tr><td>Mobile Phone Number:</td>
			<td><input type="text" name="mob_phone" size="30"  maxlength="50"></td></tr>
		<tr><td >Email:</td>
			<td><input type="text" name="email" size="30"  maxlength="80"></td></tr>
		<tr><td>Nationality:</td>
			<td><select name="country">
				<option value="">--Please Select--</option>
				<option value="AF">AFGHANISTAN</option>
				<option value="AL">ALBANIA</option>
				<option value="DZ">ALGERIA</option>
				<option value="AS">AMERICAN SAMOA</option>
				<option value="AD">ANDORRA</option>
				<option value="AO">ANGOLA</option>
				<option value="AI">ANGUILLA</option>
				<option value="AQ">ANTARCTICA</option>
				<option value="AG">ANTIGUA AND BARBUDA</option>
				<option value="AR">ARGENTINA</option>
				<option value="AM">ARMENIA</option>
				<option value="AW">ARUBA</option>
				<option value="AU">AUSTRALIA</option>
				<option value="AT">AUSTRIA</option>
				<option value="AZ">AZERBAIJAN</option>
				<option value="BS">BAHAMAS</option>
				<option value="BH">BAHRAIN</option>
				<option value="BD">BANGLADESH</option>
				<option value="BB">BARBADOS</option>
				<option value="BY">BELARUS</option>
				<option value="BE">BELGIUM</option>
				<option value="BZ">BELIZE</option>
				<option value="BJ">BENIN</option>
				<option value="BM">BERMUDA</option>
				<option value="BT">BHUTAN</option>
				<option value="BO">BOLIVIA</option>
				<option value="BA">BOSNIA AND HERZEGOVINA</option>
				<option value="BW">BOTSWANA</option>
				<option value="BV">BOUVET ISLAND</option>
				<option value="BR">BRAZIL</option>
				<option value="IO">BRITISH INDIAN OCEAN TERRITORY</option>
				<option value="BN">BRUNEI DARUSSALAM</option>
				<option value="BG">BULGARIA</option>
				<option value="BF">BURKINA FASO</option>
				<option value="BI">BURUNDI</option>
				<option value="KH">CAMBODIA</option>
				<option value="CM">CAMEROON</option>
				<option value="CA">CANADA</option>
				<option value="CV">CAPE VERDE</option>
				<option value="KY">CAYMAN ISLANDS</option>
				<option value="CF">CENTRAL AFRICAN REPUBLIC</option>
				<option value="TD">CHAD</option>
				<option value="CL">CHILE</option>
				<option value="CN">CHINA</option>
				<option value="CX">CHRISTMAS ISLAND</option>
				<option value="CC">COCOS (KEELING) ISLANDS</option>
				<option value="CO">COLOMBIA</option>
				<option value="KM">COMOROS</option>
				<option value="CG">CONGO</option>
				<option value="CD">CONGO, THE DEMOCRATIC REPUBLIC OF THE</option>
				<option value="CK">COOK ISLANDS</option>
				<option value="CR">COSTA RICA</option>
				<option value="CI">COTE D IVOIRE</option>
				<option value="HR">CROATIA</option>
				<option value="CU">CUBA</option>
				<option value="CY">CYPRUS</option>
				<option value="CZ">CZECH REPUBLIC</option>
				<option value="DK">DENMARK</option>
				<option value="DJ">DJIBOUTI</option>
				<option value="DM">DOMINICA</option>
				<option value="DO">DOMINICAN REPUBLIC</option>
				<option value="EC">ECUADOR</option>
				<option value="EG">EGYPT</option>
				<option value="SV">EL SALVADOR</option>
				<option value="GQ">EQUATORIAL GUINEA</option>
				<option value="ER">ERITREA</option>
				<option value="EE">ESTONIA</option>
				<option value="ET">ETHIOPIA</option>
				<option value="FK">FALKLAND ISLANDS (MALVINAS)</option>
				<option value="FO">FAROE ISLANDS</option>
				<option value="FJ">FIJI</option>
				<option value="FI">FINLAND</option>
				<option value="FR">FRANCE</option>
				<option value="GF">FRENCH GUIANA</option>
				<option value="PF">FRENCH POLYNESIA</option>
				<option value="TF">FRENCH SOUTHERN TERRITORIES</option>
				<option value="GA">GABON</option>
				<option value="GM">GAMBIA</option>
				<option value="GE">GEORGIA</option>
				<option value="DE">GERMANY</option>
				<option value="GH">GHANA</option>
				<option value="GI">GIBRALTAR</option>
				<option value="GR">GREECE</option>
				<option value="GL">GREENLAND</option>
				<option value="GD">GRENADA</option>
				<option value="GP">GUADELOUPE</option>
				<option value="GU">GUAM</option>
				<option value="GT">GUATEMALA</option>
				<option value="GN">GUINEA</option>
				<option value="GW">GUINEA-BISSAU</option>
				<option value="GY">GUYANA</option>
				<option value="HT">HAITI</option>
				<option value="VA">HOLY SEE (VATICAN CITY STATE)</option>
				<option value="HN">HONDURAS</option>
				<option value="HK">HONG KONG</option>
				<option value="HU">HUNGARY</option>
				<option value="IS">ICELAND</option>
				<option value="IN">INDIA</option>
				<option value="ID">INDONESIA</option>
				<option value="IR">IRAN, ISLAMIC REPUBLIC OF</option>
				<option value="IQ">IRAQ</option>
				<option value="IE">IRELAND</option>
				<option value="IL">ISRAEL</option>
				<option value="IT">ITALY</option>
				<option value="JM">JAMAICA</option>
				<option value="JP">JAPAN</option>
				<option value="JO">JORDAN</option>
				<option value="KZ">KAZAKHSTAN</option>
				<option value="KE">KENYA</option>
				<option value="KI">KIRIBATI</option>
				<option value="KP">KOREA, DEMOCRATIC PEOPLES REPUBLIC OF</option>
				<option value="KR">KOREA, REPUBLIC OF</option>
				<option value="KW">KUWAIT</option>
				<option value="KG">KYRGYZSTAN</option>
				<option value="LA">LAO PEOPLES DEMOCRATIC REPUBLIC</option>
				<option value="LV">LATVIA</option>
				<option value="LB">LEBANON</option>
				<option value="LS">LESOTHO</option>
				<option value="LR">LIBERIA</option>
				<option value="LY">LIBYAN ARAB JAMAHIRIYA</option>
				<option value="LI">LIECHTENSTEIN</option>
				<option value="LT">LITHUANIA</option>
				<option value="LU">LUXEMBOURG</option>
				<option value="MO">MACAO</option>
				<option value="MK">MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF</option>
				<option value="MG">MADAGASCAR</option>
				<option value="MW">MALAWI</option>
				<option value="MY">MALAYSIA</option>
				<option value="MV">MALDIVES</option>
				<option value="ML">MALI</option>
				<option value="MT">MALTA</option>
				<option value="MH">MARSHALL ISLANDS</option>
				<option value="MQ">MARTINIQUE</option>
				<option value="MR">MAURITANIA</option>
				<option value="MU">MAURITIUS</option>
				<option value="MX">MEXICO</option>
				<option value="FM">MICRONESIA, FEDERATED STATES OF</option>
				<option value="MD">MOLDOVA, REPUBLIC OF</option>
				<option value="MC">MONACO</option>
				<option value="MN">MONGOLIA</option>
				<option value="MS">MONTSERRAT</option>
				<option value="MA">MOROCCO</option>
				<option value="MZ">MOZAMBIQUE</option>
				<option value="MM">MYANMAR</option>
				<option value="NA">NAMIBIA</option>
				<option value="NR">NAURU</option>
				<option value="NP">NEPAL</option>
				<option value="NL">NETHERLANDS</option>
				<option value="AN">NETHERLANDS ANTILLES</option>
				<option value="NC">NEW CALEDONIA</option>
				<option value="NZ">NEW ZEALAND</option>
				<option value="NI">NICARAGUA</option>
				<option value="NE">NIGER</option>
				<option value="NG">NIGERIA</option>
				<option value="NU">NIUE</option>
				<option value="NF">NORFOLK ISLAND</option>
				<option value="MP">NORTHERN MARIANA ISLANDS</option>
				<option value="NO">NORWAY</option>
				<option value="OM">OMAN</option>
				<option value="PK">PAKISTAN</option>
				<option value="PW">PALAU</option>
				<option value="PA">PANAMA</option>
				<option value="PG">PAPUA NEW GUINEA</option>
				<option value="PY">PARAGUAY</option>
				<option value="PE">PERU</option>
				<option value="PH">PHILIPPINES</option>
				<option value="PN">PITCAIRN</option>
				<option value="PL">POLAND</option>
				<option value="PT">PORTUGAL</option>
				<option value="PR">PUERTO RICO</option>
				<option value="QA">QATAR</option>
				<option value="RE">REUNION</option>
				<option value="RO">ROMANIA</option>
				<option value="RU">RUSSIAN FEDERATION</option>
				<option value="RW">RWANDA</option>
				<option value="SH">SAINT HELENA</option>
				<option value="KN">SAINT KITTS AND NEVIS</option>
				<option value="LC">SAINT LUCIA</option>
				<option value="PM">SAINT PIERRE AND MIQUELON</option>
				<option value="VC">SAINT VINCENT AND THE GRENADINES</option>
				<option value="WS">SAMOA</option>
				<option value="SM">SAN MARINO</option>
				<option value="ST">SAO TOME AND PRINCIPE</option>
				<option value="SA">SAUDI ARABIA</option>
				<option value="SN">SENEGAL</option>
				<option value="SC">SEYCHELLES</option>
				<option value="SL">SIERRA LEONE</option>
				<option value="SG">SINGAPORE</option>
				<option value="SK">SLOVAKIA</option>
				<option value="SI">SLOVENIA</option>
				<option value="SB">SOLOMON ISLANDS</option>
				<option value="SO">SOMALIA</option>
				<option value="ZA">SOUTH AFRICA</option>
				<option value="ES">SPAIN</option>
				<option value="LK">SRI LANKA</option>
				<option value="SD">SUDAN</option>
				<option value="SR">SURINAME</option>
				<option value="SJ">SVALBARD AND JAN MAYEN</option>
				<option value="SZ">SWAZILAND</option>
				<option value="SE">SWEDEN</option>
				<option value="CH">SWITZERLAND</option>
				<option value="SY">SYRIAN ARAB REPUBLIC</option>
				<option value="TW">TAIWAN, PROVINCE OF CHINA</option>
				<option value="TJ">TAJIKISTAN</option>
				<option value="TZ">TANZANIA, UNITED REPUBLIC OF</option>
				<option value="TH">THAILAND</option>
				<option value="TG">TOGO</option>
				<option value="TK">TOKELAU</option>
				<option value="TO">TONGA</option>
				<option value="TT">TRINIDAD AND TOBAGO</option>
				<option value="TN">TUNISIA</option>
				<option value="TR">TURKEY</option>
				<option value="TM">TURKMENISTAN</option>
				<option value="TC">TURKS AND CAICOS ISLANDS</option>
				<option value="TV">TUVALU</option>
				<option value="UG">UGANDA</option>
				<option value="UA">UKRAINE</option>
				<option value="AE">UNITED ARAB EMIRATES</option>
				<option value="GB" selected>UNITED KINGDOM</option>
				<option value="US">UNITED STATES</option>
				<option value="UY">URUGUAY</option>
				<option value="UZ">UZBEKISTAN</option>
				<option value="VU">VANUATU</option>
				<option value="VE">VENEZUELA</option>
				<option value="VN">VIET NAM</option>
				<option value="VG">VIRGIN ISLANDS, BRITISH</option>
				<option value="VI">VIRGIN ISLANDS, U.S.</option>
				<option value="WF">WALLIS AND FUTUNA</option>
				<option value="EH">WESTERN SAHARA</option>
				<option value="YE">YEMEN</option>
				<option value="ZM">ZAMBIA</option>
				<option value="ZW">ZIMBABWE</option></select></td></tr>
		<tr><td>Date of Birth:</td>
			<td><select name="dobDay">
				<option value="0">--Day--</option>
				<option value="1">1</option>
				<option value="2">2</option>
				<option value="3">3</option>
				<option value="4">4</option>
				<option value="5">5</option>
				<option value="6">6</option>
				<option value="7">7</option>
				<option value="8">8</option>
				<option value="9">9</option>
				<option value="10">10</option>
				<option value="11">11</option>
				<option value="12">12</option>
				<option value="13">13</option>
				<option value="14">14</option>
				<option value="15">15</option>
				<option value="16">16</option>
				<option value="17">17</option>
				<option value="18">18</option>
				<option value="19">19</option>
				<option value="20">20</option>
				<option value="21">21</option>
				<option value="22">22</option>
				<option value="23">23</option>
				<option value="24">24</option>
				<option value="25">25</option>
				<option value="26">26</option>
				<option value="27">27</option>
				<option value="28">28</option>
				<option value="29">29</option>
				<option value="30">30</option>
				<option value="31">31</option></select>
			<select name="dobMonth">
				<option value="0">--Month--</option>
				<option value="1">January</Option>
				<option value="2">February</Option>
				<option value="3">March</Option>
				<option value="4">April</Option>
				<option value="5">May</Option>
				<option value="6">June</Option>
				<option value="7">July</Option>
				<option value="8">August</Option>
				<option value="9">September</Option>
				<option value="10">October</Option>
				<option value="11">November</Option>
				<option value="12">December</Option></select>
			--Year--<input type="text" name="dobYear" size="4"  maxlength="4" /></td></tr>
		<tr><td valign="top">Objective: </td>
			<td><textarea cols="100" rows="6" name="objective"></textarea></td></tr>
		<tr><td valign="top">Placement Preference: </td>
			<td><textarea cols="100" rows="6" name="preference"></textarea></td></tr>
		<tr><td valign="top" >Transferable skills: </td>
			<td><textarea cols="100" rows="6" name="skills"></textarea></td></tr>
		<tr><td valign="top"><p>Please upload your photograph.  The file must be gif/jpeg format and less than 80 KB in size.</p></td>
			<td>Select Picture: <input type="file" name="photograph" size"80"></td>
			<td><input type="hidden" name="MAX_FILE_SIZE" value="81920"></td></tr>
		<tr><td>&nbsp;</td></tr>
		<tr><td><input type="submit" value="Generate CV!"></td></tr>
	</table>
</form>
</body>
</html>', $_SERVER["PHP_SELF"]);
}
?>