Jump to content

retain selected item from drop down list after php validation


laxi
Go to solution Solved by fastsol,

Recommended Posts

Hi all,

 

I am trying to validate all required fields in my contact form using php.


However I am unable to retain what was selected in my country dropdown list after it is selected and

submitted if the form had errror while validating.

I want the form to retain the value that was selected by the user to stay in the form so that users can

make necessary changes and resubmit the form

 

all other values stay in the form except the country dropdown.

 

Please help


Below is the code.

<!DOCTYPE HTML> 
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body> 

<?php
// define variables and set to empty values
$nameErr = $emailErr = $genderErr = $websiteErr = $countryErr = "";
$name = $email = $gender = $comment = $website = "";
$country ="";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
   if (empty($_POST["name"])) {
     $nameErr = "Name is required";
   } else {
     $name = test_input($_POST["name"]);
     // check if name only contains letters and whitespace
     if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
       $nameErr = "Only letters and white space allowed"; 
     }
   }
   
   if (empty($_POST["email"])) {
     $emailErr = "Email is required";
   } else {
     $email = test_input($_POST["email"]);
     // check if e-mail address syntax is valid
     if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
       $emailErr = "Invalid email format";
     }
   }
     
   if (empty($_POST["website"])) {
     $website = "";
   } else {
     $website = test_input($_POST["website"]);
     // check if URL address syntax is valid (this regular expression also allows dashes in the URL)
     if (!preg_match("/\b(??:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
       $websiteErr = "Invalid URL"; 
     }
   }

   if (empty($_POST["comment"])) {
     $comment = "";
   } else {
     $comment = test_input($_POST["comment"]);
   }

   if (empty($_POST["gender"])) {
     $genderErr = "Gender is required";
   } else {
     $gender = test_input($_POST["gender"]);
   }
  $country = $_POST['country'];
if (!in_array($country, array("AF",	"AX",	"AL",	"DZ",	"AS",	"AD",	"AO",	"AI",	"AQ",	"AG",	"AR",	"AM",	"AW",	"AU",	"AT",	"AZ",	"BS",	"BH",	"BD",	"BB",	"BY",	"BE",	"BZ",	"BJ",	"BM",	"BT",	"BO",	"BA",	"BW",	"BV",	"BR",	"IO",	"BN",	"BG",	"BF",	"BI",	"KH",	"CM",	"CA",	"CV",	"KY",	"CF",	"TD",	"CL",	"CN",	"CX",	"CC",	"CO",	"KM",	"CG",	"CD",	"CK",	"CR",	"CI",	"HR",	"CU",	"CY",	"CZ",	"DK",	"DJ",	"DM",	"DO",	"EC",	"EG",	"SV",	"GQ",	"ER",	"EE",	"ET",	"FK",	"FO",	"FJ",	"FI",	"FR",	"GF",	"PF",	"TF",	"GA",	"GM",	"GE",	"DE",	"GH",	"GI",	"GR",	"GL",	"GD",	"GP",	"GU",	"GT",	"Gg",	"GN",	"GW",	"GY",	"HT",	"HM",	"VA",	"HN",	"HK",	"HU",	"IS",	"IN",	"ID",	"IR",	"IQ",	"IE",	"IM",	"IL",	"IT",	"JM",	"JP",	"JE",	"JO",	"KZ",	"KE",	"KI",	"KP",	"KR",	"KW",	"KG",	"LA",	"LV",	"LB",	"LS",	"LR",	"LY",	"LI",	"LT",	"LU",	"MO",	"MK",	"MG",	"MW",	"MY",	"MV",	"ML",	"MT",	"MH",	"MQ",	"MR",	"MU",	"YT",	"MX",	"FM",	"MD",	"MC",	"MN",	"MS",	"MA",	"MZ",	"MM",	"NA",	"NR",	"NP",	"NL",	"AN",	"NC",	"NZ",	"NI",	"NE",	"NG",	"NU",	"NF",	"MP",	"NO",	"OM",	"PK",	"PW",	"PS",	"PA",	"PG",	"PY",	"PE",	"PH",	"PN",	"PL",	"PT",	"PR",	"QA",	"RE",	"RO",	"RU",	"RW",	"SH",	"KN",	"LC",	"PM",	"VC",	"WS",	"SM",	"ST",	"SA",	"SN",	"CS",	"SC",	"SL",	"SG",	"SK",	"SI",	"SB",	"SO",	"ZA",	"GS",	"ES",	"LK",	"SD",	"SR",	"SJ",	"SZ",	"SE",	"CH",	"SY",	"TW",	"TJ",	"TZ",	"TH",	"TL",	"TG",	"TK",	"TO",	"TT",	"TN",	"TR",	"TM",	"TC",	"TV",	"UG",	"UA",	"AE",	"GB",	"US",	"UM",	"UY",	"UZ",	"VU",	"VE",	"VN",	"VG",	"VI",	"WF",	"EH",	"YE",	"ZM",	"ZW"
))) {
    $country1 = "Please select your country";}
	
		
	
 
}

function test_input($data) {
   $data = trim($data);
   $data = stripslashes($data);
   $data = htmlspecialchars($data);
   return $data;
}
?>

<h2>contact us</h2>
<p><span class="error">* required field.</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
   Name: <input type="text" name="name" value="<?php echo $name;?>">
   <span class="error">* <?php echo $nameErr;?></span>
   <br><br>
   E-mail: <input type="text" name="email" value="<?php echo $email;?>">
   <span class="error">* <?php echo $emailErr;?></span>
   <br><br>
   
        <legend>Country:</legend> 
        <select name="country"> 
            <option value="NULL">select</option>             
<option value="AF">Afghanistan</option>
<option value="AX">Ã…Land Islands</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="Gg">Guernsey</option>
<option value="GN">Guinea</option>
<option value="GW">Guinea-Bissau</option>
<option value="GY">Guyana</option>
<option value="HT">Haiti</option>
<option value="HM">Heard Island And Mcdonald Islands</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="IM">Isle Of Man</option>
<option value="IL">Israel</option>
<option value="IT">Italy</option>
<option value="JM">Jamaica</option>
<option value="JP">Japan</option>
<option value="JE">Jersey</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 People'S Republic Of</option>
<option value="KR">Korea, Republic Of</option>
<option value="KW">Kuwait</option>
<option value="KG">Kyrgyzstan</option>
<option value="LA">Lao People'S 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="YT">Mayotte</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="PS">Palestinian Territory, Occupied</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="CS">Serbia And Montenegro</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="GS">South Georgia And The South Sandwich Islands</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="TL">Timor-Leste</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">United Kingdom</option>
<option value="US">United States</option>
<option value="UM">United States Minor Outlying Islands</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>

    
    
    
   <span class="error">*<?php echo $country1;?></span>
   <br><br>
   Website: <input type="text" name="website" value="<?php echo $website;?>">
   <span class="error"><?php echo $websiteErr;?></span>
   <br><br>
   Gender:
   <input type="radio" name="gender" <?php if (isset($gender) && $gender=="female") echo "checked";?>  value="female">Female
   <input type="radio" name="gender" <?php if (isset($gender) && $gender=="male") echo "checked";?>  value="male">Male
   <span class="error">* <?php echo $genderErr;?></span>
   <br><br>
   
    Comment: <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea>
   <br><br>
   <input type="submit" name="submit" value="Submit"> 
</form>


</body>
</html>
Edited by Ch0cu3r
Reformatted post
Link to comment
Share on other sites

You need to read up on your html.  Add 'selected' to the <option> tag that was selected on your output side when  you re-send it to the client.

 

PS - It would be easier and smarted if you used your country array to generate the options in a loop - and it would help do the above enhancement easier.

Link to comment
Share on other sites

Hi

 

I wet ahead as per the instructions on the link.

 

Am still unable to retain the selection,

 

Please check the contacts form in wikigets.com

 

updated code below .

 

please advice

<!DOCTYPE HTML> 
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body> 

<?php
// define variables and set to empty values
$nameErr = $emailErr = $genderErr = $websiteErr = $countryErr = "";
$name = $email = $gender = $comment = $website = "";
$country ="";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
   if (empty($_POST["name"])) {
     $nameErr = "Name is required";
   } else {
     $name = test_input($_POST["name"]);
     // check if name only contains letters and whitespace
     if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
       $nameErr = "Only letters and white space allowed"; 
     }
   }
   
   if (empty($_POST["email"])) {
     $emailErr = "Email is required";
   } else {
     $email = test_input($_POST["email"]);
     // check if e-mail address syntax is valid
     if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
       $emailErr = "Invalid email format";
     }
   }
     
   if (empty($_POST["website"])) {
     $website = "";
   } else {
     $website = test_input($_POST["website"]);
     // check if URL address syntax is valid (this regular expression also allows dashes in the URL)
     if (!preg_match("/\b(??:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
       $websiteErr = "Invalid URL"; 
     }
   }

   if (empty($_POST["comment"])) {
     $comment = "";
   } else {
     $comment = test_input($_POST["comment"]);
   }

   if (empty($_POST["gender"])) {
     $genderErr = "Gender is required";
   } else {
     $gender = test_input($_POST["gender"]);
   }
  $country = $_POST['country'];
if (!in_array($country, array("Afghanistan",	"Ã…Land Islands",	"Albania",	"Algeria",	"American Samoa",	"Andorra",	"Angola",	"Anguilla",	"Antarctica",	"Antigua And Barbuda",	"Argentina",	"Armenia",	"Aruba",	"Australia",	"Austria",	"Azerbaijan",	"Bahamas",	"Bahrain",	"Bangladesh",	"Barbados",	"Belarus",	"Belgium",	"Belize",	"Benin",	"Bermuda",	"Bhutan",	"Bolivia",	"Bosnia And Herzegovina",	"Botswana",	"Bouvet Island",	"Brazil",	"British Indian Ocean Territory",	"Brunei Darussalam",	"Bulgaria",	"Burkina Faso",	"Burundi",	"Cambodia",	"Cameroon",	"Canada",	"Cape Verde",	"Cayman Islands",	"Central African Republic",	"Chad",	"Chile",	"China",	"Christmas Island",	"Cocos (Keeling) Islands",	"Colombia",	"Comoros",	"Congo",	"Congo, The Democratic Republic Of The",	"Cook Islands",	"Costa Rica",	"Cote D'Ivoire",	"Croatia",	"Cuba",	"Cyprus",	"Czech Republic",	"Denmark",	"Djibouti",	"Dominica",	"Dominican Republic",	"Ecuador",	"Egypt",	"El Salvador",	"Equatorial Guinea",	"Eritrea",	"Estonia",	"Ethiopia",	"Falkland Islands (Malvinas)",	"Faroe Islands",	"Fiji",	"Finland",	"France",	"French Guiana",	"French Polynesia",	"French Southern Territories",	"Gabon",	"Gambia",	"Georgia",	"Germany",	"Ghana",	"Gibraltar",	"Greece",	"Greenland",	"Grenada",	"Guadeloupe",	"Guam",	"Guatemala",	"Guernsey",	"Guinea",	"Guinea-Bissau",	"Guyana",	"Haiti",	"Heard Island And Mcdonald Islands",	"Holy See (Vatican City State)",	"Honduras",	"Hong Kong",	"Hungary",	"Iceland",	"India",	"Indonesia",	"Iran, Islamic Republic Of",	"Iraq",	"Ireland",	"Isle Of Man",	"Israel",	"Italy",	"Jamaica",	"Japan",	"Jersey",	"Jordan",	"Kazakhstan",	"Kenya",	"Kiribati",	"Korea, Democratic People'S Republic Of",	"Korea, Republic Of",	"Kuwait",	"Kyrgyzstan",	"Lao People'S Democratic Republic",	"Latvia",	"Lebanon",	"Lesotho",	"Liberia",	"Libyan Arab Jamahiriya",	"Liechtenstein",	"Lithuania",	"Luxembourg",	"Macao",	"Macedonia, The Former Yugoslav Republic Of",	"Madagascar",	"Malawi",	"Malaysia",	"Maldives",	"Mali",	"Malta",	"Marshall Islands",	"Martinique",	"Mauritania",	"Mauritius",	"Mayotte",	"Mexico",	"Micronesia, Federated States Of",	"Moldova, Republic Of",	"Monaco",	"Mongolia",	"Montserrat",	"Morocco",	"Mozambique",	"Myanmar",	"Namibia",	"Nauru",	"Nepal",	"Netherlands",	"Netherlands Antilles",	"New Caledonia",	"New Zealand",	"Nicaragua",	"Niger",	"Nigeria",	"Niue",	"Norfolk Island",	"Northern Mariana Islands",	"Norway",	"Oman",	"Pakistan",	"Palau",	"Palestinian Territory, Occupied",	"Panama",	"Papua New Guinea",	"Paraguay",	"Peru",	"Philippines",	"Pitcairn",	"Poland",	"Portugal",	"Puerto Rico",	"Qatar",	"Reunion",	"Romania",	"Russian Federation",	"Rwanda",	"Saint Helena",	"Saint Kitts And Nevis",	"Saint Lucia",	"Saint Pierre And Miquelon",	"Saint Vincent And The Grenadines",	"Samoa",	"San Marino",	"Sao Tome And Principe",	"Saudi Arabia",	"Senegal",	"Serbia And Montenegro",	"Seychelles",	"Sierra Leone",	"Singapore",	"Slovakia",	"Slovenia",	"Solomon Islands",	"Somalia",	"South Africa",	"South Georgia And The South Sandwich Islands",	"Spain",	"Sri Lanka",	"Sudan",	"Suriname",	"Svalbard And Jan Mayen",	"Swaziland",	"Sweden",	"Switzerland",	"Syrian Arab Republic",	"Taiwan, Province Of China",	"Tajikistan",	"Tanzania, United Republic Of",	"Thailand",	"Timor-Leste",	"Togo",	"Tokelau",	"Tonga",	"Trinidad And Tobago",	"Tunisia",	"Turkey",	"Turkmenistan",	"Turks And Caicos Islands",	"Tuvalu",	"Uganda",	"Ukraine",	"United Arab Emirates",	"United Kingdom",	"United States",	"United States Minor Outlying Islands",	"Uruguay",	"Uzbekistan",	"Vanuatu",	"Venezuela",	"Viet Nam",	"Virgin Islands, British",	"Virgin Islands, U.S.",	"Wallis And Futuna",	"Western Sahara",	"Yemen",	"Zambia",	"Zimbabwe"
))) {
    $country1 = "Please select your country";}
	
		
	
 
}

function test_input($data) {
   $data = trim($data);
   $data = stripslashes($data);
   $data = htmlspecialchars($data);
   return $data;
}
?>

<h2>contact us</h2>
<p><span class="error">* required field.</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
   Name: <input type="text" name="name" value="<?php echo $name;?>">
   <span class="error">* <?php echo $nameErr;?></span>
   <br><br>
   E-mail: <input type="text" name="email" value="<?php echo $email;?>">
   <span class="error">* <?php echo $emailErr;?></span>
   <br><br>
   
   <?php     
$item = 'India';

$country= array("select","Afghanistan",	"Ã…Land Islands",	"Albania",	"Algeria",	"American Samoa",	"Andorra",	"Angola",	"Anguilla",	"Antarctica",	"Antigua And Barbuda",	"Argentina",	"Armenia",	"Aruba",	"Australia",	"Austria",	"Azerbaijan",	"Bahamas",	"Bahrain",	"Bangladesh",	"Barbados",	"Belarus",	"Belgium",	"Belize",	"Benin",	"Bermuda",	"Bhutan",	"Bolivia",	"Bosnia And Herzegovina",	"Botswana",	"Bouvet Island",	"Brazil",	"British Indian Ocean Territory",	"Brunei Darussalam",	"Bulgaria",	"Burkina Faso",	"Burundi",	"Cambodia",	"Cameroon",	"Canada",	"Cape Verde",	"Cayman Islands",	"Central African Republic",	"Chad",	"Chile",	"China",	"Christmas Island",	"Cocos (Keeling) Islands",	"Colombia",	"Comoros",	"Congo",	"Congo, The Democratic Republic Of The",	"Cook Islands",	"Costa Rica",	"Cote D'Ivoire",	"Croatia",	"Cuba",	"Cyprus",	"Czech Republic",	"Denmark",	"Djibouti",	"Dominica",	"Dominican Republic",	"Ecuador",	"Egypt",	"El Salvador",	"Equatorial Guinea",	"Eritrea",	"Estonia",	"Ethiopia",	"Falkland Islands (Malvinas)",	"Faroe Islands",	"Fiji",	"Finland",	"France",	"French Guiana",	"French Polynesia",	"French Southern Territories",	"Gabon",	"Gambia",	"Georgia",	"Germany",	"Ghana",	"Gibraltar",	"Greece",	"Greenland",	"Grenada",	"Guadeloupe",	"Guam",	"Guatemala",	"Guernsey",	"Guinea",	"Guinea-Bissau",	"Guyana",	"Haiti",	"Heard Island And Mcdonald Islands",	"Holy See (Vatican City State)",	"Honduras",	"Hong Kong",	"Hungary",	"Iceland",	"India",	"Indonesia",	"Iran, Islamic Republic Of",	"Iraq",	"Ireland",	"Isle Of Man",	"Israel",	"Italy",	"Jamaica",	"Japan",	"Jersey",	"Jordan",	"Kazakhstan",	"Kenya",	"Kiribati",	"Korea, Democratic People'S Republic Of",	"Korea, Republic Of",	"Kuwait",	"Kyrgyzstan",	"Lao People'S Democratic Republic",	"Latvia",	"Lebanon",	"Lesotho",	"Liberia",	"Libyan Arab Jamahiriya",	"Liechtenstein",	"Lithuania",	"Luxembourg",	"Macao",	"Macedonia, The Former Yugoslav Republic Of",	"Madagascar",	"Malawi",	"Malaysia",	"Maldives",	"Mali",	"Malta",	"Marshall Islands",	"Martinique",	"Mauritania",	"Mauritius",	"Mayotte",	"Mexico",	"Micronesia, Federated States Of",	"Moldova, Republic Of",	"Monaco",	"Mongolia",	"Montserrat",	"Morocco",	"Mozambique",	"Myanmar",	"Namibia",	"Nauru",	"Nepal",	"Netherlands",	"Netherlands Antilles",	"New Caledonia",	"New Zealand",	"Nicaragua",	"Niger",	"Nigeria",	"Niue",	"Norfolk Island",	"Northern Mariana Islands",	"Norway",	"Oman",	"Pakistan",	"Palau",	"Palestinian Territory, Occupied",	"Panama",	"Papua New Guinea",	"Paraguay",	"Peru",	"Philippines",	"Pitcairn",	"Poland",	"Portugal",	"Puerto Rico",	"Qatar",	"Reunion",	"Romania",	"Russian Federation",	"Rwanda",	"Saint Helena",	"Saint Kitts And Nevis",	"Saint Lucia",	"Saint Pierre And Miquelon",	"Saint Vincent And The Grenadines",	"Samoa",	"San Marino",	"Sao Tome And Principe",	"Saudi Arabia",	"Senegal",	"Serbia And Montenegro",	"Seychelles",	"Sierra Leone",	"Singapore",	"Slovakia",	"Slovenia",	"Solomon Islands",	"Somalia",	"South Africa",	"South Georgia And The South Sandwich Islands",	"Spain",	"Sri Lanka",	"Sudan",	"Suriname",	"Svalbard And Jan Mayen",	"Swaziland",	"Sweden",	"Switzerland",	"Syrian Arab Republic",	"Taiwan, Province Of China",	"Tajikistan",	"Tanzania, United Republic Of",	"Thailand",	"Timor-Leste",	"Togo",	"Tokelau",	"Tonga",	"Trinidad And Tobago",	"Tunisia",	"Turkey",	"Turkmenistan",	"Turks And Caicos Islands",	"Tuvalu",	"Uganda",	"Ukraine",	"United Arab Emirates",	"United Kingdom",	"United States",	"United States Minor Outlying Islands",	"Uruguay",	"Uzbekistan",	"Vanuatu",	"Venezuela",	"Viet Nam",	"Virgin Islands, British",	"Virgin Islands, U.S.",	"Wallis And Futuna",	"Western Sahara",	"Yemen",	"Zambia",	"Zimbabwe"

);

echo '<select name="country">';
foreach($country as $c)
{
         $sel=''; // Set $sel to empty initially
	$tag = 'selected="selected"';
	
         if(isset($_POST['country']) && $_POST['country'] == $c)


	if($item == $c)
	{ $sel = $tag; }

elseif(!isset($_POST['country']) && $item == $c)
{ $sel = $tag; }
	


	echo '<option value="'.$c.'">'.$c.'</option>';
}
echo '</select>';

    ?>
    
    
   <span class="error">*<?php echo $country1;?></span>
   <br><br>
   Website: <input type="text" name="website" value="<?php echo $website;?>">
   <span class="error"><?php echo $websiteErr;?></span>
   <br><br>
   Gender:
   <input type="radio" name="gender" <?php if (isset($gender) && $gender=="female") echo "checked";?>  value="female">Female
   <input type="radio" name="gender" <?php if (isset($gender) && $gender=="male") echo "checked";?>  value="male">Male
   <span class="error">* <?php echo $genderErr;?></span>
   <br><br>
   
    Comment: <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea>
   <br><br>
   <input type="submit" name="submit" value="Submit"> 
</form>


</body>
</html>

 

Link to comment
Share on other sites

Updated that still no luck retaining the selection. .

 

code below, 

<!DOCTYPE HTML> 
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body> 

