我在我的网页上运行了一个注册表单,我希望显然将这些数据输入到我的数据库中。我使用ajax从表单中获取变量,然后ajax将其发送到php,它们被sanatized然后放入数据库。唯一的问题是,数据永远不会被放入数据库,我在提交数据之前就设置了一个echo,以检查变量是否实际保存了一个值。他们确实做到了。处理将信息放入数据库的PHP部分如下......
echo "$u,$e,$p,$cid,$c,$cn";
exit();
// END FORM DATA ERROR HANDLING
// Begin Insertion of data into the database
// Hash the password and apply your own mysterious unique salt
$cryptpass = crypt($p);
include_once ("php_includes/randStrGen.php");
$p_hash = randStrGen(SOME NUMBER)."$cryptpass".randStrGen(SOME NUMBER);
// Add user info into the database table for the main site table
$sql = "INSERT INTO users (username, email, password, compname, companyID, country, ip, signup, lastlogin, notescheck)
VALUES('$u','$e','$p_hash','$cn','$cid','$c','$ip',NOW(),NOW(),NOW())";
$query = mysqli_query($db_conx, $sql);
$uid = mysqli_insert_id($db_conx);
// Establish their row in the useroptions table
$sql = "INSERT INTO useroptions (id, username, background) VALUES ('$uid','$u','original')";
$query = mysqli_query($db_conx, $sql);
// Create directory(folder) to hold each user's files(pics, MP3s, etc.)
if (!file_exists("user/$u")) {
mkdir("user/$u", 0755);
}
p_hash中的SOME NUMBER只是出于安全原因。
如果有人可以解决问题会很好,我没有在firebug中返回任何错误,但在用户点击链接激活他们的帐户后,他们收到此消息:
activation_string_length_issues
在我的activation.php文件中与此相关:
if($id == "" || strlen($u) < 3 || strlen($e) < 5 || $p == 0){
// Log this issue into a text file and email details to yourself
header("location: message.php?msg=activation_string_length_issues");
exit();
这将导致我假设没有任何内容放入电子邮件发送区域。 我不知道这真让我感到沮丧,我对网络开发并不陌生。
提前致谢!