System return 2 error messages instead one

Discussion in 'PHP' started by afonseca, Aug 24, 2007.

  1. #1
    Hi all!

    I have a code error and need help.
    I have a system that requires that the user fill a form.
    There are 2 ways to do it:

    1- If the user dont fill the client number ($nr = $_POST['nr']; ) we must fill
    all the others necessary fields ($name, $endereco, $localidade, $cod_postal, $pais,
    $telefone, $nrcont).

    2- If the user fill the client number ($nr = $_POST['nr']; ) we must fill
    only the fields ($name, $telefone).

    When I just fill client number the system return 2 error messages:
    (Não preencheu todos os campos obrigatórios de um cliente como nome e telefone - tente novamente.)
    and
    (Não preencheu todos os campos obrigatorios - tente novamente.)

    What I want is that the system only presents one error message for error:

    1- If the user dont fill the client number print (Não preencheu todos os campos obrigatorios - tente novamente.)

    2- If the user just fill the client number print (Não preencheu todos os campos obrigatórios de um cliente como nome e telefone - tente novamente.)

    Hope that I was clear.
    Anyone?

    Thanks in advance.
    António


    <?php
    include("db.php");

    $data = date("d-m-Y,G:i");
    $to = "geral@bastosviegas.com"; //
    $nr = $_POST['nr'];
    $name = $_POST['nome'];
    $endereco = $_POST['end'];
    $localidade = $_POST['loc'];
    $cod_postal = $_POST['cod'];
    $pais = $_POST['pais'];
    $telefone = $_POST['tel'];
    $fax = $_POST['fax'];
    $profissao = $_POST['prof'];
    $actividade = $_POST['act'];
    $email = $_POST['mail'];
    $nrcont = $_POST['nrcont'];
    $sub = "Encomenda";
    $msg = $_POST['msg'];
    $headers = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $headers .= "Dados do Cliente referente a Medicalexpress online";

    //$EmailBody = "Nome: $name\nO Email: $email\nTelefone: $telefone\nEmpresa: $empresa\nMenssagem: $msg\n";

    //verifica se o utilizador inseriu um email e se este está num formato errado
    if(!empty($email) and !ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z&shy;]{2,3})$",
    $email)) {
    echo "<div align='center'><font color='#006633' size=9 face='Verdana, Arial, Helvetica, sans-serif'><h5>O Email que foi inserido n&atilde;o tem um formato valido, por favor insira um email valido</h5></font></div>";
    echo "<div align='center'><font color='#FF0000' size=9 face='Verdana, Arial, Helvetica, sans-serif'><h5><a href='encomendar.php'>Clique aqui para corrigir</a></h5></font></div>";
    //echo " <meta http-equiv=\"refresh\" content=\"5;URL=encomendar.php\"> ";
    //exit;
    }
    //

    //verifica se o utilizador colocou um código de cliente e se está errado imprime uma mensagem de erro
    if(!empty($nr) and !ereg("([0-9]{8})",$nr)){

    echo "<div align='center'><font color='#006633' size=9 face='Verdana, Arial, Helvetica, sans-serif'><h5>O código de cliente que foi inserido n&atilde;o está correcto</h5></font></div>";
    echo "<div align='center'><font color='#FF0000' size=9 face='Verdana, Arial, Helvetica, sans-serif'><h5><a href='encomendar.php'>Clique aqui para corrigir</a></h5></font></div>";
    //echo " <meta http-equiv=\"refresh\" content=\"5;URL=encomendar.php\"> ";
    // exit;
    }
    //

    //verifica se ele inseriu um código de cliente e no caso de estar correcto passa para a proxima condição
    if(!empty($nr) and ereg("([0-9]{8})",$nr)){
    //Se respeitar a condição acima então vai verificar se preencheu os campos necessarios para o seu modo de utilização.
    if(empty($name) || empty($telefone)){
    //caso não tenha preenchido os campos obrigatorios então imprime a menssagem de erro
    echo "<div align='center'><font color='#006633' size=9 face='Verdana, Arial, Helvetica, sans-serif'><h5>N&atilde;o preencheu todos os campos obrigatórios de um cliente como nome e telefone - tente novamente.</h5></font></div>";
    echo "<div align='center'><font color='#FF0000' size=9 face='Verdana, Arial, Helvetica, sans-serif'><h5><a href='encomendar.php'>Clique aqui para corrigir</a></h5></font></div>";
    // echo " <meta http-equiv=\"refresh\" content=\"5;URL=encomendar.php\"> ";
    //exit;
    }
    //caso tudo ok envia o email com os respectivos dados
    else {

    echo "<div align='center'><font color='#006633' size=9 face='Verdana, Arial, Helvetica, sans-serif'><h5>Obrigado ".$name." os seus dados foram enviados com sucesso</h5></font></div>";

    // print"<input alt=imprimir align='right' border=0 name=submit src='images/print.jpg' type=image onClick='printpage()'><br>";

    $mesage=msn($nr,$name,$endereco,$localidade,$cod_postal,$pais,$telefone,$fax,$profissao,$actividade,$email,$nrcont,$msg,$data);

    mailbody($nr,$name,$endereco,$localidade,$cod_postal,$pais,$telefone,$fax,$profissao,$actividade,$email,$nrcont,$msg,$data);

    mail($to, $sub, $mesage, $headers);

    $qrydrop = mysql_query("select * from cart where cookieId = '" . GetCartId() . "' order by cod asc");

    while($campos = mysql_fetch_array($qrydrop))
    {
    @mysql_query("delete from cart where cookieId = '" . GetCartId() . "' ");

    }
    // exit;
    }

    }


    if(empty($name) || empty($endereco) || empty($localidade) || empty($cod_postal) || empty($pais) || empty($telefone) || empty($nrcont)) {
    echo "<div align='center'><font color='#006633' size=9 face='Verdana, Arial, Helvetica, sans-serif'><h5>N&atilde;o preencheu todos os campos obrigatorios - tente novamente.</h5></font></div>";
    echo "<div align='center'><font color='#FF0000' size=9 face='Verdana, Arial, Helvetica, sans-serif'><h5><a href='encomendar.php'>Clique aqui para corrigir</a></h5></font></div>";
    //echo " <meta http-equiv=\"refresh\" content=\"2;URL=encomendar.php\"> ";
    //exit;
    }


    else {

    echo "<div align='center'><font color='#006633' size=9 face='Verdana, Arial, Helvetica, sans-serif'><h5>Obrigado ".$name." os seus dados foram enviados com sucesso</h5></font></div>";

    // print"<input alt=imprimir align='right' border=0 name=submit src='images/print.jpg' type=image onClick='printpage()'><br>";

    $mesage=msn($nr,$name,$endereco,$localidade,$cod_postal,$pais,$telefone,$fax,$profissao,$actividade,$email,$nrcont,$msg,$data);

    mailbody($nr,$name,$endereco,$localidade,$cod_postal,$pais,$telefone,$fax,$profissao,$actividade,$email,$nrcont,$msg,$data);

    mail($to, $sub, $mesage, $headers);

    $qrydrop = mysql_query("select * from cart where cookieId = '" . GetCartId() . "' order by cod asc");

    while($campos = mysql_fetch_array($qrydrop))
    {
    @mysql_query("delete from cart where cookieId = '" . GetCartId() . "' ");

    }
    // exit;
    }
     
    afonseca, Aug 24, 2007 IP
  2. afonseca

    afonseca Peon

    Messages:
    48
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #2
    Hi again,

    just one more thing. Does anyone knows how can I create a system that saves the data of the user if I goes to the error message.
    Something like this: If the user just fill the client number He will get an error message but I want that when he comes to the form again the data that I allready inserted is there (no need to fill again).
    Thanks again.

    António
     
    afonseca, Aug 24, 2007 IP