<?php
// define variables and set to empty values
$nameErr = $emailErr = $genderErr = $websiteErr = $countryErr = "";
$name = $email = $gender = $comment = $website = "";
$country ="";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
   if (empty($_POST["name"])) {
     $nameErr = "Name is required";
   } else {
     $name = test_input($_POST["name"]);
     // check if name only contains letters and whitespace
     if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
       $nameErr = "Only letters and white space allowed"; 
     }
   }
   
   if (empty($_POST["email"])) {
     $emailErr = "Email is required";
   } else {
     $email = test_input($_POST["email"]);
     // check if e-mail address syntax is valid
     if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
       $emailErr = "Invalid email format";
     }
   }
     
   if (empty($_POST["website"])) {
     $website = "";
   } else {
     $website = test_input($_POST["website"]);
     // check if URL address syntax is valid (this regular expression also allows dashes in the URL)
     if (!preg_match("/\b(??:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
       $websiteErr = "Invalid URL"; 
     }
   }

   if (empty($_POST["comment"])) {
     $comment = "";
   } else {
     $comment = test_input($_POST["comment"]);
   }

   if (empty($_POST["gender"])) {
     $genderErr = "Gender is required";
   } else {
     $gender = test_input($_POST["gender"]);
   }
   
  $country = $_POST['country'];
if (!in_array($country, array("Afghanistan",	"Ã…Land Islands",	"Albania",	"Algeria",	"American Samoa",	"Andorra",	"Angola",	"Anguilla",	"Antarctica",	"Antigua And Barbuda",	"Argentina",	"Armenia",	"Aruba",	"Australia",	"Austria",	"Azerbaijan",	"Bahamas",	"Bahrain",	"Bangladesh",	"Barbados",	"Belarus",	"Belgium",	"Belize",	"Benin",	"Bermuda",	"Bhutan",	"Bolivia",	"Bosnia And Herzegovina",	"Botswana",	"Bouvet Island",	"Brazil",	"British Indian Ocean Territory",	"Brunei Darussalam",	"Bulgaria",	"Burkina Faso",	"Burundi",	"Cambodia",	"Cameroon",	"Canada",	"Cape Verde",	"Cayman Islands",	"Central African Republic",	"Chad",	"Chile",	"China",	"Christmas Island",	"Cocos (Keeling) Islands",	"Colombia",	"Comoros",	"Congo",	"Congo, The Democratic Republic Of The",	"Cook Islands",	"Costa Rica",	"Cote D'Ivoire",	"Croatia",	"Cuba",	"Cyprus",	"Czech Republic",	"Denmark",	"Djibouti",	"Dominica",	"Dominican Republic",	"Ecuador",	"Egypt",	"El Salvador",	"Equatorial Guinea",	"Eritrea",	"Estonia",	"Ethiopia",	"Falkland Islands (Malvinas)",	"Faroe Islands",	"Fiji",	"Finland",	"France",	"French Guiana",	"French Polynesia",	"French Southern Territories",	"Gabon",	"Gambia",	"Georgia",	"Germany",	"Ghana",	"Gibraltar",	"Greece",	"Greenland",	"Grenada",	"Guadeloupe",	"Guam",	"Guatemala",	"Guernsey",	"Guinea",	"Guinea-Bissau",	"Guyana",	"Haiti",	"Heard Island And Mcdonald Islands",	"Holy See (Vatican City State)",	"Honduras",	"Hong Kong",	"Hungary",	"Iceland",	"India",	"Indonesia",	"Iran, Islamic Republic Of",	"Iraq",	"Ireland",	"Isle Of Man",	"Israel",	"Italy",	"Jamaica",	"Japan",	"Jersey",	"Jordan",	"Kazakhstan",	"Kenya",	"Kiribati",	"Korea, Democratic People'S Republic Of",	"Korea, Republic Of",	"Kuwait",	"Kyrgyzstan",	"Lao People'S Democratic Republic",	"Latvia",	"Lebanon",	"Lesotho",	"Liberia",	"Libyan Arab Jamahiriya",	"Liechtenstein",	"Lithuania",	"Luxembourg",	"Macao",	"Macedonia, The Former Yugoslav Republic Of",	"Madagascar",	"Malawi",	"Malaysia",	"Maldives",	"Mali",	"Malta",	"Marshall Islands",	"Martinique",	"Mauritania",	"Mauritius",	"Mayotte",	"Mexico",	"Micronesia, Federated States Of",	"Moldova, Republic Of",	"Monaco",	"Mongolia",	"Montserrat",	"Morocco",	"Mozambique",	"Myanmar",	"Namibia",	"Nauru",	"Nepal",	"Netherlands",	"Netherlands Antilles",	"New Caledonia",	"New Zealand",	"Nicaragua",	"Niger",	"Nigeria",	"Niue",	"Norfolk Island",	"Northern Mariana Islands",	"Norway",	"Oman",	"Pakistan",	"Palau",	"Palestinian Territory, Occupied",	"Panama",	"Papua New Guinea",	"Paraguay",	"Peru",	"Philippines",	"Pitcairn",	"Poland",	"Portugal",	"Puerto Rico",	"Qatar",	"Reunion",	"Romania",	"Russian Federation",	"Rwanda",	"Saint Helena",	"Saint Kitts And Nevis",	"Saint Lucia",	"Saint Pierre And Miquelon",	"Saint Vincent And The Grenadines",	"Samoa",	"San Marino",	"Sao Tome And Principe",	"Saudi Arabia",	"Senegal",	"Serbia And Montenegro",	"Seychelles",	"Sierra Leone",	"Singapore",	"Slovakia",	"Slovenia",	"Solomon Islands",	"Somalia",	"South Africa",	"South Georgia And The South Sandwich Islands",	"Spain",	"Sri Lanka",	"Sudan",	"Suriname",	"Svalbard And Jan Mayen",	"Swaziland",	"Sweden",	"Switzerland",	"Syrian Arab Republic",	"Taiwan, Province Of China",	"Tajikistan",	"Tanzania, United Republic Of",	"Thailand",	"Timor-Leste",	"Togo",	"Tokelau",	"Tonga",	"Trinidad And Tobago",	"Tunisia",	"Turkey",	"Turkmenistan",	"Turks And Caicos Islands",	"Tuvalu",	"Uganda",	"Ukraine",	"United Arab Emirates",	"United Kingdom",	"United States",	"United States Minor Outlying Islands",	"Uruguay",	"Uzbekistan",	"Vanuatu",	"Venezuela",	"Viet Nam",	"Virgin Islands, British",	"Virgin Islands, U.S.",	"Wallis And Futuna",	"Western Sahara",	"Yemen",	"Zambia",	"Zimbabwe"
))) {
    $country1 = "Please select your country";}
	
		
	
 
}

function test_input($data) {
   $data = trim($data);
   $data = stripslashes($data);
   $data = htmlspecialchars($data);
   return $data;
}
?>

<h2>contact us</h2>
<p><span class="error">* required field.</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
   Name: <input type="text" name="name" value="<?php echo $name;?>">
   <span class="error">* <?php echo $nameErr;?></span>
   <br><br>
   E-mail: <input type="text" name="email" value="<?php echo $email;?>">
   <span class="error">* <?php echo $emailErr;?></span>
   <br><br>
   Country:
   <?php     
$item = 'India';

