PHP Programming > General PHP Help
FormToEmail list/menu true/false
PrPrO:
Hello..
My problem is that I have created the form and formtoemail.php and everything works fine and now I created a list to choose the product...
Here is the list:
--- PHP Code: ---
<select name="select" id="select">
<option value="Molimo odaberite" selected="selected">Molimo odaberite</option>
<option value="Trup #T100">Trup #T100</option>
<option value="Trup #T101">Trup #T101</option>
<option value="Trup #T102">Trup #T102</option>
<option value="Trup #T103">Trup #T103</option>
<option value="Trup #T104">Trup #T104</option>
<option value="Trup #T105">Trup #T105</option>
<option value="Trup #T106">Trup #T106</option>
<option value="Trup #T107">Trup #T107</option>
<option value="Trup #T108">Trup #T108</option>
<option value="Trup #T109">Trup #T109</option>
<option value="Trup #T110">Trup #T110</option>
<option value="Trup #T111">Trup #T111</option>
<option value="Trup #T112">Trup #T112</option>
<option value="Trup #T113">Trup #T113</option>
<option value="Trup #T114">Trup #T114</option>
</select>
--- End code ---
And the current FormToEmail.php code
--- PHP Code: ---
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
if(isset($_POST['email'])) {
// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "info@clm-pro-tk";
$email_subject = "Your email subject line";
function died($error) {
// your error code can go here
echo "Ispri&#269;avano se, prilikom po?iljanja va?eg upita smo prona?li pogre?ku/e. ";
echo "Pogre?ka/e &#263;e biti prikazane ispod.<br /><br />";
echo $error."<br /><br />";
echo "Vrni se i popravi.<br /><br />";
die();
}
// validation expected data exists
if(!isset($_POST['ime']) ||
!isset($_POST['email']) ||
!isset($_POST['naslov']) ||
!isset($_POST['poruka'])) {
died('Ispri&#269;avamo se, prona?li smo npogre?ku prilikom slanja va?eg upita.');
}
$ime = $_POST['ime']; // required
$email = $_POST['email']; // required
$naslov = $_POST['naslov']; // required
$poruka = $_POST['poruka']; // required
$trup = $_POST['select'] ; // not required
$newsletter = $_POST['newsletter']; // not required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email)) {
$error_message .= 'E-mail ne valja.<br />';
}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$ime)) {
$error_message .= 'Ime ne valja.<br />';
}
if(strlen($naslov) < 2) {
$error_message .= 'Naslov ne valja.<br />';
}
if(strlen($poruka) < 2) {
$error_message .= 'Poruka ne valja.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Form details below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "Ime: ".clean_string($ime)."\n";
$email_message .= "Email: ".clean_string($email)."\n";
$email_message .= "Naslov: ".clean_string($naslov)."\n";
$email_message .= "Poruka: ".clean_string($poruka)."\n";
// create email headers
$headers = 'From: '.$email."\r\n".
'Reply-To: '.$email . "\r\n" .
'X-Mailer: PHP/' . phpversion();
@ mail("info@clm-pro.tk", $naslov,
$poruka, "From:" . $email . "\r\n" . $newsletter . "\r\n" . $trup . "\r\n" . $ime);
//AUTO RESPONCE MESSAGE
//Create main headers
$pporuka = "";
$pporuka .= "Po?tovani ";
$pporuka .= $ime;
$pporuka .= ", hvala na vasem upitu u vezi proizvoda: ";
$pporuka .= $trup;
$pporuka .= ", javit cemo vas se u ?to kracem roku. ";
$pporuka .= "
Upitali ste nas slijedece: ";
$pporuka .= $poruka;
//E-mails subject
//Send the email
mail($email, $naslov, $pporuka, "From:" . "info@clm-pro.tk");
?>
<!-- include your own success html here -->
Thank you for contacting us. We will be in touch with you very soon.
<?php
}
?>
--- End code ---
The error messages are on Croatian but you don't have to bother with that..
The problem is that the default selected item is Please choose(translated to english) and I need in the formtoemail to say if the select(that list) is "Molim odaberite" --> please choose then send an error message like for other parameters.. and if it is Trup #100 - Trup #114 then do nothing and submit form
I think there is a simple msolution but I can't remember any -.-
Thank you in advance!
daveismyname:
to get the form to remember what's selected use an if statement in the option to check what was posted matches if so then select that item
--- PHP Code: ---<option value="Trup #T114" <?php if($_POST['select'] == 'Trup #T114'){ echo 'selected=selected';}?>>Trup #T114</option>
--- End code ---
You would need to add this for each line.
PrPrO:
Thank you, but... could you help me a bit more and tell me where should I put those lines?
in what line in code :D
Thank you
daveismyname:
Sure:
--- PHP Code: ---
<option value="Molimo odaberite" <?php if($_POST['select'] == 'Molimo odaberite'){ echo 'selected=selected';}?>>Molimo odaberite</option>
<option value="Trup #T100" <?php if($_POST['select'] == 'Trup #T100'){ echo 'selected=selected';}?>>Trup #T100</option>
<option value="Trup #T101" <?php if($_POST['select'] == 'Trup #T101'){ echo 'selected=selected';}?>>Trup #T101</option>
<option value="Trup #T102" <?php if($_POST['select'] == 'Trup #T102'){ echo 'selected=selected';}?>>Trup #T102</option>
<option value="Trup #T103" <?php if($_POST['select'] == 'Trup #T103'){ echo 'selected=selected';}?>>Trup #T103</option>
<option value="Trup #T104" <?php if($_POST['select'] == 'Trup #T104'){ echo 'selected=selected';}?>>Trup #T104</option>
<option value="Trup #T105" <?php if($_POST['select'] == 'Trup #T105'){ echo 'selected=selected';}?>>Trup #T105</option>
<option value="Trup #T106" <?php if($_POST['select'] == 'Trup #T106'){ echo 'selected=selected';}?>>Trup #T106</option>
<option value="Trup #T107" <?php if($_POST['select'] == 'Trup #T107'){ echo 'selected=selected';}?>>Trup #T107</option>
<option value="Trup #T108" <?php if($_POST['select'] == 'Trup #T108'){ echo 'selected=selected';}?>>Trup #T108</option>
<option value="Trup #T109" <?php if($_POST['select'] == 'Trup #T109'){ echo 'selected=selected';}?>>Trup #T109</option>
<option value="Trup #T110" <?php if($_POST['select'] == 'Trup #T110'){ echo 'selected=selected';}?>>Trup #T110</option>
<option value="Trup #T111" <?php if($_POST['select'] == 'Trup #T111'){ echo 'selected=selected';}?>>Trup #T111</option>
<option value="Trup #T112" <?php if($_POST['select'] == 'Trup #T112'){ echo 'selected=selected';}?>>Trup #T112</option>
<option value="Trup #T113" <?php if($_POST['select'] == 'Trup #T113'){ echo 'selected=selected';}?>>Trup #T113</option>
<option value="Trup #T114" <?php if($_POST['select'] == 'Trup #T114'){ echo 'selected=selected';}?>>Trup #T114</option>
--- End code ---
PrPrO:
I have already done that but..
I copied it on line 35, that line is under this:
--- PHP Code: --- $ime = $_POST['ime']; // required
$email = $_POST['email']; // required
$naslov = $_POST['naslov']; // required
$poruka = $_POST['poruka']; // required
$select = $_POST['select'] ; // required
$newsletter = $_POST['newsletter']; // not required
--- End code ---
Should it go anywhere else?
Beacause when I upload it and test it, it says that there is a error on that line 35
Navigation
[0] Message Index
[#] Next page
Go to full version