TransWikia.com

Erro em cadastro.php com mysql (etapa final) "INSERT"

Stack Overflow em Português Asked by user196053 on August 25, 2020

segue abaixo o código do cadastro que eu fiz. Em tese ele está funcionando perfeitamente, porém no momento final que é para dar o INSERT, acaba caindo no else (ou seja, o cadastro deu erro)

<?php

    require 'conexao.php'; //$con
    
    $nome = $_POST['nome'];
    $senha = md5($_POST['senha']);
    $senha2 = md5($_POST['senha2']);
    $email = $_POST['email'];
    
    $link = mysqli_query($con, "SELECT email FROM usuarios WHERE email = $email");
    
    $array = mysqli_fetch_array($link);
    
    $emailarray = $array['email'];
    
    if($senha2 != $senha){
        echo"
            <script type='text/javascript'>
                alert('os campos senha e repetir senha devem ser iguais');
                window.location.href='../cadastro.php';
            </script>
        ";
    }elseif($emailarray == $email){
        echo
        "
        <script type='text/javascript'>
            alert('o email . $email . já está cadastrado, tente outro!');
            window.location.href = '../cadastro.php';
        </script>
        ";
    }else{
        $cadastro = mysqli_query($con, "INSERT INTO usuarios (nome, senha, email) VALUES ($nome, $senha, $email)");
        
//Possivel localização do erro

        if($cadastro){
            echo
            "
            <script type='text/javascript'>
                alert('parabens . $nome . , voce foi cadastrado com sucesso');
                window.location.href = '../index.php';
            </script>
            ";
        } else{
            echo
            "
                <script type='text/javascript'>
                alert('erro ao se cadastrar, tente novamente mais tarde');
                window.location.href = '../cadastro.php';
            </script>
            ";
        }
    }
?>

Gostaria de saber qual a razão de ter caído no else, obrigado 🙂

2 Answers

$cadastro = mysqli_query($con, "INSERT INTO usuarios (nome, senha, email) VALUES ($nome, $senha, $email)");

Os campos do VALUES precisam estar entre aspas simples

INSERT INTO usuarios (nome, senha, email) VALUES ('$nome', '$senha', '$email')

Além disso, precisa colocar "= true" no if($cadastro)

Correct answer by Jhonata De souza on August 25, 2020

Boa tarde, deve-se colocar aspas simples nos VALUES

Exemplo:

VALUES ('$nome', '$senha', '$email')

Answered by MILTON JUNIOR on August 25, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP