Προβλημα σε πεδιο επιλογής (dropdown) φόρμας επικοινωνίας

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
jimkapa
Δημοσιεύσεις: 3
Εγγραφή: 11 Μάιος 2012 19:20

Προβλημα σε πεδιο επιλογής (dropdown) φόρμας επικοινωνίας

Δημοσίευση από jimkapa » 11 Μάιος 2012 21:08

Καλησπέρα,
Έχω ένα πρόβλημα με το πεδίο επιλογής από 2 λίστες (dropdown).
Πιο αναλυτικά...
έχω φτιάξει μια φόρμα με υποχρεωτικά πεδία. Όταν δεν συμπληρώσω κάποια από τα υποχρεωτικά πεδία η φόρμα βγάζει μήνυμα συμπλήρωσης των πεδίων κρατώντας ότι τιμές έχει βάλει ο χρήστης εκτός από τις τιμές στα dropdown πεδία που γυρίζει στις προεπιλεγμένες τιμές του.
Στο 1ο dropdown είναι το Mr. και στο 2ο είναι το Greece.
Αυτό που θα ήθελα είναι να κρατάνε τα dropdown τις επιλογές του χρήστη για να μη χρειάζεται να τις ξαναβάζει.
Παρακαλώ για τη βοήθεια σας
Παρακάτω παραθέτω τον κώδικα της φόρμας.

<?php
session_start(); // this MUST be called prior to any output including whitespaces and line breaks!

