Ajuda com html, php,css e mysql

HTML

CSS

MySQL

PHP

11/09/2019

Boa noite, comecei a fazer um projeto pra faculdade, fiz o index, criei uma tela pra cadastro de login e senha, conseguir realizar a conexão com o bd, até ai tudo bem, quando eu fui pra área restrita e fiz uma tela de cadastrar um cliente, fiz o mesmo passo a passo igual eu fiz com a tela cadastro de login e senha, ele aparece a msg que foi cadastrado porem não joga as informaçoes no meu bd, vou deixar abaixo os codigos.

----------------------------------- index --------------------------------------------

<?php
require_once 'C:\\xampp\\htdocs\\tela de login\\classes\\usuarios.php';
$u = new usuario;
?>

<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8"/>
<title>Dra. Renata Barros</title>
<link rel="stylesheet" href="css/estilo1.css">
</head>
<body>
<div id="corpo-form">
<h1>Entrar</h1>
<form method="POST" >
<input type="email" name="email" placeholder="Usuário" required="required" >
<input type="password" name="senha" placeholder="Senha" required="required">
<input type="submit" value="ACESSAR" class="entrar">
<a href="cadastrar.php">Ainda não é escrito?<strong> Cadastre-se!</strong></a>
</form>
</div>
<?php
if(isset($_POST['email']))
{
$email = addslashes($_POST['email']);
$senha = addslashes($_POST['senha']);
//verificando se todos os campos nao estao vazios
if(!empty($email) && !empty($senha))
{
$u->conectar("projetorenata","localhost","root",""); //conectando ao banco
if($u->msgErro=="") // caso a mensagem esteja vazia, login ok
{
if ($u->logar($email, $senha))
{
header("location:tela1.php"); //encaminhado para proxima area apos verificar usuario e senha
}
else
{

echo "Email e/ou senha estão incorretos!";

}
}
else
{

echo "Erro: ".$u->msgErro;

}
}
else
{

echo "Preencha todos os campos!";

}
}
?>
</body>
</html>

-------------------------------------------cadastrar------------------------------------------------
<?php
require_once 'C:\\xampp\\htdocs\\tela de login\\classes\\usuarios.php';
$u = new usuario;
?>

<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8"/>
<title>Dra. Renata Barros</title>
<link rel="stylesheet" href="css/estilo2.css">

<script>
function formatar(mascara, documento){
var i = documento.value.length;
var saida = mascara.substring(0,1);
var texto = mascara.substring(i)

if (texto.substring(0,1) != saida){
documento.value += texto.substring(0,1);
}

}
</script>

</head>
<body id="cad">
<div id="corpo-form">
<h1>Cadastrar</h1>
<form method="POST">
<input list="codigo" name="codigo" placeholder="Codigo" required="required" />

<datalist id="codigo">
<option value="01 - Administrador">
<option value="02 - Medico">
<option value="03 - Recepcionista">
</datalist>

<input type="text" name="nome" placeholder="Nome Completo" required="required">
<td height="24"></td>
<td><input type="text" name="telefone" maxlength="13" OnKeyPress="formatar('##-#####-####', this)" placeholder="Telefone" required="required">
</td>
<input type="email" name="email" placeholder="email" required="required">
<input type="password" name="senha" placeholder="Senha" required="required">
<input type="password" name="confSenha" placeholder="Confirmar Senha" required="required">
<input type="submit" value="Cadastrar">
</form>
</div>
<?php
if(isset($_POST['nome'])){
$codigo = addslashes($_POST['codigo']);
$nome = addslashes($_POST['nome']);
$telefone = addslashes($_POST['telefone']);
$email = addslashes($_POST['email']);
$senha = addslashes($_POST['senha']);
$confirmarSenha = addslashes($_POST['confSenha']);
if (!empty($codigo) && !empty($nome) && !empty($telefone) && !empty($email) && !empty($senha) && !empty($confirmarSenha)) {
$u->conectar("projetorenata","localhost","root","");
if ($u->msgErro =="") {
if ($senha == $confirmarSenha) {
if($u->cadastrar($codigo,$nome,$telefone,$email,$senha)){
echo "Cadastrado com sucesso! Acesse para entrar";
}else{
echo "Email ja cadastrado!";
}
}else{
echo "Senha e confirmar Senha não correspondem";
}

}else{
echo "Erro: ".$u->msgErro;
}

}else{
echo "Preencha todos os campos!";
}
}
?>
</body>
</html>
-----------------------------------------------------usuarios-----------------------------------------------

<?php

class Usuario
{

private $pdo;
public $msgErro ="";

public function conectar($nome, $host,$usuario, $senha)
{
global $pdo;
global $msgErro;
try {
$pdo = new PDO("mysql:dbname=".$nome.";host=".$host,$usuario,$senha);
} catch (PDOException $e) {
$msgErro = $e->getMessage();
}


}
public function cadastrar($codigo, $nome,$telefone,$email,$senha)
{
global $pdo;
//verificar se ja existe o email cadastrado
$sql= $pdo->prepare("SELECT id_usuario from usuario WHERE email = :e");
$sql->bindValue(":e" ,$email);
$sql->execute();
if ($sql->rowCount() > 0) {
return false;
}else{
$sql = $pdo->prepare("INSERT INTO usuario (codigo,nome,telefone,email,senha) VALUES (:c,:n,:t,:e,:s)");
$sql->bindValue(":c" ,$codigo);
$sql->bindValue(":n" ,$nome);
$sql->bindValue(":t" ,$telefone);
$sql->bindValue(":e" ,$email);
$sql->bindValue(":s" ,md5($senha));
$sql->execute();
return true;

}
}
public function cadastrarCliente($nome,$cpf,$rg,$oe,$de,$ppn,$nacionalidade,$nomeMae,$dtnasci,$natu,$ec,
$sexo,$profi,$esco,$endereco,$numE,$complementoE,$bairro,$cep,$cidade,
$estado,$telRes,$telCel,$telEme,$email,$trab)
{
global $pdo;
//verificar se ja existe um cpf cadastrado
$sql= $pdo->prepare("SELECT id_usuario from usuariocad WHERE cpf = :c");
$sql->bindValue(":c" ,$cpf);
$sql->execute();
if ($sql->rowCount() > 0) {
return false;
}else{
$sql = $pdo->prepare("INSERT INTO usuario (nome,cpf,rg,oe,de,ppn,nacionalidade,nomeMae,dtnasci,
natu,ec,sexo,profi,esco,endereco,numE,complementoE,bairro,cep,cidade
,estado,telRes,telCel,telEme,email,trab) VALUES (:n,:c,:r,:o,:d,:pp,:na,:nm,:dtn,:nat,:e,:s,:p
:es,:ed,:num,:comp,:b,:ce,:ci,:est,:tr,:tc,:te,:em,:tb)");
$sql->bindValue(":n" ,$nome);
$sql->bindValue(":c" ,md5($cpf));
$sql->bindValue(":r" ,$rg);
$sql->bindValue(":o" ,$oe);
$sql->bindValue(":d" ,$de);
$sql->bindValue(":pp" ,$ppn);
$sql->bindValue(":na" ,$nacionalidade);
$sql->bindValue(":nm" ,$nomeMae);
$sql->bindValue(":dtn" ,$dtnasci);
$sql->bindValue(":nat" ,$natu);
$sql->bindValue(":e" ,$ec);
$sql->bindValue(":s" ,$sexo);
$sql->bindValue(":p" ,$profi);
$sql->bindValue(":es" ,$esco);
$sql->bindValue(":ed" ,$endereco);
$sql->bindValue(":num" ,$numE);
$sql->bindValue(":comp" ,$complementoE);
$sql->bindValue(":b" ,$bairro);
$sql->bindValue(":ce" ,$cep);
$sql->bindValue(":ci" ,$cidade);
$sql->bindValue(":est" ,$estado);
$sql->bindValue(":tr" ,$telRes);
$sql->bindValue(":tc" ,$telCel);
$sql->bindValue(":te" ,$telEme);
$sql->bindValue(":em" ,$email);
$sql->bindValue(":tb" ,$trab);
$sql->execute();
return true;

}
}
public function logar($email, $senha)
{
global $pdo;

$sql= $pdo->prepare("SELECT id_usuario from usuario WHERE email = :e AND senha = :s");
$sql->bindValue(":e" ,$email);
$sql->bindValue(":s" ,md5($senha));
$sql->execute();
if($sql->rowCount() > 0 ){
$dado = $sql->fetch();
session_start();
$_SESSION['id_usuario'] = $dado ['id_usuario'];
return true;
}else{
return false;
}
}
}
?>

colocarei a proxima tela nos comentarios.
Jose Ferreira

Jose Ferreira

Curtidas 0

Respostas

Jose Ferreira

Jose Ferreira

11/09/2019

a tela de cadastrarCLiente é um pouco grande coloquei no git...

https://github.com/ricsantos78/ricsantos78.github.io.git
GOSTEI 0
Joao Nascimento

Joao Nascimento

11/09/2019

Esse código da função cadastrarCliente()
$sql->execute();


o execute do PDO retorna
true 
ou
false
, então acho melhor você fazer uma condição em cima desse retorno
Algo como:
if($sql->execute()){
return true;
}else{
return false;
}
// ou
return ($sql->execute() ? true : false);

Não está lançando nenhuma exceção na hora que cadastrar?
GOSTEI 0
POSTAR