2013-08-09 1 views
0

Я пытаюсь добавить php на страницу моего контакта, чтобы сообщение было как минимум несколько символов для его отправки. Я пробовал, если (strlen()> 2), но он просто пропускает сообщения в любом случае. enter code hereНе отправляйте сообщение, если длина <2

<div id="phillya11"> 
    <a href="#" style="text-decoration:none;color:#FFF5ee"> 
     Contact us 
    </a> 
</div> 

<div id="soon4"> 
    <form action="index.php" method="POST"> 
     <p>Name</p> <input type="text" name="name"> 
     <p>Email</p> <input type="text" name="email"> 
     <p>Message</p> 
     <textarea style="width:475px; height:175px;margin-left:7%" name="message"></textarea><br /> 
     <input type="submit" value="Send"><input type="reset" value="Clear"> 
    </form> 
</div> 

PHP:

<?php 
    if (strlen($message)> 2) 
     $name = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 
    $formcontent="From: $name \n Message: $message"; 
    $recipient = "myemail"; 
    $subject = "Contact Form"; 
    $mailheader = "From: $email \r\n"; 
    mail($recipient, $subject, $formcontent, $mailheader) or die("Error!"); 
    echo "Thank You!"; 
?> 

JQuery:

$("#phillya11").click(function() 
{ 
    $("#soon4").show(); 
    $("#soon").hide(); 
    $("#soon1").hide(); 
    $("#soon2").hide(); 
    $("#soon3").hide();  
    $('#close4').click(function() 
    { 
     $("#soon4").hide(); 
    }); 
+0

Отсутствующие фигурные скобки, проверьте свой синтаксис. – elclanrs

+0

Возможно, вы захотите проверить документацию PHP относительно структур управления. (Например [страница документации относительно оператора «if»] (http://www.php.net/manual/en/control-structures.if.php).) Найдите «группу операторов». –

+0

@Tomas Creemers я вижу сейчас в любое время, когда я использую, если они должны быть в

ответ

1

Ваш $message еще не установлен, так что если оператор не сможет. Измените его на сообщение. Вам также необходимо проверить, что сообщение установлено до того, как вы проверите его длину строки.

Обратите внимание также на использование { } с оператором if, если утверждение верно, содержимое между фигурными фигурными скобками выполняется.

<?php 
    //$message is not set here until inside the if statment 
    //there for we should check $_POST['message'] 
    //if $_POST['message'] has the criteria you seek 
    //THEN $message will be set as shown at line 5 which i marked for you to see 

    if (isset($_POST['message']) && strlen($_POST['message'])> 2) { 

    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; //line 5 $message now set 
    $formcontent="From: $name \n Message: $message"; 
    $recipient = "myemail"; 
    $subject = "Contact Form"; 
    $mailheader = "From: $email \r\n"; 
    mail($recipient, $subject, $formcontent, $mailheader) or die("Error!"); 
    echo "Thank You!"; 

} else { 
    echo 'Your message must be longer than 2 characters!'; 
} 
?> 
0
<?php 
    $message = $_POST['message']; 
    if (strlen($message)> 2) { 
     $name = $_POST['name']; 
     $email = $_POST['email']; 
     $formcontent="From: $name \n Message: $message"; 
     $recipient = "myemail"; 
     $subject = "Contact Form"; 
     $mailheader = "From: $email \r\n"; 
     mail($recipient, $subject, $formcontent, $mailheader) or die("Error!"); 
     echo "Thank You!"; 
    }  


?> 
0

Попробуйте

if (strlen($_POST['$message'])> 2) { 
    ' do something; 
} 
1

Этот метод использует if message is less than 2 characters, то не обрабатывают выполнение для функции mail(). Если сообщение больше, чем это, то оно будет действовать при выполнении функции mail().

<?php 

if (strlen($_POST['message']) < 2) { 
die("Sorry, try again."); 
} 

else { 

$name = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 
    $formcontent="From: $name \n Message: $message"; 
    $recipient = "myemail"; 
    $subject = "Contact Form"; 
    $mailheader = "From: $email \r\n"; 
    mail($recipient, $subject, $formcontent, $mailheader) or die("Error!"); 
    echo "Thank You!"; 

} 

?> 
+0

Почему он должен проверить, что он меньше 2? Вы можете сделать> 2 и использовать инструкцию else, если это не так. – Sir

+0

@Fred я попробовал, и никакие сообщения не могли пройти, если они где> то 2 или нет. –

+0

@Fred, так что извините, забудь поставить мой email lol! –

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