+ Responder ao Tópico



  1. #1

    Padrão Formulario de inclusao de funcionarios com php + MySQL

    Fala pessoal under, estou com uma dúvida com relação a um script que estou estudando. Já peguei ele pronto em uma apostila que baixei. Ele é na realidade um curso ensinando passo a passo o básico sobre PHP e no final tem um projeto pra desenvolver. Bem legal, só que tem umas coisinhas aqui e ali que não estão funcionando. Vou posta o código e se alguém ai souber onde está o erro me ajudem, pois sou iniciante e já revirei o código de cabo a rabo e não encontrei nada. Até joguei no Dreaweaver CS5 e ele também disse que tá tudo certo. Então agora conto com ajuda de vocês aqui do forúm. Ai vai:


    <html>
    <head>
    <title>Consulta de
    Funcion&aacute;rios</title>
    <meta http-equiv="Content-Type"
    content="text/html; charset=iso-8859-1">
    </head>
    <body
    bgcolor="#FFFFFF" text="#000000" link="#333399" vlink="#CC0000"
    alink="#663399">


    <?php
    // Recebe variáveis globais do formulário
    global $nome;
    global
    $unidade;
    global $telefone;
    global $email;
    global $cargo;

    // Tirar espaço em branco das variáveis recebidas através do
    formulário
    $nome = trim($nome);
    $unidade = trim($unidade);
    $telefone =
    trim($telefone);
    $email = trim($email);
    $cargo = trim($cargo);

    // Consiste as variáveis recebidas
    if (empty($nome) || empty($unidade) ||
    empty($email) || empty($telefone) || empty($cargo)){

    /*
    Comentar blocos de código
    */

    // Se os campos obrigatórios não forem preenchidos, recria o formulário e
    exibe mensagem de erro

    echo('
    <html>
    <head>
    <meta http-equiv="Content-Type"
    content="text/html; charset=iso-8859-1" />
    <title>Inclusão de
    Funcionários</title>
    </head>
    <body>
    ');

    echo
    ("<p><center><img src=\"topo.jpg\" width=\"779\"
    height=\"173\"></center></p>");

    echo ("<font color=\"#FF000\"><b>Campo(s) obrigatório(s) não
    preenchido(s)</b><font>");

    echo ("
    <table width=\"779\" border=\"0\"
    cellspacing=\"0\" align=\"center\">
    <tr>
    <td>
    <p><b>Formulário de
    inclusão:<br></b></p>

    <form method=\"post\"
    action=\"inclusao.php\">

    <p>Nome
    completo:
    <input
    type=\"text\" name=\"nome\" value=\"$nome\" size=\"25\"
    maxlength=\"50\"></p>

    <p>Unidade:

    <input type=\"text\" name=\"unidade\" value=\"$unidade\" size=\"40\"
    maxlength=\"40\"></p>

    <p>Telefone:

    <input type=\"text\" name=\"telefone\" value=\"$telefone\" maxlength=\"10\"
    size=\"10\"></p>

    <p>E-mail:

    <input type=\"text\" name=\"email\" value=\"$email\" size=\"25\"
    maxlength=\"40\"></p>

    <p>Cargo:

    <input type=\"text\" name=\"cargo\" value=\"$cargo\" size=\"40\"
    maxlength=\"40\"></p>
    <p>
    <input type=\"submit\" name=\"Submit\"
    value=\"Enviar\">

    </p>
    </form>
    </td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    </tr>
    </table>
    ");
    }

    else{

    // Inclui os dados na tabela funcionários

    // Cria uma conexão com o servidor MySQL passando host, username e
    senha
    $conec = mysql_connect ("localhost","root","admin") or die ("Falha
    na
    conexão com o banco de dados");

    // Declarando SQL
    $declar = "INSERT into funcionarios values ('$nome',
    '$unidade',
    '$telefone', '$email', '$cargo')";

    // Roda a query e trata resultado
    $tipo_msg = 'I';
    if (mysql_db_query
    ("unicamp", $declar, $conec)){
    $ok =
    1;
    header("Location:
    exibe_mensagem.php?$ok&tipo_msg=$tipo_msg");
    }else{

    $ok = 2;
    header("Location:
    exibr_mensagem.php?ok=$ok&tipo_msg=$tipo_msg");
    // header("Location: exibe_mensagem.php?vriavel1=$variavel1 $variavel2=$variavel2");
    }

    // Fecha a conexão com o servidor MySQL (Opcional)
    mysql_close ($conec);
    }

    ?>

    </body>
    </html>
    consegui abrir o código no browser sem dar aqueles erros malucos, só que na hora de enviar os dados não envia. Aparece a mensagem "Campo(s) obrigatório(s) não
    preenchido(s)";

  2. #2

    Padrão Re: Formulario de inclusao de funcionarios com php + MySQL

    // Declarando SQL
    $declar = "INSERT into funcionarios values ('$nome', '$unidade','$telefone', '$email', '$cargo')";

    //Corrigindo
    $declar = "INSERT INTO funcionarios (nome,nidade,telefone,email,cargo)VALUES ('$nome', '$unidade','$telefone', '$email', '$cargo')";

  3. #3

    Padrão Re: Formulario de inclusao de funcionarios com php + MySQL

    Atualizei o codigo e continua dando o mesmo erro.

  4. #4

    Padrão Re: Formulario de inclusao de funcionarios com php + MySQL

    Depois de ler um tópico em um forúm resolvi estudar mais a fundo os conceitos básicos dessas duas linguagens. E antes de tudo postar aqui essa mensagem. Percebi que talvez minha pergunta seja muito superficial, uma vez que de nada vai adiantar alguém daqui responder a nivel, sendo que somente copiei e colei o esse código. Vou procurar entender o funcionamento de cada coisa, pra que serve, o que faz e talvez eu mesmo consiga enxergar onde está o erro. Sei que muito aqui sabem responder e resolver o problema, eu porém não estaria resolvendo o problema e sim quem respondeu, apesar de iniciante sei que nada vem fácil, o que vem tbm vai fácil, então de nada adianta eu pegar tudo mastigado colocar lá e falar que foi eu que fiz. Vou aprender como funciona o sistema depois vou questioná-lo e ai então expor minhas dúvidas. Aprendi que se pulamos o início, ou seja, o principio básico das coisas, o resto fica mais difícil mais pra frente. Então ao invés de perguntar como se faz, vou estudar e praticar e perguntar porque está assim e não dessa forma, sendo que assim também funciona?
    É isso, vlw

  5. #5

    Padrão Re: Formulario de inclusao de funcionarios com php + MySQL

    Samukinha, vc não abriu corretamente as inciativas do PHP, no caso: faltou a tag de abertura do PHP "<?"(sem aspas), isso logo depois do seu codigo HTML, e tome cuidado na hora de usar os comentários no PHP usando a referênca: "//" (somente usada em uma linha quando se quer comentar o código)... testei fazendo essas correções funcionou blz.