2014-01-02 2 views
0

Я не могу сделать эту контактную форму работы, не уверен, что это такое, будет очень ценю вашу помощь. вот код:Контактный формуляр не работает

<?php 
//Process Contact 
if (isset ($_POST['send'])) { 
//Variables 
$name=$_POST['name']; 
$email=$_POST['email']; 
$message=$_POST['message']; 

//Check all the inputs 
if ($name!='' && $email!='' && $message!='') { 
// then Html 
$contenido = '<html><body>'; 
$contenido .= '<h2>Contact from</h2>'; 
$contenido .= '<p>Sent: '. date("D M Y").'</p>'; 
$contenido .= '<p>Name: <strong>'.$name.'</strong>'; 
$contenido .= '<p>Email: <strong>'.$email.'</strong>'; 
$contenido .= '<p>Message: <strong>'.$message.'</strong>'; 
$contenido .= '<hr />'; 
$contenido .= '</body></html>'; 

// If the forms are full, it shows the message 
mail ("[email protected]", "Mother-Well", $contenido, "From: $email\nContent-Type:text/html; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit"); 
$flag='MessageSuccess'; 
$mensaje='<div class="MessageSuccess">Your message has been sent, we will contact you shortly .<br/><strong>Thank you!</strong> </div>'; 

} else { 
//If there's a from to fill... 
$flag='err'; 
$mensaje='<div class="MessageError">All the information in the entry form are required.  Please, try again</div>'; 
} 
} 
?> 

And the HTML: 

<? echo $mensaje; /*Status form */ ?> 
<? if ($flag!='MessageSuccess') { ?> 
<form action="contact.php" method="post"> 
<input <? if (isset ($flag) && $_POST['name']=='') { echo 'class="MessageError"';}?> type="text" value="<? echo $_POST['name'];?>" maxlength="40" /><br /> 
<input <? if (isset ($flag) && $_POST['email']=='') { echo 'class="MessageError"';} ?>  type="text" value="<? echo $_POST['email'];?>" maxlength="40" /><br />    
<textarea <? if (isset ($flag) && $_POST['message']=='') { echo 'class="MessageError"';}  ?> name="message" rows="4"><? echo $_POST['message'];?></textarea><br /> 
<input type="submit" value="CONTACT US" name="send" /> 
</form> 

<? } ?> 

Hope somebody can help me, thanks in advance :) 
+0

Что не работает, это дает какие-либо ошибки? ... Не просто дать код и попросить о помощи и сказать, что это не работает, мы не должны отлаживать весь ваш код для вас. – iBrazilian2

+0

Можете ли вы использовать ' Floris

+0

Извините Аттиса Барроса, если вы собираетесь быть таким скупым, не беспокойтесь, чтобы помочь мне .. Может быть, я задаюсь вопросом ... но у меня есть второй шанс? Проблема в том, что форма contcat не работает, когда я пытаюсь отправить и отправить сообщение об ошибке: «Вся информация в форме заявки не требуется. Повторите попытку, но у меня есть код. – marijoing

ответ

0

Это ни в коем случае не является единственно возможной ошибки, но вы

<? if ($flag!='MessageSuccess') { ?> 
<form action="contact.php" method="post"> 
<input <? if (isset ($flag) 

Другими словами, вы предполагая переменная $flag существует во внешнем контуре, затем проверьте его существование во внутреннем цикле. Это бессмысленно.

Далее я рекомендовал бы использовать

<?php 

вместо

<? 

во все времена. Не уверен, что это имеет значение, но это, безусловно, более условно. См. https://softwareengineering.stackexchange.com/a/151694 для описания коротких тегов и когда они подходят для использования (вы включили их в свою сборку?)

+0

Спасибо за вашу помощь !. :) – marijoing

+0

Вы добиваетесь успеха? Вы пробовали мои предложения? Что вы получаете, когда вы 'print_r ($ _ POST);'? – Floris

+0

Я заставляю его работать! .. Я узнал, что параметр name = "name" отсутствует, теперь он работает, спасибо за вашу помощь! – marijoing

Смежные вопросы