帐户

2015-04-30 37 views
-2

我的问题是,我得到的数据似乎总是当我试图创建一个帐户帐户

用户名必须是3至15个字符

并且从未创建帐户。

也让我困惑的是,页面重新加载获取到的login.html

create.html上表

<form action="create.php" method="post" id="createForm"> 
    <div> 
     <div class="row"> 
      <div class="12u"> 
       <input type="text" name="Username" placeholder="Username" id="username"/> 
      </div> 
     </div> 
     <div class="row"> 
      <div class="12u"> 
       <input type="password" name="Password" placeholder="Password" id="password"/> 
      </div> 
     </div> 
     <strong id="strongText" style="display: none;"></strong> 
     <div class="row"> 
      <div class="3u"> 
       <input type="button" value="Create Account" id="create"/> 
      </div> 
      <div class ="6u"></div> 
      <div class="3u"> 
       <input type="button" value="Have an account?" id="login"/> 
      </div> 
     </div> 
    </div> 
</form> 

create.html上的东西的JavaScript

$(document).ready(function() { 
 

 
    $("#create").click(function(e) { 
 
    e.preventDefault(); 
 
    document.getElementById("create").disabled = true; 
 
    document.getElementById('strongText').innerHTML = "Creating account, please wait...<br>"; 
 
    $("#strongText").fadeIn(); 
 
    var username = $('#username').val(); 
 
    var password = $('#password').val(); 
 
    $.ajax({ 
 
     type: 'POST', 
 
     data: { 
 
     username: username, 
 
     password: password 
 
     }, 
 
     url: 'createCheck.php', 
 
     success: function(data) { //Receives the data from the php code 
 
     //console.log(data); 
 
     if (data == "Unavailable") { 
 
      document.getElementById('strongText').innerHTML = "Username Unavailable<br>"; 
 
      document.getElementById("create").disabled = false; 
 
     } else if (data == 'Username must be between 3 and 15 characters') { 
 
      document.getElementById('strongText').innerHTML = data + "<br>"; 
 
      document.getElementById("create").disabled = false; 
 
     } else if (data == 'Password must be between 5 and 25 characters') { 
 
      document.getElementById('strongText').innerHTML = data + "<br>"; 
 
      document.getElementById("create").disabled = false; 
 
     } else { 
 
      $.post(
 
      'create.php', 
 
      $('#createform').serialize(), 
 
      function(data, status) { 
 
       document.getElementById('strongText').innerHTML = data + "<br>"; 
 
       window.location.href = "login.html"; 
 
      } 
 
     ); 
 
      //window.location.href = "/login.php"; 
 
     } 
 

 
     }, 
 
     error: function(xhr, err) { 
 
     console.log("readyState: " + xhr.readyState + "\nstatus: " + xhr.status); 
 
     console.log("responseText: " + xhr.responseText); 
 
     } 
 
    }); 
 

 
    }); 
 

 

 
});

createCheck.php

<?php 
 
define('DB_SERVER', "XXX"); 
 
define('DB_USER', "XXX"); 
 
define('DB_PASSWORD', "XXX"); 
 
define('DB_DATABASE', "XXX"); 
 

 
$password = $_POST["password"]; 
 
$username = $_POST["username"]; 
 

 
$mysqli = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_DATABASE); 
 

 

 
if(mysqli_connect_errno()) { 
 
    echo "Connection Failed. Please send an email to [email protected] regarding this problem."; 
 
    exit(); 
 
} 
 

 
if (strlen($username) < 3 || strlen($username) > 15) { 
 
\t echo "Username must be between 3 and 15 characters"; 
 
} elseif (strlen($password) < 5 || strlen($password) > 25) { 
 
\t echo "Password must be between 5 and 25 characters"; 
 
} elseif ($stmt = $mysqli->prepare("SELECT `username` FROM `accounts` WHERE username = ?")) { 
 
    $stmt->bind_param("s", $username); 
 
    $stmt->execute(); 
 
    $stmt->store_result(); 
 
    if ($stmt->num_rows) { 
 
     //echo json_encode("0"); 
 
     echo "Unavailable"; 
 

 
     //if unavailable 
 
     // header('Location: /register.html'); 
 
    } 
 
    else { 
 
     //echo json_encode("1"); 
 
     echo "1"; 
 
    } 
 

 
} 
 

 
mysqli_close($mysqli); 
 

 
?>

+0

'session_start();'? – Gil

+0

您是否先测试了您的Web服务。 – Codelord

+1

check data.trim()=='用户名必须在3到15个字符之间' – Saty

回答

1

所需的变量是大小写敏感的,所以我需要的HTML代码

<input type="text" name="Username" placeholder="Username" id="username"/> 

<input type="text" name="username" placeholder="Username" id="username"/> 

我得到了一个改变错误,表示值为空