这是对一个更长的问题的改编,因为我指出这个问题在没有太多信息的情况下更直接。我正在使用This在我的 div 标签中动态加载页面,但某些东西在加载时会停止工作。特别是一些jquery的东西。在这个 div 中加载时,注册不检查用户名等,我不知道为什么。如果需要发布代码,我可以这样做,但我认为它可能只是在于页面加载的方式,只是不确定是哪个或为什么。这是我的测试页面的链接,看看我在说什么。将鼠标悬停在登录上,然后单击“注册”。它会加载表单,但不会使用 jquery 和我的用户名检查用户名。这里是一个单独的注册页面,它本身就可以正常工作,这也显示了我正在尝试做的事情。摆弄 javascript/jquery 和 html。我留下了一些 PHP 以防万一它正在做一些时髦的事情,并省略了 css,因为它用于消息框,这不会影响这一点,并且在没有它的情况下仍然会出现在测试中。
这是处理注册的 PHP:
<?php
//have to use &_POST instead of vars for regular vars because of bug
//hash the password
$hash = hash('sha256', $_POST['pass1']);
//creates a 3 character sequence, hash pass again
function createSalt(){
$string = md5(uniqid(rand(), true));
return substr($string, 0, 3);
}
$salt = createSalt();
$hash = hash('sha256', $salt . $hash);
//check registration code
require('config/config.php');
//match the id with the registration code to update the correct row
$result = mysql_query("SELECT id FROM user WHERE regcode=
'". mysql_real_escape_string($_POST['regcode']) ."'") or die('Unable to query!');
$row = mysql_fetch_array($result);
if ($row['id'] != "") {
$updateid = $row['id'];
} else {
die("No matching registration code!");
}
//check if id is blank, means registration is blank
if (isset($updateid)) {
//update into database
$result = mysql_query("UPDATE user SET username='". mysql_real_escape_string($_POST['username']) ."',
password='". $hash ."', salt='". $salt ."',
email='". mysql_real_escape_string($_POST['email']) ."',
firstname='". mysql_real_escape_string($_POST['firstname']) ."',
lastname='". mysql_real_escape_string($_POST['lastname']) ."',
regcode='', joined=NOW(), lastlogin=NOW(), active='yes'
WHERE id='". $updateid ."'") or die(mysql_error());
//echo $query.",".$_POST['username'].",".$hash.",".$_POST['email'].",".$_POST['firstname'].",
// ".$_POST['lastname'].",".$_POST['regcode'].",". $updateid ."";
//mysql_close();
echo 'yes';
} else {
echo 'noregcode';
}
?>
PS请忽略过时的PHP。虽然它很糟糕,但我还没有修复它,我知道我很快就会修复它。