2013-06-29 2 views
-2
<?php 
include('backoffice/dbconnect.php'); 
if(isset($_POST['contact_submitted'])) 
{ 
    $nome  = $_POST["name"]; 
    $email = $_POST["email"]; 
    $mensagem = $_POST["message"]; 
    if (empty($nome)) { 
     $noname = '<span class="error">Insira o seu nome!</span></br>'; 
     echo $noname; 
    } 
    if (empty($email)) { 
     $noemail = '<span class="error">Insira o seu email!</span></br>'; 
     echo $noemail; 
    } 
    if (empty($mensagem)) { 
     $nomensagem = '<span class="error">Insira uma mensagem!</span></br>'; 
     echo $nomensagem; 
    } 
    else 
    { 
     global $email; 
     mail ("[email protected]","$nome, Contato Turismo Murtoseiro", 
       "Nome: $nome\n Email: $email\n Mensagem: $mensagem\n"); 

     $sucesso = '<span class="yes">Mensagem enviada com sucesso!</span>'; 
     echo $sucesso; 
    } 
} //END IF 
?> 

Что не так с этим кодом? Я хочу проверить все поля, и если ни один из них не пуст, отправьте сообщение. Если все пустые, это нормально, но если у i $ mensagem есть что-то, в нем говорится «echo $ sucesso;» но все другие поля пусты, поэтому его не suppost случиться ..Validate php form

+1

Пожалуйста, уточнить ваш вопрос. Мы не в твоей голове. –

+0

@AurelioDeRosa прочитал это http://meta.stackexchange.com/questions/9953/could-we-please-be-a-bit-nicer-to-new-users – bugwheels94

+0

@Ankit Когда вы посещаете чей-то дом, вы обычно учитесь как вести себя, а затем что-то делать. У SO действительно слишком много вопросов: «Это не работает, почему?». Поскольку мы дали свободное время в ответе, OP должен хотя бы не лениться и детализировать то, что им нужно, а не копировать/вставлять код, а затем говорить ... «Они разрешат проблему для меня» –

ответ

2
if (empty($nome)) { 
    $noname = '<span class="error">Insira o seu nome!</span></br>'; 
    echo $noname; 
} 
else if (empty($email)) { 
    $noemail = '<span class="error">Insira o seu email!</span></br>'; 
    echo $noemail; 
} 
else if (empty($mensagem)) { 
    $nomensagem = '<span class="error">Insira uma mensagem!</span></br>'; 
    echo $nomensagem; 
} 
else 
{ 
    global $email; 
    mail ("[email protected]","$nome, Contato Turismo Murtoseiro", 
        "Nome: $nome\n Email: $email\n Mensagem: $mensagem\n" 
    ); 
    $sucesso = '<span class="yes">Mensagem enviada com sucesso!</span>'; 
    echo $sucesso; 
} 

Это происходит только при условии if и else.

+0

его работа. Спасибо :) –

0
if (empty($nome)) { 
    $noname = '<span class="error">Insira o seu nome!</span></br>'; 
    echo $noname; 
} 
if (empty($email)) { 
    $noemail = '<span class="error">Insira o seu email!</span></br>'; 
    echo $noemail; 
} 
if (empty($mensagem)) { 
    $nomensagem = '<span class="error">Insira uma mensagem!</span></br>'; 
    echo $nomensagem; 
} 
if(!empty($nome) && !empty($email) && !empty($mensagem)) 
{ 
    global $email; 
    mail ("[email protected]","$nome, Contato Turismo Murtoseiro", 
        "Nome: $nome\n Email: $email\n Mensagem: $mensagem\n" 
    ); 
    $sucesso = '<span class="yes">Mensagem enviada com sucesso!</span>'; 
    echo $sucesso; 
} 

Это также покажет многочисленные ошибки проверки в случае, если несколько полей пустые. Вот почему я использовал простые if заявления вместо if else if..else заявления

0

Это потому, что вам не хватает else заявления между вашим МФСОМ ...

<?php 
    include('backoffice/dbconnect.php'); 
    if(isset($_POST['contact_submitted'])) 
     { 
      $nome  = $_POST["name"]; 
      $email = $_POST["email"]; 
      $mensagem = $_POST["message"]; 
      if (empty($nome)) { 
       $noname = '<span class="error">Insira o seu nome!</span></br>'; 
       echo $noname; 
      } else if (empty($email)) { 
       $noemail = '<span class="error">Insira o seu email!</span></br>'; 
       echo $noemail; 
      } else if (empty($mensagem)) { 
       $nomensagem = '<span class="error">Insira uma mensagem!</span></br>'; 
       echo $nomensagem; 
      } else { 
       global $email; 
       mail ("[email protected]","$nome, Contato Turismo Murtoseiro", 
       "Nome: $nome\n Email: $email\n Mensagem: $mensagem\n" 
      ); 
      $sucesso = '<span class="yes">Mensagem enviada com sucesso!</span>'; 
      echo $sucesso; 
     } 
    } //END IF 
?> 

Но это только один дисплеем сообщением об ошибке сразу. Вы можете установить один ошибку строку переменной и хранить в ней ошибку, а затем проверить, если эта строка пуста, если да отправить электронную почту и т.д., если не эхо строки

<?php 
    include('backoffice/dbconnect.php'); 
    if(isset($_POST['contact_submitted'])) 
     { 
      $nome  = $_POST["name"]; 
      $email  = $_POST["email"]; 
      $mensagem = $_POST["message"]; 
      // initialize error variable 
      $error  = ''; 
      if (empty($nome)) { 
       $error .= '<span class="error">Insira o seu nome!</span></br>'; 
      } if (empty($email)) { 
       $error .= '<span class="error">Insira o seu email!</span></br>'; 
      } if (empty($mensagem)) { 
       $error .= '<span class="error">Insira uma mensagem!</span></br>'; 
      } 
      if ($error == '') { 
       global $email; 
       mail ("[email protected]","$nome, Contato Turismo Murtoseiro", 
       "Nome: $nome\n Email: $email\n Mensagem: $mensagem\n" 

       $sucesso = '<span class="yes">Mensagem enviada com sucesso!</span>'; 
       echo $sucesso; 
      } else { 
       echo $error; 
      }; 
     } 
    } //END IF 
?>