Ajuda com html, php,css e mysql

11/09/2019

0

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

Responder

Posts

11/09/2019

Jose Ferreira

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

https://github.com/ricsantos78/ricsantos78.github.io.git
Responder

18/09/2019

Joao Nascimento

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?
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar