Ir para conteúdo
Fórum Script Brasil
  • 0

problema - formulários não funcionam


DemianCalixto

Pergunta

Buenas, tchê, bom dia a todos!

Sou novo nesse negócio de PHP, mas estou tentando fazer algo legal. Pretendo desenvlver uma aplicação para cadastro de estabelecimentos para a Vigilância Sanitária aqui no meu município.

Ainda em fase inicial de experimentação, me deparei com um problema grande já no primeiro formulário, para inclusão de estabelecimento. O código:

<html>
<head>
<title>VISA - Incluir Estabelecimento</title>
</head>
<body>
<form action="salva.php" method="post">
<p><b>Nome*: </b> <input type="text" name="nome" /></p>
<p><b>Responsável*: </b> <input type="text" name="resp" /></p>
<p><b>Endereço*: </b> <input type="text" name="ende" /></p>
<p><b>Telefone: </b> <input type="text" name="tele" /></p>
<p><b>Ramo de atividade: </b> <input type="text" name="ramo" /></p>
<p><b>Emissão do último alvará: </b> <input type="text" name="emis" /></p>
<p><b>Vencimento do alvará: </b> <input type="text" name="venc" /></p>
<p><input type="submit" value="Incluir dados" name="incl" /></p>
</body>
</html>
bom, já deu pra ver que a página manda os dados para o salva.php, que é assim:
<?php
$tabela = new DOMDocument('1.0', 'utf8');
    $tabela->formatOutput = true;
    
$nomes = trim($_POST['nome']);
$resps = trim($_POST['resp']);
$endes = trim($_POST['ende']);
$teles = trim($_POST['tele']);
$ramos = trim($_POST['ramo']);
$emiss = trim($_POST['emis']);
$vencs = trim($_POST['venc']);

// ---------------------------------

function escreveNovo() {
if (empty($nomes) || empty($resps) || empty($endes)) {
    echo("Preencha os campos obrigatórios! <a href=\"http://localhost/visa/inclui.php\">Voltar </a>");
    exit;
}
else {    
    header("Content-type: text/xml");
    $indi = strpos($resps, " ");
    $espa = $indi - 1;
    $titu = substr($resps, 0, $espa);

    $pri = $tabela->createElement("estabelecimento");
    $tabela->appendChild($pri);
    $sec = $tabela->createAttr("dono");
    $pri->appendChild($sec);
    $ter = $tabela->createElement("nome");
    $pri->appendChild($ter);
    $qua = $tabela->createElement("responsavel");
    $pri->appendChild($qua);
    $qui = $tabela->createElement("endereco");
    $pri->appendChild($qui);
    $sex = $tabela->createElement("telefone");
    $pri->appendChild($sex);
    $set = $tabela -> createElement("ramo");
    $pri->appendChild($set);
    $oit = $tabela -> createElement("emissao");
    $pri->appendChild($oit);
    $non = $tabela -> createElement("vencimento");
    $pri->appendChild($non);

    $utit = $tabela->createTextNode($titu);
    $sec->appendChild($utit);
    $enom = $tabela->createTextNode($nomes);
    $ter->appendChild($enom);
    $pser = $tabela->createTextNode($resps);
    $qua->appendChild($pser);
    $edne = $tabela->createTextNode($endes);
    $qui->appendChild($edne);
    $elet = $tabela->createTextNode($teles);
    $sex->appendChild($elet);
    $omar = $tabela->createTextNode($ramos);
    $set->appendChild($omar);
    $sime = $tabela->reateTextNode($emiss);
    $oit->appendChild($sime);
    $cnev = $tabela->createTextNode($vencs);
    $non->appendChild($cnev);
}
}

// -----------------------------------------

escreveNovo();
$tabela->save('estab.xml');
?>

O problema reside já no início da função escreveNovo(): na cláusula if, por algum motivo bizarro os dados do formulário são tratados como vazios (embora tenham sido preenchidos corretamente), e o programa pára na mensagem estipulada.

Alguém sabe me explicar por que esse negócio não vai adiante com os dados?

tenho o WAMP instalado na versão mais recente, e sim, pretendo usar XML em vez de MySQL, já que vou trabalhar com um volume pequeno de dados.

Desde já agradeço pela ajuda!!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
altere de aspas simples para duplas e faça um teste para ver se esta recebendo os dados..

$nomes = trim($_POST["nome"]);

echo "nome recebido $nome";

exit;

funcionando altere os demais _POST para aspas duplas

esqueci de mencionar isto: já fiz o teste com echo, e ele funciona tanto com aspas simples quanto duplas, retona os valores direitinho. Só dá problema mesmo na página salva.php, onde não funciona nem de um jeito nem de outro.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...