$GLOBALS['DEBUG_MODE'] = 0;
// CHANGE TO 0 TO TURN OFF DEBUG MODE
// IN DEBUG MODE, ONLY THE CAPTCHA CODE IS VALIDATED, AND NO EMAIL IS SENT

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<title>Securimage Example Form</title>
<style type="text/css">
<!--
.error { color: #f00; font-weight: bold; font-size: 1.2em; }
.success { color: #00f; font-weight; bold; font-size: 1.2em; }
fieldset { width: 90%; }
legend { font-size: 24px; }
.note { font-size: 18px;
-->
</style>
</head>
<body>

<fieldset>
<legend>Application Form</legend>


<p class="note">
Please, fill the box.
</p>

<?php

$GLOBALS['ct_recipient'] = 'mail@yahoo.gr'; // Change to your email address!
$GLOBALS['ct_msg_subject'] = 'Αίτηση Ενδιαφέροντος';

process_si_contact_form(); // Process the form, if it was submitted

if (isset($_SESSION['ctform']['error']) && $_SESSION['ctform']['error'] == true): /* The last form submission had 1 or more errors */ ?>
<span class="error">There was a problem with your submission. Errors are displayed below in red.</span><br /><br />
<?php elseif (isset($_SESSION['ctform']['success']) && $_SESSION['ctform']['success'] == true): /* form was processed successfully */ ?>
<span class="success">The captcha was correct and the message has been sent!</span><br /><br />
<?php endif; ?>
</p>
<form method="post" action="<?php echo $_SERVER['REQUEST_URI'] . $_SERVER['QUERY_STRING'] ?>" id="contact_form">
<input type="hidden" name="do" value="contact" />
<p>

<strong></strong>&nbsp; &nbsp;<?php echo @$_SESSION['ctform']['Mr_error'] ?><br />

<select name="ct_Mr">
<option value="Mr." selected="selected" >Mr.</option>
<option value="Mrs.">Mrs.</option>
</select>

<p>

<strong>Name:</strong>&nbsp; &nbsp;<?php echo @$_SESSION['ctform']['name_error'] ?><br />
<input type="text" name="ct_name" size="35" value="<?php echo htmlspecialchars(@$_SESSION['ctform']['ct_name']) ?>" />
</p>

<p><strong>Surname*:</strong>&nbsp; &nbsp;<?php echo @$_SESSION['ctform']['Surname_error'] ?><br />
<input type="text" name="ct_Surname" size="35" value="<?php echo htmlspecialchars(@$_SESSION['ctform']['ct_Surname']) ?>" />
</p>

<strong>Profession:</strong>&nbsp; &nbsp;<?php echo @$_SESSION['ctform']['Profession_error'] ?><br />
<input type="text" name="ct_Profession" size="35" value="<?php echo htmlspecialchars(@$_SESSION['ctform']['ct_Profession']) ?>" />
</p>
<p>
<strong>Company:</strong>&nbsp; &nbsp;<?php echo @$_SESSION['ctform']['Company_error'] ?><br />
<input type="text" name="ct_Company" size="35" value="<?php echo htmlspecialchars(@$_SESSION['ctform']['ct_Company']) ?>" />
</p>
<p><strong>City*:</strong>&nbsp; &nbsp;<?php echo @$_SESSION['ctform']['City_error'] ?><br />
<input type="text" name="ct_City" size="35" value="<?php echo htmlspecialchars(@$_SESSION['ctform']['ct_City']) ?>" />
<p>


<strong>Country:</strong>&nbsp; &nbsp;<?php echo @$_SESSION['ctform']['Country_error'] ?><br />
<select name="ct_Country">
<option value="Greece" selected="Greece">Greece</option>
<option value="Abkhazia">Abkhazia</option><option value="Afghanistan">Afghanistan</option><option value="Aland">Aland</option><option value="Albania">Albania</option><option value="Algeria">Algeria</option><option value="American Samoa">American Samoa</option><option value="Andorra">Andorra</option><option value="Angola">Angola</option><option value="Anguilla">Anguilla</option><option value="Antarctica">Antarctica</option><option value="Antigua and Barbuda">Antigua and Barbuda</option><option value="Argentina">Argentina</option><option value="Armenia">Armenia</option><option value="Aruba">Aruba</option><option value="Ascension">Ascension</option><option value="Ashmore and Cartier Islands">Ashmore and Cartier Islands</option><option value="Australia">Australia</option><option value="Australian Antarctic Territory">Australian Antarctic Territory</option><option value="Austria">Austria</option><option value="Azerbaijan">Azerbaijan</option><option value="Bahamas, The">Bahamas, The</option><option value="Bahrain">Bahrain</option><option value="Baker Island">Baker Island</option><option value="Bangladesh">Bangladesh</option><option value="Barbados">Barbados</option><option value="Belarus">Belarus</option><option value="Belgium">Belgium</option><option value="Belize">Belize</option><option value="Benin">Benin</option><option value="Bermuda">Bermuda</option><option value="Bhutan">Bhutan</option><option value="Bolivia">Bolivia</option><option value="Bosnia and Herzegovina">Bosnia and Herzegovina</option><option value="Botswana">Botswana</option><option value="Bouvet Island">Bouvet Island</option><option value="Brazil">Brazil</option><option value="British Antarctic Territory">British Antarctic Territory</option><option value="British Indian Ocean Territory">British Indian Ocean Territory</option><option value="British Sovereign Base Areas">British Sovereign Base Areas</option><option value="British Virgin Islands">British Virgin Islands</option><option value="Brunei">Brunei</option><option value="Bulgaria">Bulgaria</option><option value="Burkina Faso">Burkina Faso</option><option value="Burundi">Burundi</option><option value="Cambodia">Cambodia</option><option value="Cameroon">Cameroon</option><option value="Canada">Canada</option><option value="Cape Verde">Cape Verde</option><option value="Cayman Islands">Cayman Islands</option><option value="Central African Republic">Central African Republic</option><option value="Chad">Chad</option><option value="Chile">Chile</option><option value="China, People's Republic of">China, People's Republic of</option><option value="China, Republic of (Taiwan)">China, Republic of (Taiwan)</option><option value="Christmas Island">Christmas Island</option><option value="Clipperton Island">Clipperton Island</option><option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option><option value="Colombia">Colombia</option><option value="Comoros">Comoros</option><option value="Congo, Democratic Republic of the (Congo Kinshasa)">Congo, Democratic Republic of the (Congo Kinshasa)</option><option value="Congo, Republic of the (Congo Brazzaville)">Congo, Republic of the (Congo Brazzaville)</option><option value="Cook Islands">Cook Islands</option><option value="Coral Sea Islands">Coral Sea Islands</option><option value="Costa Rica">Costa Rica</option><option value="Cote d'Ivoire (Ivory Coast)">Cote d'Ivoire (Ivory Coast)</option><option value="Croatia">Croatia</option><option value="Cuba">Cuba</option><option value="Cyprus">Cyprus</option><option value="Czech Republic">Czech Republic</option><option value="Denmark">Denmark</option><option value="Djibouti">Djibouti</option><option value="Dominica">Dominica</option><option value="Dominican Republic">Dominican Republic</option><option value="Ecuador">Ecuador</option><option value="Egypt">Egypt</option><option value="El Salvador">El Salvador</option><option value="Equatorial Guinea">Equatorial Guinea</option><option value="Eritrea">Eritrea</option><option value="Estonia">Estonia</option><option value="Ethiopia">Ethiopia</option><option value="Falkland Islands (Islas Malvinas)">Falkland Islands (Islas Malvinas)</option><option value="Faroe Islands">Faroe Islands</option><option value="Fiji">Fiji</option><option value="Finland">Finland</option><option value="France">France</option><option value="French Guiana">French Guiana</option><option value="French Polynesia">French Polynesia</option><option value="French Scattered Islands in the Indian Ocean">French Scattered Islands in the Indian Ocean</option><option value="French Southern and Antarctic Lands">French Southern and Antarctic Lands</option><option value="Gabon">Gabon</option><option value="Gambia, The">Gambia, The</option><option value="Georgia">Georgia</option><option value="Germany">Germany</option><option value="Ghana">Ghana</option><option value="Gibraltar">Gibraltar</option><option value="Greenland">Greenland</option><option value="Grenada">Grenada</option><option value="Guadeloupe">Guadeloupe</option><option value="Guam">Guam</option><option value="Guatemala">Guatemala</option><option value="Guernsey">Guernsey</option><option value="Guinea">Guinea</option><option value="Guinea-Bissau">Guinea-Bissau</option><option value="Guyana">Guyana</option><option value="Haiti">Haiti</option><option value="Heard Island and McDonald Islands">Heard Island and McDonald Islands</option><option value="Honduras">Honduras</option><option value="Hong Kong">Hong Kong</option><option value="Howland Island">Howland Island</option><option value="Hungary">Hungary</option><option value="Iceland">Iceland</option><option value="India">India</option><option value="Indonesia">Indonesia</option><option value="Iran">Iran</option><option value="Iraq">Iraq</option><option value="Ireland">Ireland</option><option value="Isle of Man">Isle of Man</option><option value="Israel">Israel</option><option value="Italy">Italy</option><option value="Jamaica">Jamaica</option><option value="Japan">Japan</option><option value="Jarvis Island">Jarvis Island</option><option value="Jersey">Jersey</option><option value="Johnston Atoll">Johnston Atoll</option><option value="Jordan">Jordan</option><option value="Kazakhstan">Kazakhstan</option><option value="Kenya">Kenya</option><option value="Kingman Reef">Kingman Reef</option><option value="Kiribati">Kiribati</option><option value="Korea, Democratic People's Republic of (North Korea)">Korea, Democratic People's Republic of (North Korea)</option><option value="Korea, Republic of (South Korea)">Korea, Republic of (South Korea)</option><option value="Kosovo">Kosovo</option><option value="Kuwait">Kuwait</option><option value="Kyrgyzstan">Kyrgyzstan</option><option value="Laos">Laos</option><option value="Latvia">Latvia</option><option value="Lebanon">Lebanon</option><option value="Lesotho">Lesotho</option><option value="Liberia">Liberia</option><option value="Libya">Libya</option><option value="Liechtenstein">Liechtenstein</option><option value="Lithuania">Lithuania</option><option value="Luxembourg">Luxembourg</option><option value="Macau">Macau</option><option value="Macedonia">Macedonia</option><option value="Madagascar">Madagascar</option><option value="Malawi">Malawi</option><option value="Malaysia">Malaysia</option><option value="Maldives">Maldives</option><option value="Mali">Mali</option><option value="Malta">Malta</option><option value="Marshall Islands">Marshall Islands</option><option value="Martinique">Martinique</option><option value="Mauritania">Mauritania</option><option value="Mauritius">Mauritius</option><option value="Mayotte">Mayotte</option><option value="Mexico">Mexico</option><option value="Micronesia">Micronesia</option><option value="Midway Islands">Midway Islands</option><option value="Moldova">Moldova</option><option value="Monaco">Monaco</option><option value="Mongolia">Mongolia</option><option value="Montenegro">Montenegro</option><option value="Montserrat">Montserrat</option><option value="Morocco">Morocco</option><option value="Mozambique">Mozambique</option><option value="Myanmar (Burma)">Myanmar (Burma)</option><option value="Nagorno-Karabakh">Nagorno-Karabakh</option><option value="Namibia">Namibia</option><option value="Nauru">Nauru</option><option value="Navassa Island">Navassa Island</option><option value="Nepal">Nepal</option><option value="Netherlands">Netherlands</option><option value="Netherlands Antilles">Netherlands Antilles</option><option value="New Caledonia">New Caledonia</option><option value="New Zealand">New Zealand</option><option value="Nicaragua">Nicaragua</option><option value="Niger">Niger</option><option value="Nigeria">Nigeria</option><option value="Niue">Niue</option><option value="Norfolk Island">Norfolk Island</option><option value="Northern Cyprus">Northern Cyprus</option><option value="Northern Mariana Islands">Northern Mariana Islands</option><option value="Norway">Norway</option><option value="Oman">Oman</option><option value="Pakistan">Pakistan</option><option value="Palau">Palau</option><option value="Palestine">Palestine</option><option value="Palmyra Atoll">Palmyra Atoll</option><option value="Panama">Panama</option><option value="Papua New Guinea">Papua New Guinea</option><option value="Paraguay">Paraguay</option><option value="Peru">Peru</option><option value="Peter I Island">Peter I Island</option><option value="Philippines">Philippines</option><option value="Pitcairn Islands">Pitcairn Islands</option><option value="Poland">Poland</option><option value="Portugal">Portugal</option><option value="Pridnestrovie (Transnistria)">Pridnestrovie (Transnistria)</option><option value="Puerto Rico">Puerto Rico</option><option value="Qatar">Qatar</option><option value="Queen Maud Land">Queen Maud Land</option><option value="Reunion">Reunion</option><option value="Romania">Romania</option><option value="Ross Dependency">Ross Dependency</option><option value="Russia">Russia</option><option value="Rwanda">Rwanda</option><option value="Saint Helena">Saint Helena</option><option value="Saint Kitts and Nevis">Saint Kitts and Nevis</option><option value="Saint Lucia">Saint Lucia</option><option value="Saint Pierre and Miquelon">Saint Pierre and Miquelon</option><option value="Saint Vincent and the Grenadines">Saint Vincent and the Grenadines</option><option value="Samoa">Samoa</option><option value="San Marino">San Marino</option><option value="Sao Tome and Principe">Sao Tome and Principe</option><option value="Saudi Arabia">Saudi Arabia</option><option value="Senegal">Senegal</option><option value="Serbia">Serbia</option><option value="Seychelles">Seychelles</option><option value="Sierra Leone">Sierra Leone</option><option value="Singapore">Singapore</option><option value="Slovakia">Slovakia</option><option value="Slovenia">Slovenia</option><option value="Solomon Islands">Solomon Islands</option><option value="Somalia">Somalia</option><option value="Somaliland">Somaliland</option><option value="South Africa">South Africa</option><option value="South Georgia and the South Sandwich Islands">South Georgia and the South Sandwich Islands</option><option value="South Ossetia">South Ossetia</option><option value="Spain">Spain</option><option value="Sri Lanka">Sri Lanka</option><option value="Sudan">Sudan</option><option value="Suriname">Suriname</option><option value="Svalbard">Svalbard</option><option value="Swaziland">Swaziland</option><option value="Sweden">Sweden</option><option value="Switzerland">Switzerland</option><option value="Syria">Syria</option><option value="Tajikistan">Tajikistan</option><option value="Tanzania">Tanzania</option><option value="Thailand">Thailand</option><option value="Timor-Leste (East Timor)">Timor-Leste (East Timor)</option><option value="Togo">Togo</option><option value="Tokelau">Tokelau</option><option value="Tonga">Tonga</option><option value="Trinidad and Tobago">Trinidad and Tobago</option><option value="Tristan da Cunha">Tristan da Cunha</option><option value="Tunisia">Tunisia</option><option value="Turkey">Turkey</option><option value="Turkmenistan">Turkmenistan</option><option value="Turks and Caicos Islands">Turks and Caicos Islands</option><option value="Tuvalu">Tuvalu</option><option value="U.S. Virgin Islands">U.S. Virgin Islands</option><option value="Uganda">Uganda</option><option value="Ukraine">Ukraine</option><option value="United Arab Emirates">United Arab Emirates</option><option value="United Kingdom">United Kingdom</option><option value="United States">United States</option><option value="Uruguay">Uruguay</option><option value="Uzbekistan">Uzbekistan</option><option value="Vanuatu">Vanuatu</option><option value="Vatican City">Vatican City</option><option value="Venezuela">Venezuela</option><option value="Viet Nam">Viet Nam</option><option value="Wake Island">Wake Island</option><option value="Wallis and Futuna">Wallis and Futuna</option><option value="Western Sahara">Western Sahara</option><option value="Yemen">Yemen</option><option value="Zambia">Zambia</option><option value="Zimbabwe">Zimbabwe</option></SELECT>
<p>
<strong>Phone*:</strong>&nbsp; &nbsp;<?php echo @$_SESSION['ctform']['Phone_error'] ?><br />
<input type="text" name="ct_Phone" size="35" value="<?php echo htmlspecialchars(@$_SESSION['ctform']['ct_Phone']) ?>" />

<p><strong>Email:</strong>&nbsp; &nbsp;<?php echo @$_SESSION['ctform']['email_error'] ?><br />
<input type="text" name="ct_email" size="35" value="<?php echo htmlspecialchars(@$_SESSION['ctform']['ct_email']) ?>" />

<p>
<strong>Message:</strong>&nbsp; &nbsp;<?php echo @$_SESSION['ctform']['message_error'] ?><br />
<textarea name="ct_message" rows="5" cols="60"><?php echo htmlspecialchars(@$_SESSION['ctform']['ct_message']) ?></textarea>
</p>

<p>
<img id="siimage" style="border: 1px solid #000; margin-right: 15px" src="./securimage_show.php?sid=<?php echo md5(uniqid()) ?>" alt="CAPTCHA Image" align="left" />
<object type="application/x-shockwave-flash" data="./securimage_play.swf?bgcol=#ffffff&amp;icon_file=./images/audio_icon.png&amp;audio_file=./securimage_play.php" height="32" width="32">
<param name="movie" value="./securimage_play.swf?bgcol=#ffffff&amp;icon_file=./images/audio_icon.png&amp;audio_file=./securimage_play.php" />
</object>
&nbsp;
<a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false"><img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0" /></a><br />
<strong>Enter Code*:</strong><br />
<?php echo @$_SESSION['ctform']['captcha_error'] ?>
<input type="text" name="ct_captcha" size="12" maxlength="8" />
</p>

<p>
<br />
<input type="submit" value="Submit" />
<input type="Reset" value="Reset" />
</p>

</form>
</fieldset>

</body>
</html>

<?php

// The form processor PHP code
function process_si_contact_form()
{
$_SESSION['ctform'] = array(); // re-initialize the form session data

if ($_SERVER['REQUEST_METHOD'] == 'POST' && @$_POST['do'] == 'contact') {
// if the form has been submitted

foreach($_POST as $key => $value) {
if (!is_array($key)) {
// sanitize the input data
if ($key != 'ct_message') $value = strip_tags($value);
$_POST[$key] = htmlspecialchars(stripslashes(trim($value)));
}
}

$Mr = @$_POST['ct_Mr']; // Mr from the form
$name = @$_POST['ct_name']; // name from the form
$Surname = @$_POST['ct_Surname']; // Surname from the form
$Profession = @$_POST['ct_Profession']; // Profession from the form
$Company = @$_POST['ct_Company']; // Company from the form
$City = @$_POST['ct_City']; // City from the form
$Country = @$_POST['ct_Country']; //Country from the form
$Phone = @$_POST['ct_Phone']; // Phone from the form

$email = @$_POST['ct_email']; // email from the form
$message = @$_POST['ct_message']; // the message from the form
$captcha = @$_POST['ct_captcha']; // the user's entry for the captcha code
$name = substr($name, 0, 64); // limit name to 64 characters

$errors = array(); // initialize empty error array

if (isset($GLOBALS['DEBUG_MODE']) && $GLOBALS['DEBUG_MODE'] == false) {
// only check for errors if the form is not in debug mode

if (strlen($Surname) < 3) {
// Surname too short, add error
$errors['Surname_error'] = 'Your Surname is required';
}

if (strlen($City) < 3) {
// City too short, add error
$errors['City_error'] = 'City is required';
}

if (strlen($Phone) < 9) {
// Your too short, add error
$errors['Phone_error'] = 'Your Phone is required';
}

if (strlen($email) == 0) {
// no email address given
$errors['email_error'] = 'Email address is required';
} else if ( !preg_match('/^(?:[\w\d]+\.?)+@(?:(?:[\w\d]\-?)+\.)+\w{2,4}$/i', $email)) {
// invalid email format
$errors['email_error'] = 'Email address entered is invalid';
}


}

// Only try to validate the captcha if the form has no errors
// This is especially important for ajax calls
if (sizeof($errors) == 0) {
require_once dirname(__FILE__) . '/securimage.php';
$securimage = new Securimage();

if ($securimage->check($captcha) == false) {
$errors['captcha_error'] = 'Incorrect security code entered<br />';
}
}

if (sizeof($errors) == 0) {
// no errors, send the form
$time = date('r');
$message = "A message was submitted from the contact form. The following information was provided.<br /><br />"
. "Mr: $Mr<br />"
. "Name: $name<br />"
. "Surname: $Surname<br />"
. "Profession: $Profession<br />"
. "Company: $Company<br />"
. "City: $City<br />"
. "Country: $Country<br />"
. "Phone: $Phone<br />"
. "Email: $email<br />"
. "Message:<br />"
. "<pre>$message</pre>"
. "<br /><br />IP Address: {$_SERVER['REMOTE_ADDR']}<br />"
. "Time: $time<br />"
. "Browser: {$_SERVER['HTTP_USER_AGENT']}<br />";

$message = wordwrap($message, 70);

if (isset($GLOBALS['DEBUG_MODE']) && $GLOBALS['DEBUG_MODE'] == false) {
// send the message with mail()
mail($GLOBALS['ct_recipient'], $GLOBALS['ct_msg_subject'], $message, "From: {$GLOBALS['ct_Surname']}\r\nReply-To: {$email}\r\nContent-type: text/html; charset=UTF-8");
}

$_SESSION['ctform']['error'] = false; // no error with form
$_SESSION['ctform']['success'] = true; // message sent
} else {
// save the entries, this is to re-populate the form
$_SESSION['ctform']['ct_Mr'] = $Mr; // save Mr
$_SESSION['ctform']['ct_name'] = $name; // save name from the form submission
$_SESSION['ctform']['ct_Surname'] = $Surname; // save Surname
$_SESSION['ctform']['ct_Profession'] = $Profession; // save Profession
$_SESSION['ctform']['ct_Company'] = $Company; // save Company
$_SESSION['ctform']['ct_City'] = $City; // save City
$_SESSION['ctform']['ct_Country'] = $Country; // save Country
$_SESSION['ctform']['ct_Phone'] = $Phone; // save Phone
$_SESSION['ctform']['ct_email'] = $email; // save email
$_SESSION['ctform']['ct_URL'] = $URL; // save URL
$_SESSION['ctform']['ct_message'] = $message; // save message

foreach($errors as $key => $error) {
// set up error messages to display with each field
$_SESSION['ctform'][$key] = "<span style=\"font-weight: bold; color: #f00\">$error</span>";
}

$_SESSION['ctform']['error'] = true; // set error floag
}
} // POST
}

$_SESSION['ctform']['success'] = false; // clear success value after running

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Προβλημα σε πεδιο επιλογής (dropdown) φόρμας επικοινωνίας

Δημοσίευση από Apostolis_38 » 12 Μάιος 2012 01:05

Μεγάλε, σόρυ αλά αυτό το πράγμα δεν διαβάζεται.
Καλύτερα βάλε συγκεκριμένο κομμάτι του κώδικα που σε ενδιαφέρει.
Aν γινεται μέσα σε code tag ακόμα καλύτερα.

jimkapa
Δημοσιεύσεις: 3
Εγγραφή: 11 Μάιος 2012 19:20

Προβλημα σε πεδιο επιλογής (dropdown) φόρμας επικοινωνίας

Δημοσίευση από jimkapa » 12 Μάιος 2012 10:25

Apostoli σορυ αλλά είμαι λίγο άσχετος!
Απομόνωσα το κομμάτι του κώδικα με το πεδίο dropdown που έχει πρόβλημα και είναι αυτό:

Κώδικας: Επιλογή όλων

<p>

<strong></strong>&nbsp; &nbsp;<?php echo @$_SESSION&#91;'ctform'&#93;&#91;'Mr_error'&#93; ?><br />

<select name="ct_Mr">
<option value="Mr." selected="selected" >Mr.</option>
<option value="Mrs.">Mrs.</option>
</select>

<p>

Το παρακάτω πεδίο τύπου text είναι σωστό, κάνει τον έλεγχο και διατηρει την τιμη στο πεδίο.

Κώδικας: Επιλογή όλων

<p>

<strong>Name&#58;</strong>&nbsp; &nbsp;<?php echo @$_SESSION&#91;'ctform'&#93;&#91;'name_error'&#93; ?><br />
<input type="text" name="ct_name" size="35" value="<?php echo htmlspecialchars&#40;@$_SESSION&#91;'ctform'&#93;&#91;'ct_name'&#93;&#41; ?>" />
</p>
Πιστεύω ότι ο κώδικας που κρατάει τη τιμή στο πεδίο είναι : value="<?php echo htmlspecialchars(@$_SESSION['ctform']['ct_name']) ?>
αλλά δεν μπορώ να το ενσωματώσω στον κώδικα του dropdown πεδίου.
Ελπίζω να σε διευκόλυνα!

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Προβλημα σε πεδιο επιλογής (dropdown) φόρμας επικοινωνίας

Δημοσίευση από Apostolis_38 » 12 Μάιος 2012 22:49

Δεν μπορεί να ενσωματωθεί στο dropdown γιατί είναι input ytpe="text". Δηλαδή δέχεται τιμές από τον χρήστη.
Ο κώδικας που εμφανίζει την επιλογή του χρήστη σε ενα <select> είναι το selected="selected" όπως σωστά το έχεις.
Σε ένα input type για να εμφανίζει ότι έχει πληκτρολογήσει ο χρήστης πρέπει να τυπώνεις τη μεταβλητή που κρατάει αυτό που έχει δώσει έχω από το πεδίο.
Κάπως έτσι:

Κώδικας: Επιλογή όλων

<input type="text" name="ct_name" size="35" value="<?php echo htmlspecialchars&#40;@$_SESSION&#91;'ctform'&#93;&#91;'ct_name'&#93;&#41; ?>" /><?php echo htmlspecialchars&#40;@$_SESSION&#91;'ctform'&#93;&#91;'ct_name'&#93;&#41; ?>
ή σε άλλη περίπτωση:

Κώδικας: Επιλογή όλων

<textarea><?php echo htmlspecialchars&#40;@$_SESSION&#91;'ctform'&#93;&#91;'ct_name'&#93;&#41; ?></textarea>

jimkapa
Δημοσιεύσεις: 3
Εγγραφή: 11 Μάιος 2012 19:20

Προβλημα σε πεδιο επιλογής (dropdown) φόρμας επικοινωνίας

Δημοσίευση από jimkapa » 12 Μάιος 2012 23:31

Το προβλημα ειναι οτι το dropdown της φορμας,μολις πατηθει το αποστολη,και δεν την στελνει λογω μη συμπληρωσης των υποχρεωτικων πεδιων , χανει την τιμη που εχει επιλεξει ο χρηστης και επανεφερει την default τιμη της, αυτο θελω να αποφυγω να το ξαναεπιλεγει παλι.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Προβλημα σε πεδιο επιλογής (dropdown) φόρμας επικοινωνίας

Δημοσίευση από Apostolis_38 » 12 Μάιος 2012 23:51

Για να το κάνει αυτό υποθέτω οτι έχεις βάλει τον έλεγχο να γίνεται σε άλλο αρχείο ή σε άλλο σημείο του αρχείου. Υστερα όταν επιστρέφεις στην αρχική σελίδα/σημείο οι τιμές έχουν χαθεί.

Το καλύτερο, για μένα, θα ήταν να παρεμβάλεις ένα αρχείο με javascript και php ώστε ουσιαστικά να μη φεύγεις από την πρώτη σελίδα.
Εγώ το κάνω κάπως έτσι:
Καλώ κάποιο συγκεκριμένο αρχείο

Κώδικας: Επιλογή όλων

require_once &#40;"add_checks.func.php"&#41;;
όπου εκεί κάνω όποιους ελέγχους θελω. π.χ.

Κώδικας: Επιλογή όλων

$name_gr = trim &#40;mysql_real_escape_string &#40;$_POST&#91;"name_gr"&#93;&#41; &#41;;
if &#40;!$name_gr&#41;	&#123;
	?><script language="javascript" type="text/javascript">
		alert&#40;'Το πεδίο Τίτλος &#40;Ελληνικά&#41; δεν μπορεί να είναι κενό!'&#41;;
	</script><?php
	exit;
&#125;
ή μετά από query όπου ελέγχω αν η εγγραφή υπάρχει ήδη:

Κώδικας: Επιλογή όλων

?><script language="javascript" type="text/javascript"> 
<!--
function getgoing&#40;&#41;	&#123;
	top.location="javascript&#58;history.back&#40;-1&#41;;";
&#125;
if &#40;top.frames.length==0&#41;	&#123;
	alert&#40;"Ο Τίτλος &#40;Ελληνικά&#41; που θέλετε να καταχωρήσετε υπάρχει ήδη!"&#41;;
	setTimeout&#40;'getgoing&#40;&#41;',1&#41;;
&#125;
//--> 
</script><?php
exit;
<?php

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες