注册不起作用

时间:2014-10-11 19:47:48

标签: php mysql sql

注册过程以重定向结束,但用户未加入数据库。我尝试了一切,看不出问题。如果您需要任何问题,我将使用内容或说明编辑此帖子。

<?php 
$cookie="tD2h6";

$jucatoru = $_POST['numeleluii'];
$passw = $_POST['pass'];
$email = $_POST['mail'];

$con=mysqli_connect("xx","xx","xxx","xx");

if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$jucatoru = $con->real_escape_string($jucatoru);
$passw = $con->real_escape_string($passw);
$email = $con->real_escape_string($email);

if(strlen($jucatoru)>1)
{
    $crypt = md5($passw);
    $result = mysqli_query($con,"INSERT INTO `users` (username,password,mail) VALUES ($jucatoru,$crypt,$email);");
    $data = "name=" . $jucatoru . "&pass=" . md5($passw);
    setcookie ( $cookie, $data, time()+60*60*24 );
    header("Location: http://r4ge.ro");
    die;
}



echo "<div class=\"box box-info\">
    <i class=\"ion-locked\"></i>
    <h3 class=\"box-title\">Register</h3>
    </div>


    <form action=\"/php/register.php\" method=\"post\">
    <div class=\"form-group\">
    <input class=\"form-control\" type=\"text\" name=\"numeleluii\" value=\"\"  placeholder=\"Username:\"/><br />
    </div>
    <div class=\"form-group\">
    <input class=\"form-control\" type=\"email\" name=\"mail\" value=\"\"  placeholder=\"e-mail: example@domain.tdl\"/><br />
    </div>
    <div class=\"form-group\">
    <input class=\"form-control\" type=\"password\" name=\"pass\" value=\"\"placeholder=\"Password:\" /><br />
    </div>

    <div class=\"box-footer clearfix\">
        <input class=\"pull-right btn btn-default\" type=\"submit\" name=\"send\" value=\"Send\" />
    </div>
      </form>

      </div>";

mysqli_close($con);
?> 

3 个答案:

答案 0 :(得分:5)

这是使用php预处理语句更好的代码实现。

<?php 
$cookie="tD2h6";

$jucatoru = $_POST['numeleluii'];
$passw = $_POST['pass'];
$email = $_POST['mail'];

if(!empty($jucatoru)){
    $conn = new mysqli("xx", "xx", "xx", "xx");
    $conn->set_charset("utf8");

    if ($conn->connect_errno) {
        echo "Failed to connect to MySQL: (" . $conn->connect_errno . ") " . $conn->connect_error;
    }

    $sql = "INSERT INTO `users` (username,password,mail) VALUES (?,?,?)";
    if($stmt = $conn->prepare($sql)){
        $crypt = md5($passw)
        $stmt->bind_param('sss', $jucatoru, $passw, $crypt);
        $stmt->execute();

        $data = "name=" . $jucatoru . "&pass=" . md5($passw);
        setcookie($cookie, $data, time()+60*60*24 ;
        header("Location: http://r4ge.ro");
        exit();
    }else{
        echo $conn->error;
    }
}

............

?>

答案 1 :(得分:4)

if(strlen($jucatoru)>1){
    $crypt = md5($passw);
    $result = mysqli_query($con,"INSERT INTO `users` (username,password,mail) VALUES ('{$jucatoru}','{$crypt}','{$email}')");
    if($result){
        echo "Data inserted";
    }else{
        echo "Error in inserting";
    }
    $data = "name=" . $jucatoru . "&pass=" . md5($passw);
    setcookie ( $cookie, $data, time()+60*60*24 );
    header("Location: http://r4ge.ro");
    die;
}

答案 2 :(得分:2)

语法错误。

$result = mysqli_query($con,"INSERT INTO `users` (username,password,mail) VALUES ($jucatoru,$crypt,$email)");
相关问题