$country= array("select","Afghanistan",	"Ã…Land Islands",	"Albania",	"Algeria",	"American Samoa",	"Andorra",	"Angola",	"Anguilla",	"Antarctica",	"Antigua And Barbuda",	"Argentina",	"Armenia",	"Aruba",	"Australia",	"Austria",	"Azerbaijan",	"Bahamas",	"Bahrain",	"Bangladesh",	"Barbados",	"Belarus",	"Belgium",	"Belize",	"Benin",	"Bermuda",	"Bhutan",	"Bolivia",	"Bosnia And Herzegovina",	"Botswana",	"Bouvet Island",	"Brazil",	"British Indian Ocean Territory",	"Brunei Darussalam",	"Bulgaria",	"Burkina Faso",	"Burundi",	"Cambodia",	"Cameroon",	"Canada",	"Cape Verde",	"Cayman Islands",	"Central African Republic",	"Chad",	"Chile",	"China",	"Christmas Island",	"Cocos (Keeling) Islands",	"Colombia",	"Comoros",	"Congo",	"Congo, The Democratic Republic Of The",	"Cook Islands",	"Costa Rica",	"Cote D'Ivoire",	"Croatia",	"Cuba",	"Cyprus",	"Czech Republic",	"Denmark",	"Djibouti",	"Dominica",	"Dominican Republic",	"Ecuador",	"Egypt",	"El Salvador",	"Equatorial Guinea",	"Eritrea",	"Estonia",	"Ethiopia",	"Falkland Islands (Malvinas)",	"Faroe Islands",	"Fiji",	"Finland",	"France",	"French Guiana",	"French Polynesia",	"French Southern Territories",	"Gabon",	"Gambia",	"Georgia",	"Germany",	"Ghana",	"Gibraltar",	"Greece",	"Greenland",	"Grenada",	"Guadeloupe",	"Guam",	"Guatemala",	"Guernsey",	"Guinea",	"Guinea-Bissau",	"Guyana",	"Haiti",	"Heard Island And Mcdonald Islands",	"Holy See (Vatican City State)",	"Honduras",	"Hong Kong",	"Hungary",	"Iceland",	"India",	"Indonesia",	"Iran, Islamic Republic Of",	"Iraq",	"Ireland",	"Isle Of Man",	"Israel",	"Italy",	"Jamaica",	"Japan",	"Jersey",	"Jordan",	"Kazakhstan",	"Kenya",	"Kiribati",	"Korea, Democratic People'S Republic Of",	"Korea, Republic Of",	"Kuwait",	"Kyrgyzstan",	"Lao People'S Democratic Republic",	"Latvia",	"Lebanon",	"Lesotho",	"Liberia",	"Libyan Arab Jamahiriya",	"Liechtenstein",	"Lithuania",	"Luxembourg",	"Macao",	"Macedonia, The Former Yugoslav Republic Of",	"Madagascar",	"Malawi",	"Malaysia",	"Maldives",	"Mali",	"Malta",	"Marshall Islands",	"Martinique",	"Mauritania",	"Mauritius",	"Mayotte",	"Mexico",	"Micronesia, Federated States Of",	"Moldova, Republic Of",	"Monaco",	"Mongolia",	"Montserrat",	"Morocco",	"Mozambique",	"Myanmar",	"Namibia",	"Nauru",	"Nepal",	"Netherlands",	"Netherlands Antilles",	"New Caledonia",	"New Zealand",	"Nicaragua",	"Niger",	"Nigeria",	"Niue",	"Norfolk Island",	"Northern Mariana Islands",	"Norway",	"Oman",	"Pakistan",	"Palau",	"Palestinian Territory, Occupied",	"Panama",	"Papua New Guinea",	"Paraguay",	"Peru",	"Philippines",	"Pitcairn",	"Poland",	"Portugal",	"Puerto Rico",	"Qatar",	"Reunion",	"Romania",	"Russian Federation",	"Rwanda",	"Saint Helena",	"Saint Kitts And Nevis",	"Saint Lucia",	"Saint Pierre And Miquelon",	"Saint Vincent And The Grenadines",	"Samoa",	"San Marino",	"Sao Tome And Principe",	"Saudi Arabia",	"Senegal",	"Serbia And Montenegro",	"Seychelles",	"Sierra Leone",	"Singapore",	"Slovakia",	"Slovenia",	"Solomon Islands",	"Somalia",	"South Africa",	"South Georgia And The South Sandwich Islands",	"Spain",	"Sri Lanka",	"Sudan",	"Suriname",	"Svalbard And Jan Mayen",	"Swaziland",	"Sweden",	"Switzerland",	"Syrian Arab Republic",	"Taiwan, Province Of China",	"Tajikistan",	"Tanzania, United Republic Of",	"Thailand",	"Timor-Leste",	"Togo",	"Tokelau",	"Tonga",	"Trinidad And Tobago",	"Tunisia",	"Turkey",	"Turkmenistan",	"Turks And Caicos Islands",	"Tuvalu",	"Uganda",	"Ukraine",	"United Arab Emirates",	"United Kingdom",	"United States",	"United States Minor Outlying Islands",	"Uruguay",	"Uzbekistan",	"Vanuatu",	"Venezuela",	"Viet Nam",	"Virgin Islands, British",	"Virgin Islands, U.S.",	"Wallis And Futuna",	"Western Sahara",	"Yemen",	"Zambia",	"Zimbabwe"

);

echo '<select name="country">';
foreach($country as $c)
{
         $sel=''; // Set $sel to empty initially
	$tag = 'selected="selected"';
	
         if(isset($_POST['country']) && $_POST['country'] == $c)


	if($item == $c)
	{ $sel = $tag; }

elseif(!isset($_POST['country']) && $item == $c)
{ $sel = $tag; }
	


	echo '<option value="'.$c.'" '.$sel.'>'.$c.'</option>';
}
echo '</select>';

    ?>
    
    
   <span class="error">*<?php echo $country1;?></span>
   <br><br>
   Website: <input type="text" name="website" value="<?php echo $website;?>">
   <span class="error"><?php echo $websiteErr;?></span>
   <br><br>
   Gender:
   <input type="radio" name="gender" <?php if (isset($gender) && $gender=="female") echo "checked";?>  value="female">Female
   <input type="radio" name="gender" <?php if (isset($gender) && $gender=="male") echo "checked";?>  value="male">Male
   <span class="error">* <?php echo $genderErr;?></span>
   <br><br>
   
    Comment: <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea>
   <br><br>
   <input type="submit" name="submit" value="Submit"> 
</form>


</body>
</html>




made changes . no luck in retaining the selections.

 

 

I didn't go through the whole code but the main issue is that you forgot to put the $sel in the <option> tag like the tutorial says.

Needs to be this





echo '<option value="'.$c.'" '.$sel.'>'.$c.'</option>';

 

Link to comment
Share on other sites

  • Solution

Ok seriously, if you would just read and follow the code in the tutorial your would have had this working.  Most of the issues were in the foreach().  I also moved the array of countries to the top of the page so you don't have to define it twice, which is stupid. 

Here is a working code based on your code.  I didn't focus on anything else, so there maybe other issues, but the select box now retains is selection.

<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>
 
<?php
$country_options= array("select","Afghanistan",	"Ã…Land Islands",	"Albania",	"Algeria",	"American Samoa",	"Andorra",	"Angola",	"Anguilla",	"Antarctica",	"Antigua And Barbuda",	"Argentina",	"Armenia",	"Aruba",	"Australia",	"Austria",	"Azerbaijan",	"Bahamas",	"Bahrain",	"Bangladesh",	"Barbados",	"Belarus",	"Belgium",	"Belize",	"Benin",	"Bermuda",	"Bhutan",	"Bolivia",	"Bosnia And Herzegovina",	"Botswana",	"Bouvet Island",	"Brazil",	"British Indian Ocean Territory",	"Brunei Darussalam",	"Bulgaria",	"Burkina Faso",	"Burundi",	"Cambodia",	"Cameroon",	"Canada",	"Cape Verde",	"Cayman Islands",	"Central African Republic",	"Chad",	"Chile",	"China",	"Christmas Island",	"Cocos (Keeling) Islands",	"Colombia",	"Comoros",	"Congo",	"Congo, The Democratic Republic Of The",	"Cook Islands",	"Costa Rica",	"Cote D'Ivoire",	"Croatia",	"Cuba",	"Cyprus",	"Czech Republic",	"Denmark",	"Djibouti",	"Dominica",	"Dominican Republic",	"Ecuador",	"Egypt",	"El Salvador",	"Equatorial Guinea",	"Eritrea",	"Estonia",	"Ethiopia",	"Falkland Islands (Malvinas)",	"Faroe Islands",	"Fiji",	"Finland",	"France",	"French Guiana",	"French Polynesia",	"French Southern Territories",	"Gabon",	"Gambia",	"Georgia",	"Germany",	"Ghana",	"Gibraltar",	"Greece",	"Greenland",	"Grenada",	"Guadeloupe",	"Guam",	"Guatemala",	"Guernsey",	"Guinea",	"Guinea-Bissau",	"Guyana",	"Haiti",	"Heard Island And Mcdonald Islands",	"Holy See (Vatican City State)",	"Honduras",	"Hong Kong",	"Hungary",	"Iceland",	"India",	"Indonesia",	"Iran, Islamic Republic Of",	"Iraq",	"Ireland",	"Isle Of Man",	"Israel",	"Italy",	"Jamaica",	"Japan",	"Jersey",	"Jordan",	"Kazakhstan",	"Kenya",	"Kiribati",	"Korea, Democratic People'S Republic Of",	"Korea, Republic Of",	"Kuwait",	"Kyrgyzstan",	"Lao People'S Democratic Republic",	"Latvia",	"Lebanon",	"Lesotho",	"Liberia",	"Libyan Arab Jamahiriya",	"Liechtenstein",	"Lithuania",	"Luxembourg",	"Macao",	"Macedonia, The Former Yugoslav Republic Of",	"Madagascar",	"Malawi",	"Malaysia",	"Maldives",	"Mali",	"Malta",	"Marshall Islands",	"Martinique",	"Mauritania",	"Mauritius",	"Mayotte",	"Mexico",	"Micronesia, Federated States Of",	"Moldova, Republic Of",	"Monaco",	"Mongolia",	"Montserrat",	"Morocco",	"Mozambique",	"Myanmar",	"Namibia",	"Nauru",	"Nepal",	"Netherlands",	"Netherlands Antilles",	"New Caledonia",	"New Zealand",	"Nicaragua",	"Niger",	"Nigeria",	"Niue",	"Norfolk Island",	"Northern Mariana Islands",	"Norway",	"Oman",	"Pakistan",	"Palau",	"Palestinian Territory, Occupied",	"Panama",	"Papua New Guinea",	"Paraguay",	"Peru",	"Philippines",	"Pitcairn",	"Poland",	"Portugal",	"Puerto Rico",	"Qatar",	"Reunion",	"Romania",	"Russian Federation",	"Rwanda",	"Saint Helena",	"Saint Kitts And Nevis",	"Saint Lucia",	"Saint Pierre And Miquelon",	"Saint Vincent And The Grenadines",	"Samoa",	"San Marino",	"Sao Tome And Principe",	"Saudi Arabia",	"Senegal",	"Serbia And Montenegro",	"Seychelles",	"Sierra Leone",	"Singapore",	"Slovakia",	"Slovenia",	"Solomon Islands",	"Somalia",	"South Africa",	"South Georgia And The South Sandwich Islands",	"Spain",	"Sri Lanka",	"Sudan",	"Suriname",	"Svalbard And Jan Mayen",	"Swaziland",	"Sweden",	"Switzerland",	"Syrian Arab Republic",	"Taiwan, Province Of China",	"Tajikistan",	"Tanzania, United Republic Of",	"Thailand",	"Timor-Leste",	"Togo",	"Tokelau",	"Tonga",	"Trinidad And Tobago",	"Tunisia",	"Turkey",	"Turkmenistan",	"Turks And Caicos Islands",	"Tuvalu",	"Uganda",	"Ukraine",	"United Arab Emirates",	"United Kingdom",	"United States",	"United States Minor Outlying Islands",	"Uruguay",	"Uzbekistan",	"Vanuatu",	"Venezuela",	"Viet Nam",	"Virgin Islands, British",	"Virgin Islands, U.S.",	"Wallis And Futuna",	"Western Sahara",	"Yemen",	"Zambia",	"Zimbabwe"
 
);

