0
I am creating a PHP and mysql application to manage people outside my company.
The logic is this already inserted the Companies that I will associate to each entity People but when trying to insert in the bank via php there is no answer nor in Exception. (via mysql is good).
follows part of the code:
<?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>
Thanks for the edition!
– slydor37
How do I close the question ? I have already solved the problem.
– slydor37