segunda-feira, 2 de outubro de 2017

Cadastro com pesquisa com PHP, PDO e MySQL


Hoje veremos como criar uma pagina simples de cadastro mas verificando antes se o registro já não existe no banco de dados – se houver, o cadastro repetido não é efetuado e é exibida uma mensagem ao usuário e também não será permitido cadastros em branco.
Para isso, usaremos a mesma tabela de amigos deste post: Pagina de busca simples em PHP com PDO e MySQL usando um formulário.

OBS: Este texto pressupõe que a extensão PDO já esteja instalada corretamente.

Criada a tabela do banco de dados crie uma pagina em branco e cole o código a seguir:

<?php
// aqui a conexao
?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>pesquisa e cadastro simples com PDO</title>
</head>

<body>

<h2>Pesquisa e cadastro simples com PDO</h2>
<form name="form1" method="post" action="">
<label>
  <input name="cxnome" type="text" id="cxnome" value="" size="30">
  </label>
  <label></label>

  <label>
  &nbsp;&nbsp;
  <input type="submit" name="pesquisar" value="Pesquisar">
  </label>
&nbsp;
<label>
<input type="reset" name="Submit2" value="Limpar">
</label>
</form>

<?php

if(isset($_POST['pesquisar'])&& empty($_POST["cxnome"]))
{
echo "preencha o campo de pesquisa";
}

if(isset($_POST['pesquisar'])&&!empty($_POST["cxnome"]))
{
$nome=$_POST['cxnome'];
$stmt = $con->prepare("select * from amigos where nome like :letra");
$stmt->bindValue(':letra', '%'.$nome.'%', PDO::PARAM_STR);
$stmt->execute();
$resultados = $stmt->rowCount();

if($resultados>=1){

echo "já existe usuario cadstrado com esse nome";
}
else
{
$stmt2 = $con->prepare("insert into amigos (nome) values(:letra)");
$stmt2->bindValue(':letra', $nome, PDO::PARAM_STR);
$stmt2->execute();
}

if($stmt2){
echo "cadastro efetuado";}

}

?>

</body>
</html>

Salve e teste; a pagina já deverá estar funcionando corretamente.