php和mysqli的注册表格不起作用

问题描述

我在注册页面上需要一些帮助:当我尝试输入用户名和密码时,我不明白为什么它不起作用,而且我也不知道如何以任何方式显示错误。 ...可以完成所有工作,但无法将数据插入数据库中...并且我确定与数据库的连接正常!

我也尝试打印$query,这是正确的...我认为错误在$inseriscidati中,但我现在不是很可能是问题所在

以下代码:


<?php

    $mex = "";

    $database = "users";
    $userArray = "SELECT 'username' FROM $database";

    if(isset($_POST['submit'])){

        $user = $_POST['user'];
        $pass = $_POST['pass'];
        $passconf = $_POST['passconf'];
        
        $username = mysqli_real_escape_string($connessione,$user);
        $password = mysqli_real_escape_string($connessione,$pass);
        $passwordConf = mysqli_real_escape_string($connessione,$passconf);

        if($username != "" && $password != "" && $passwordConf != ""){
            if($password == $passwordConf){
                if($user != $userArray){
                    $passwordCrypt = crypt($password,'$6$rounds=5000$usesomesillystringforsalt$');

                    $query = "INSERT INTO `users` (`username`,`passwor`) VALUES (`$username`,`$passwordCrypt`)";
                    $inseriscidati = mysqli_query($connessione,$query);

                    if(!$inseriscidati){
                        $mex = "<p style='color: red;'>A causa di un errore non è stato possibile caricare i dati. Riprova più tardi!</p>"; 
                        mysqli_error($connessione);
                        echo "\n Password criptata: ".$passwordCrypt;
                        echo "\n Query: ".$query;
                        header("Location: $currentpage?DatiNonInseriti");
                    }else{
                        header("Location : $currentpage?DatiInseritiCorrettamente");
                        $mex = "<p style='color: green;'>I dati inseriti sono stati caricati correttamente!</p>";
                    }

                }else $mex = "<p style='color: red;'>Username non disponibile</p>";
            }else $mex = "<p style='color: red;'>Le password non corrispondono</p>";
        }else $mex = "<p style='color: red;'>Compilare tutti i campi</p>";
    }
?>

<form action="" method="POST" enctype="multipart/form-data">
    <?php if($mex != "") echo $mex; ?>
    <input type="text" placeholder="Inserire Username" name="user" >
    <input type="password" placeholder="Crea Password" name="pass" minlength="8" maxlength="20">
    <input type="password" placeholder="Conferma Password" name="passconf"minlength="8" maxlength="20">
    <input type="submit" name="submit">
</form>```

解决方法

INSERT TO users ('username','passwor') 

需要

INSERT INTO users ('username','passwor') 

还请确保密码的列名称为passwor。看来这里有打字问题

,

使用单引号代替``

$query = "INSERT INTO users (username,passwor) VALUES ('$username','$passwordCrypt')";

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...