// define variables and set to empty values
$nameErr = $emailErr = $genderErr = $websiteErr = $countryErr = "";
$name = $email = $gender = $comment = $website = "";
$country ="";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
}
if (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
// check if e-mail address syntax is valid
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
$emailErr = "Invalid email format";
}
}
if (empty($_POST["website"])) {
$website = "";
} else {
$website = test_input($_POST["website"]);
// check if URL address syntax is valid (this regular expression also allows dashes in the URL)
if (!preg_match("/\b(??:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
$websiteErr = "Invalid URL";
}
}
 
if (empty($_POST["comment"])) {
$comment = "";
} else {
$comment = test_input($_POST["comment"]);
}
 
if (empty($_POST["gender"])) {
$genderErr = "Gender is required";
} else {
$gender = test_input($_POST["gender"]);
}
$country = $_POST['country'];
if (!in_array($country, $country_options)) {
$country1 = "Please select your country";}
}
 
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
 
<h2>contact us</h2>
<p><span class="error">* required field.</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name" value="<?php echo $name;?>">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail: <input type="text" name="email" value="<?php echo $email;?>">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Country:
<?php
$item = 'India';
  
echo '<select name="country">';
foreach($country_options as $c)
{
	$sel=''; // Set $sel to empty initially
	$tag = 'selected="selected"';
	
	if(isset($_POST['country']) && $_POST['country'] == $c) // Here we check if the form has been posted so an error isn't thrown and then check it's value against $c
	{ $sel = $tag; }
	elseif(!isset($_POST['country']) && $item == $c) // So that the $item doesn't override the posted value we need to check to make sure the form has NOT been submitted also in the 
	{ $sel = $tag; }	 
	 
	echo '<option value="'.$c.'" '.$sel.'>'.$c.'</option>';
}
echo '</select>';
 
?>
<span class="error">*<?php echo (isset($country1)) ? $country1 : '';?></span>
<br><br>
Website: <input type="text" name="website" value="<?php echo $website;?>">
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
Gender:
<input type="radio" name="gender" <?php if (isset($gender) && $gender=="female") echo "checked";?> value="female">Female
<input type="radio" name="gender" <?php if (isset($gender) && $gender=="male") echo "checked";?> value="male">Male
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
Comment: <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
 
 
</body>
</html>
Link to comment
Share on other sites

It worked perfect,

 

Thank you

 

 

 

Ok seriously, if you would just read and follow the code in the tutorial your would have had this working.  Most of the issues were in the foreach().  I also moved the array of countries to the top of the page so you don't have to define it twice, which is stupid. 

Here is a working code based on your code.  I didn't focus on anything else, so there maybe other issues, but the select box now retains is selection.



<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>
 
<?php
$country_options= array("select","Afghanistan",	"Ã…Land Islands",	"Albania",	"Algeria",	"American Samoa",	"Andorra",	"Angola",	"Anguilla",	"Antarctica",	"Antigua And Barbuda",	"Argentina",	"Armenia",	"Aruba",	"Australia",	"Austria",	"Azerbaijan",	"Bahamas",	"Bahrain",	"Bangladesh",	"Barbados",	"Belarus",	"Belgium",	"Belize",	"Benin",	"Bermuda",	"Bhutan",	"Bolivia",	"Bosnia And Herzegovina",	"Botswana",	"Bouvet Island",	"Brazil",	"British Indian Ocean Territory",	"Brunei Darussalam",	"Bulgaria",	"Burkina Faso",	"Burundi",	"Cambodia",	"Cameroon",	"Canada",	"Cape Verde",	"Cayman Islands",	"Central African Republic",	"Chad",	"Chile",	"China",	"Christmas Island",	"Cocos (Keeling) Islands",	"Colombia",	"Comoros",	"Congo",	"Congo, The Democratic Republic Of The",	"Cook Islands",	"Costa Rica",	"Cote D'Ivoire",	"Croatia",	"Cuba",	"Cyprus",	"Czech Republic",	"Denmark",	"Djibouti",	"Dominica",	"Dominican Republic",	"Ecuador",	"Egypt",	"El Salvador",	"Equatorial Guinea",	"Eritrea",	"Estonia",	"Ethiopia",	"Falkland Islands (Malvinas)",	"Faroe Islands",	"Fiji",	"Finland",	"France",	"French Guiana",	"French Polynesia",	"French Southern Territories",	"Gabon",	"Gambia",	"Georgia",	"Germany",	"Ghana",	"Gibraltar",	"Greece",	"Greenland",	"Grenada",	"Guadeloupe",	"Guam",	"Guatemala",	"Guernsey",	"Guinea",	"Guinea-Bissau",	"Guyana",	"Haiti",	"Heard Island And Mcdonald Islands",	"Holy See (Vatican City State)",	"Honduras",	"Hong Kong",	"Hungary",	"Iceland",	"India",	"Indonesia",	"Iran, Islamic Republic Of",	"Iraq",	"Ireland",	"Isle Of Man",	"Israel",	"Italy",	"Jamaica",	"Japan",	"Jersey",	"Jordan",	"Kazakhstan",	"Kenya",	"Kiribati",	"Korea, Democratic People'S Republic Of",	"Korea, Republic Of",	"Kuwait",	"Kyrgyzstan",	"Lao People'S Democratic Republic",	"Latvia",	"Lebanon",	"Lesotho",	"Liberia",	"Libyan Arab Jamahiriya",	"Liechtenstein",	"Lithuania",	"Luxembourg",	"Macao",	"Macedonia, The Former Yugoslav Republic Of",	"Madagascar",	"Malawi",	"Malaysia",	"Maldives",	"Mali",	"Malta",	"Marshall Islands",	"Martinique",	"Mauritania",	"Mauritius",	"Mayotte",	"Mexico",	"Micronesia, Federated States Of",	"Moldova, Republic Of",	"Monaco",	"Mongolia",	"Montserrat",	"Morocco",	"Mozambique",	"Myanmar",	"Namibia",	"Nauru",	"Nepal",	"Netherlands",	"Netherlands Antilles",	"New Caledonia",	"New Zealand",	"Nicaragua",	"Niger",	"Nigeria",	"Niue",	"Norfolk Island",	"Northern Mariana Islands",	"Norway",	"Oman",	"Pakistan",	"Palau",	"Palestinian Territory, Occupied",	"Panama",	"Papua New Guinea",	"Paraguay",	"Peru",	"Philippines",	"Pitcairn",	"Poland",	"Portugal",	"Puerto Rico",	"Qatar",	"Reunion",	"Romania",	"Russian Federation",	"Rwanda",	"Saint Helena",	"Saint Kitts And Nevis",	"Saint Lucia",	"Saint Pierre And Miquelon",	"Saint Vincent And The Grenadines",	"Samoa",	"San Marino",	"Sao Tome And Principe",	"Saudi Arabia",	"Senegal",	"Serbia And Montenegro",	"Seychelles",	"Sierra Leone",	"Singapore",	"Slovakia",	"Slovenia",	"Solomon Islands",	"Somalia",	"South Africa",	"South Georgia And The South Sandwich Islands",	"Spain",	"Sri Lanka",	"Sudan",	"Suriname",	"Svalbard And Jan Mayen",	"Swaziland",	"Sweden",	"Switzerland",	"Syrian Arab Republic",	"Taiwan, Province Of China",	"Tajikistan",	"Tanzania, United Republic Of",	"Thailand",	"Timor-Leste",	"Togo",	"Tokelau",	"Tonga",	"Trinidad And Tobago",	"Tunisia",	"Turkey",	"Turkmenistan",	"Turks And Caicos Islands",	"Tuvalu",	"Uganda",	"Ukraine",	"United Arab Emirates",	"United Kingdom",	"United States",	"United States Minor Outlying Islands",	"Uruguay",	"Uzbekistan",	"Vanuatu",	"Venezuela",	"Viet Nam",	"Virgin Islands, British",	"Virgin Islands, U.S.",	"Wallis And Futuna",	"Western Sahara",	"Yemen",	"Zambia",	"Zimbabwe"
 
);

// define variables and set to empty values
$nameErr = $emailErr = $genderErr = $websiteErr = $countryErr = "";
$name = $email = $gender = $comment = $website = "";
$country ="";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
}
if (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
// check if e-mail address syntax is valid
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
$emailErr = "Invalid email format";
}
}
if (empty($_POST["website"])) {
$website = "";
} else {
$website = test_input($_POST["website"]);
// check if URL address syntax is valid (this regular expression also allows dashes in the URL)
if (!preg_match("/\b(??:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
$websiteErr = "Invalid URL";
}
}
 
if (empty($_POST["comment"])) {
$comment = "";
} else {
$comment = test_input($_POST["comment"]);
}
 
if (empty($_POST["gender"])) {
$genderErr = "Gender is required";
} else {
$gender = test_input($_POST["gender"]);
}
$country = $_POST['country'];
if (!in_array($country, $country_options)) {
$country1 = "Please select your country";}
}
 
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
 
<h2>contact us</h2>
<p><span class="error">* required field.</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name" value="<?php echo $name;?>">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail: <input type="text" name="email" value="<?php echo $email;?>">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Country:
<?php
$item = 'India';
  
echo '<select name="country">';
foreach($country_options as $c)
{
	$sel=''; // Set $sel to empty initially
	$tag = 'selected="selected"';
	
	if(isset($_POST['country']) && $_POST['country'] == $c) // Here we check if the form has been posted so an error isn't thrown and then check it's value against $c
	{ $sel = $tag; }
	elseif(!isset($_POST['country']) && $item == $c) // So that the $item doesn't override the posted value we need to check to make sure the form has NOT been submitted also in the 
	{ $sel = $tag; }	 
	 
	echo '<option value="'.$c.'" '.$sel.'>'.$c.'</option>';
}
echo '</select>';
 
?>
<span class="error">*<?php echo (isset($country1)) ? $country1 : '';?></span>
<br><br>
Website: <input type="text" name="website" value="<?php echo $website;?>">
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
Gender:
<input type="radio" name="gender" <?php if (isset($gender) && $gender=="female") echo "checked";?> value="female">Female
<input type="radio" name="gender" <?php if (isset($gender) && $gender=="male") echo "checked";?> value="male">Male
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
Comment: <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
 
 
</body>
</html>
Link to comment
Share on other sites

Hi again,

 

 

I had managed to retain the values of the form with the  code suggested by fastsol. Thank you.

 

 

But now i added a captcha option to the form. It has now stopped populating all form feilds if they were entered wrong.Also does not give the error messages.

<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
.success {color:#360; background-color:#FF0;}
.fail {color:#F00; background-color:#FFF;)
</style>
</head>
<body>

<?php

 if (isset($_POST['submit'])){
 
 $name = $_POST['name'];
 $email = $_POST['email'];
 $phone = $_POST['phone'];
 $country = $_POST['country'];
 $comment = $_POST['comment'];
 $gender = $_POST['gender'];
 
 $to = "laxmon@wikigets.com";
 $subject = "New contact form submission";
 $message =" A visitor of XXX has submited a form onine\n\n $name\n\n $email\n\n $phone \n\n $country \n\n $gender\n\n $comment";
 
 
 
 
   require_once('recaptchalib.php');
  $privatekey = "6LdK8_YSAAAAAJYPJduOpxhsL4Cy86NgwpCSJCod";
  $resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);
if (!$resp->is_valid) {
    	
	
	
 header	("Location:contact.php?s=2");
 
 
  } else {
    mail($to,$subject,$message);
	header	("Location:contact.php?s=1");
  }
  
  
}
  ?>

 <? 
 	
	$country_options= array("select","Afghanistan",	"Ã…Land Islands",	"Albania",	"Algeria",	"American Samoa",	"Andorra",	"Angola",	"Anguilla",	"Antarctica",	"Antigua And Barbuda",	"Argentina",	"Armenia",	"Aruba",	"Australia",	"Austria",	"Azerbaijan",	"Bahamas",	"Bahrain",	"Bangladesh",	"Barbados",	"Belarus",	"Belgium",	"Belize",	"Benin",	"Bermuda",	"Bhutan",	"Bolivia",	"Bosnia And Herzegovina",	"Botswana",	"Bouvet Island",	"Brazil",	"British Indian Ocean Territory",	"Brunei Darussalam",	"Bulgaria",	"Burkina Faso",	"Burundi",	"Cambodia",	"Cameroon",	"Canada",	"Cape Verde",	"Cayman Islands",	"Central African Republic",	"Chad",	"Chile",	"China",	"Christmas Island",	"Cocos (Keeling) Islands",	"Colombia",	"Comoros",	"Congo",	"Congo, The Democratic Republic Of The",	"Cook Islands",	"Costa Rica",	"Cote D'Ivoire",	"Croatia",	"Cuba",	"Cyprus",	"Czech Republic",	"Denmark",	"Djibouti",	"Dominica",	"Dominican Republic",	"Ecuador",	"Egypt",	"El Salvador",	"Equatorial Guinea",	"Eritrea",	"Estonia",	"Ethiopia",	"Falkland Islands (Malvinas)",	"Faroe Islands",	"Fiji",	"Finland",	"France",	"French Guiana",	"French Polynesia",	"French Southern Territories",	"Gabon",	"Gambia",	"Georgia",	"Germany",	"Ghana",	"Gibraltar",	"Greece",	"Greenland",	"Grenada",	"Guadeloupe",	"Guam",	"Guatemala",	"Guernsey",	"Guinea",	"Guinea-Bissau",	"Guyana",	"Haiti",	"Heard Island And Mcdonald Islands",	"Holy See (Vatican City State)",	"Honduras",	"Hong Kong",	"Hungary",	"Iceland",	"India",	"Indonesia",	"Iran, Islamic Republic Of",	"Iraq",	"Ireland",	"Isle Of Man",	"Israel",	"Italy",	"Jamaica",	"Japan",	"Jersey",	"Jordan",	"Kazakhstan",	"Kenya",	"Kiribati",	"Korea, Democratic People'S Republic Of",	"Korea, Republic Of",	"Kuwait",	"Kyrgyzstan",	"Lao People'S Democratic Republic",	"Latvia",	"Lebanon",	"Lesotho",	"Liberia",	"Libyan Arab Jamahiriya",	"Liechtenstein",	"Lithuania",	"Luxembourg",	"Macao",	"Macedonia, The Former Yugoslav Republic Of",	"Madagascar",	"Malawi",	"Malaysia",	"Maldives",	"Mali",	"Malta",	"Marshall Islands",	"Martinique",	"Mauritania",	"Mauritius",	"Mayotte",	"Mexico",	"Micronesia, Federated States Of",	"Moldova, Republic Of",	"Monaco",	"Mongolia",	"Montserrat",	"Morocco",	"Mozambique",	"Myanmar",	"Namibia",	"Nauru",	"Nepal",	"Netherlands",	"Netherlands Antilles",	"New Caledonia",	"New Zealand",	"Nicaragua",	"Niger",	"Nigeria",	"Niue",	"Norfolk Island",	"Northern Mariana Islands",	"Norway",	"Oman",	"Pakistan",	"Palau",	"Palestinian Territory, Occupied",	"Panama",	"Papua New Guinea",	"Paraguay",	"Peru",	"Philippines",	"Pitcairn",	"Poland",	"Portugal",	"Puerto Rico",	"Qatar",	"Reunion",	"Romania",	"Russian Federation",	"Rwanda",	"Saint Helena",	"Saint Kitts And Nevis",	"Saint Lucia",	"Saint Pierre And Miquelon",	"Saint Vincent And The Grenadines",	"Samoa",	"San Marino",	"Sao Tome And Principe",	"Saudi Arabia",	"Senegal",	"Serbia And Montenegro",	"Seychelles",	"Sierra Leone",	"Singapore",	"Slovakia",	"Slovenia",	"Solomon Islands",	"Somalia",	"South Africa",	"South Georgia And The South Sandwich Islands",	"Spain",	"Sri Lanka",	"Sudan",	"Suriname",	"Svalbard And Jan Mayen",	"Swaziland",	"Sweden",	"Switzerland",	"Syrian Arab Republic",	"Taiwan, Province Of China",	"Tajikistan",	"Tanzania, United Republic Of",	"Thailand",	"Timor-Leste",	"Togo",	"Tokelau",	"Tonga",	"Trinidad And Tobago",	"Tunisia",	"Turkey",	"Turkmenistan",	"Turks And Caicos Islands",	"Tuvalu",	"Uganda",	"Ukraine",	"United Arab Emirates",	"United Kingdom",	"United States",	"United States Minor Outlying Islands",	"Uruguay",	"Uzbekistan",	"Vanuatu",	"Venezuela",	"Viet Nam",	"Virgin Islands, British",	"Virgin Islands, U.S.",	"Wallis And Futuna",	"Western Sahara",	"Yemen",	"Zambia",	"Zimbabwe"
 
);

// define variables and set to empty values
$nameErr = $emailErr = $genderErr = $websiteErr = $countryErr = $phoneErr ="";
$name = $email = $gender = $comment = $website = $phone = "";
$country ="";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
}
if (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
// check if e-mail address syntax is valid
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
$emailErr = "Invalid email format";
}
}
if (empty($_POST["website"])) {
$website = "";
} else {
$website = test_input($_POST["website"]);
// check if URL address syntax is valid (this regular expression also allows dashes in the URL)
if (!preg_match("/\b(??:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
$websiteErr = "Invalid URL";
}
}
 
if (empty($_POST["comment"])) {
$comment = "";
} else {
$comment = test_input($_POST["comment"]);
}

if (empty($_POST["phone"])) {
$phone = "";
} else {

	
$phone = test_input($_POST["phone"]);
$phone = preg_replace('/\D/', '', $phone);
}
 
if (empty($_POST["gender"])) {
$genderErr = "Gender is required";
} else {
$gender = test_input($_POST["gender"]);
}
$country2 = $_POST['country'];
$country3= "select";
if($country2!= $country3)
{
	$country=$country2;
	
	}

else

 {
$country1 = "Please select your country";}
}

 
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
 ?>
 
 
 
 


 
<h2>CONTACT US</h2>
<p><?php 
$s=$_GET['s'];
if($s=='1'){
	Echo('<span class= "success"> Success!! An email has been sent to our web team. Please allow 24 hours for a response.</span>');
	}
else if ($s=='2')
{
	 
 
	Echo('<span class= "fail">Sorry! Please ensure to fill all feilds correctly</span>' );
	}

?>









</p>

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
  <p>Name:
  <input type="text" name="name" value="<?php echo $name;?>">
  <span class="error">* <?php echo $nameErr1;?></span>
  <br><br>
    E-mail: <input type="text" name="email" value="<?php echo $email;?>">
  <span class="error">* <?php echo $emailErr1;?></span>  </p>
  <p>Phone Number:<input type="text" name="phone" value="<?php echo $phone;?>">
  <span class="error"> <?php echo $phoneErr1;?></span>
  <br>
    <br>
    Country:
    <?php
$item = 'select';
  
echo '<select name="country">';
foreach($country_options as $c)
{
	$sel=''; // Set $sel to empty initially
	$tag = 'selected="selected"';
	
	if(isset($_POST['country']) && $_POST['country'] == $c) // Here we check if the form has been posted so an error isn't thrown and then check it's value against $c
	{ $sel = $tag; }
	elseif(!isset($_POST['country']) && $item == $c) // So that the $item doesn't override the posted value we need to check to make sure the form has NOT been submitted also in the 
	{ $sel = $tag; }	 
	 
	echo '<option value="'.$c.'" '.$sel.'>'.$c.'</option>';
}
echo '</select>';
 
?>
    <span class="error">*<?php echo (isset($country1)) ? $country1 : '';?></span>
    <br><br>
    <!--Website: <input type="text" name="website" value="<?php echo $website;?>">
    <span class="error"><?php echo $websiteErr1;?></span>
    <br><br>-->
    Gender:
    <input type="radio" name="gender" <?php if (isset($gender) && $gender=="female") echo "checked";?> value="female">Female
    <input type="radio" name="gender" <?php if (isset($gender) && $gender=="male") echo "checked";?> value="male">Male
    <span class="error">* <?php echo $genderErr1;?></span>
    <br><br>
    Comment: 
    <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea>
    <br>
    
    <?php
          require_once('recaptchalib.php');
          $publickey = "6LdK8_YSAAAAACMvxVRzJ7ZNqjQ9nT_dU6fEZdHx"; // you got this from the signup page
          echo recaptcha_get_html($publickey);
        ?>
    
    <br>
    <input type="submit" name="submit" value="Submit">
  </p>
</form>
 
 
</body>
</html>

Not sure why the feilds are not populating their values if there are validation errors

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.