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!!