2014-01-08 3 views
1

Я пишу простую форму PHP. Для одного из полей в форме я хочу заменить содержимое переменной, если она совпадает с текстом в заполнителе поля, чтобы он не был отправлен в электронном письме.Изменение переменной POST, которая соответствует строке

<p>Base Colour Preference 
     <input type="text" name="basecolour" value="ENTER BASE COLOUR"> 
</p> 

+

if ($basecolour == "ENTER BASE COLOUR") { 
    $basecolour = "No colour chosen"; 
} 

Если изменить значение переменной, не так ли? Вместо этого он отправляет по электронной почте исходную строку «ENTER BASE COLOR». Вот полный код:

<?php 

$name = $_POST['name']; 
$email = $_POST['email']; 
$basecolour = $_POST['basecolour']; 
$highlightcolour = $_POST['highlightcolour']; 
$comments = $_POST['comments']; 

$header = "from <$email>"; 

$message = "From: $name \nBase Colour: $basecolour \nHighlight Colour: $highlightcolour \nComments: $comments"; 

$to = "[email protected]"; 

$subject ="Preorder Registration"; 

if ($basecolour == "ENTER BASE COLOUR") { 
    $basecolour = "No colour chosen"; 
} 

if ($name == "YOUR NAME") { 
echo "Please enter your name"; 
} 

if ($email == "YOUR EMAIL") { 
    echo "Please enter your email address"; 
} 

else { 
mail($to, $subject, $message, $header) or die("error!"); 
echo "DONE"; 
} 

?> 

Любая помощь очень ценится! Я все еще учусь :)

+0

«Я все еще учусь» Узнайте, как использовать проверку ввода и выход из нее. ИМХО, это первое, что нужно сделать. – rabudde

ответ

2

Вам нужно добавить этот

$message = "From: $name \nBase Colour: $basecolour \nHighlight Colour: $highlightcolour \nComments: $comments"; 

после if заявления!

Причина:: Поскольку вы уже присвоили значение ENTER BASE COLOUR переменной $message.

+1

Ах, конечно! Спасибо! :) –

0

Мое сильное предположение не является эффективным ответом:

Вы должны использовать HTML5 заполнитель атрибут вместо вставки его в значение, так как все современные браузеры поддерживают HTML5 в настоящее время. И затем подтвердите свою форму, если они являются обязательными, или отметьте нулевое значение в вашей обработке формы и укажите соответствующее значение в теле сообщения.

<input type="text" name="basecolour" value="" placeholder="ENTER BASE COLOUR"> 
Смежные вопросы