Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

paulo123araujo

Erro na condição de cadastro

Recommended Posts

To treinando um pouquinho de php e fiz um sistema de venda. Na parte de fazer o cadastro do cliente, o sistema dá como email incorreto toda hora. Quem puder ajudar eu já agradeço.

9JmhCDp.png

Aqui vai o código da página:

 

<?php
include("includes/header.php");
if($startaction == 1 && $acao == "cadastrar"){
$nome=$_POST["nome"];
$end=$_POST["end"];
$cep=$_POST["cep"];
$email=$_POST["email"];
$senha=$_POST["senha"]; 
$confirmsenha=$_POST["confirmsenha"]; 


if(empty($nome) || empty($end) || empty($email) || empty($senha) || empty($confirmsenha)){
$msg="Preencha todos os campos!";
}else{
if(filter_var($email,FILTER_VALIDATE_EMAIL)){
$msg="Digite seu email corretamente!";
}else{
if(strlen($cep)>8 || strlen($cep)<8){
$msg="Digite seu cep corretamente!"; 
}else{
if(strlen($senha)<8){
$msg="A senha deve ter no minimo 8 caracteres!"; 
}elseif($senha==$confirmsenha){ 
$msg="As senhas digitadas devem ser iguais!";
}else{
$conectar=new Cadastro;
echo "<div class=\"flash\">";
$conectar=$conectar->cadastrar($nome,$end,$email,$cep,$senha); 
echo "</div>";
}
}
}
} 
}
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="css/style.css" type="text/css" />
<title>::<?php echo $title?>::</title>
</head>


<body>
<div><center><div class="message"><p><?php echo $msg?></p></div>
<table style="width:450px; border:thin solid #000; margin-top:50px;">
     <tr>
         <td><center><img src="img/logo.jpg" /></center></td>
        </tr>
    <form method="post" action="cadastro.php?acao=cadastrar">
     <tr>
         <td><font style="font-family:Helvetica; font-size:15px; color:#000;">Nome:<input type="text" name="nome" class="bt-form-cad" /></font></td>
        </tr>
        <tr>
         <td><font style="font-family:Helvetica; font-size:15px; color:#000;">E-mail:<input type="text" name="email" class="bt-form-cad" /></font></td>
        </tr>
        <tr>
         <td><font style="font-family:Helvetica; font-size:15px; color:#000;">Endereço:<input type="text" name="end" class="bt-form-cad" /></font></td>
        </tr>
        <tr>
         <td><font style="font-family:Helvetica; font-size:15px; color:#000;">CEP:<input type="text" name="cep" class="bt-form-cad" /></font></td>
        </tr>
        <tr>
         <td><font style="font-family:Helvetica; font-size:15px; color:#000;">Senha:<input type="password" name="senha" class="bt-form-cad" /></font></td>
        </tr>
        <tr>
         <td><font style="font-family:Helvetica; font-size:15px; color:#000;">Confirme sua senha:</font><input type="password" name="confirmsenha" class="bt-form-cad" /></td>
        </tr>
        <tr>
         <td><input type="submit" value="Cadastrar" name="cadastrar" class="bt-submit-cad" /></td>
        </tr>
    </form></table>
</center></div>
</body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

 

Na verificação do e-mail você deve negar a condição, pois do jeito que você fez está invertido ("se estiver correto, mostra a mensagem"), assim:

 

 

if(!filter_var($email,FILTER_VALIDATE_EMAIL)){

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora ele está dando o seguinte erro:

 

Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\vendinha\classes\Cadastro.class.php on line 8

 

Se eu entendi ele pede 2 parametros e eu enviei só um. Qual esse outro parametro que ele quer no caso?

Aqui vai o codigo do cadastro.class.php

 

<?php
class Cadastro{
public function cadastrar($nome,$end,$email,$cep,$senha){
$nome=ucwords(strtolower($nome));
$end=ucwords(strtolower($end)); 
$senha=sha1($senha."fire1");


$insert=mysqli_query("INSERT INTO usuarios(nome,end,cep,email,senha,nivel,status)VALUES($nome,$end,$cep,$email,$senha,1,0)");
if(isset($insert)){
$flash="Cadastro realizado com sucesso!"; 
}else{
$flash="Ops! Houve um erro em nosso sistema, contate o administrador."; 
}


echo $flash;
}
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

De acordo com a documentação ( http://php.net/mysqli_query ):

 

mixed mysqli_query ( mysqli $link , string $query)

 

é a conexão (a variável que recebe o retorno de mysqli_connect), seria algo assim:

$conn = mysqli_connect("localhost", "user", "password", "database");
 
$insert = mysqli_query($conn, "INSERT INTO usuarios...");

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.