I'm creating an application in PHP and mysql to manage people outside my company.
ThelogicisthisandIinsertedtheCompaniesthatIwillassociatewitheachentityPeoplebutwhentryingtoinsertintothebankviaphpthereisnoanswerneitherinException.(viamysqlisgood).
followspartofthecode:
<?php$erro=null;$valido=false;if(isset($_REQUEST["validar"]) && $_REQUEST["validar"] == true)
{
if(strlen(utf8_decode($_POST["nome"])) < 4)
{
$erro = "Preencha o campo nome corretamente (4 ou mais caracteres)";
}
else if(strlen(utf8_decode($_POST["apelido"])) < 3)
{
$erro = "Preencha corretamente o apelido ";
}
else if(is_numeric($_POST["nifPessoa"]) == false)
{
$erro = "Campo nif deve ser numérico e conter 9 digitos";
}
else if ($_POST["sexo"] != "M" && $_POST["sexo"] != "F")
{
$erro = "Preencha o campo sexo corretamente. ";
}
else if (verificaData($_POST["dataNascimento"]) == false )
{
$erro = "Formato da data invalido";
}
/* else if (strlen(utf8_decode($_POST["nacionalidade"])) < 5)
{
para já não vou verificar a nacionalidade
}
*/
else
{
$valido = true;
try
{
$connection = new PDO("mysql:host=localhost;dbname=sifo5","root","root");
// Caso der certo o bloco catch() nao arranca
$connection->exec("set names utf8");
}
catch(PDOException $e)
{
echo "Falha: ".$e->getMessage();
exit();
}
$sql = "INSERT INTO Pessoas
(nome,apelido,nifPessoa,sexo,dataNascimento,nascionalidade,Empresas_idEmpresas)
values(?,?,?,?,?,?,?)";
$stmt = $connection->prepare($sql); // Prepara a conecção
$stmt->bindParam(1,$_POST["nome"]);
$stmt->bindParam(2,$_POST["apelido"]);
$stmt->bindParam(3,$_POST["nifPessoa"]);
$stmt->bindParam(4,$_POST["sexo"]);
$stmt->bindParam(5,$_POST["dataNascimento"]);
$stmt->bindParam(6,$_POST["nascionalidade"]);
$stmt->bindParam(7,$_POST["Empresas_idEmpresas"]);
$stmt->execute();
if($stmt->errorCode() != "00000")
{
$valido=false;
$erro= "Erro codigo ".$stmt->errorCode().": ";
$erro.= implode(", ", $stmt->errorInfo());
}
}
}
?>
<HTML>
<HEAD>
<TITLE>Formulário para Registo Pessoas</TITLE>
</HEAD>
<BODY>
<?php
if($valido == true)
{
echo "Pessoa criada com sucesso! ";
}
else
{
if(isset($erro))
{
echo $erro . "<BR><BR>";
}
?>
<FORM method=POST action="?validar=true">
Nome da Pessoa:
<BR>
<INPUT type=TEXT name=nome
<?php if(isset($_POST["nome"])) { echo "value='" . $_POST["nome"] . "'"; } ?>
><BR>
Apelido:
<BR>
<INPUT type=TEXT name=apelido
<?php if(isset($_POST["apelido"])) { echo "value='" . $_POST["apelido"] . "'"; } ?>
><BR>
NIF da Pessoa:
<BR>
<INPUT type=TEXT name=nifPessoa
<?php if(isset($_POST["nifPessoa"])) { echo "value='" . $_POST["nifPessoa"] . "'"; } ?>
><BR> <BR>
Sexo:
<INPUT type=RADIO name=sexo value="M"
<?php if(isset($_POST["sexo"]) && $_POST["sexo"] == "M") { echo "checked"; } ?>
>Masculino
<INPUT type=RADIO name=sexo value="F"
<?php if(isset($_POST["sexo"]) && $_POST["sexo"] == "F") { echo "checked"; } ?>
>Feminino
<BR>
Data de Nascimento:
<input type= text name=dataNascimento >
<BR>
Nacionalidade:
<select name="nascionalidade">
<option value="">-- select one --</option>
</select>
Empresa externa a que pertence:
<input type=text name=Empresas_idEmpresas value =1 > (tentei inserir logo numa empresa como teste)
<INPUT type=SUBMIT value="Enviar">
</FORM>
<?php
}
?>
</BODY>
</HTML>