Php 数据库连接无法正常工作
我正在为“刺客”游戏建立一个网站,目前我正在为该网站注册。我正在学习服务器端设置,似乎在使用“register.php”将个人凭据添加到SQL数据库时遇到了问题。当我运行该站点时,register.php页面根本不会出现。你能帮我修改register.php的代码吗?谢谢大家!Php 数据库连接无法正常工作,php,sql,Php,Sql,我正在为“刺客”游戏建立一个网站,目前我正在为该网站注册。我正在学习服务器端设置,似乎在使用“register.php”将个人凭据添加到SQL数据库时遇到了问题。当我运行该站点时,register.php页面根本不会出现。你能帮我修改register.php的代码吗?谢谢大家! <?php require_once ("Includes/simplecms-config.php"); require_once ("Includes/connectDB.php"); include("
<?php
require_once ("Includes/simplecms-config.php");
require_once ("Includes/connectDB.php");
include("Includes/header.php");
if (isset($_POST['submit'])){
$username = $_POST['username'];
$email = $_POST['email'];
$query = "INSERT INTO users (username, password, email, key, iv_size, salt) VALUES (?, ?, ?, ?, ?, ?)";
function RandomString($length)
{
$characters = ’0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ’;
$randstring = '';
for ($i = 0; $i < $length; $i++) {
$randstring = $characters[rand(0, strlen($characters))];
}
return $randstring;
}
$code = RandomString(25);
mail($email, "Your code for the Assassin game.", "Your code is: $code");
$salt = RandomString(8);
$hashedcode = "";
for($i=0;$i<5;i++){
$hashedcode = sha1($hashedcode.$code.$salt);
}
$key = pack('H*', "bcb04b7e103a0cd8b54763051cef08bc55abe029fdebae5e1d417e2ffb2a00a3");
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$encryptedname = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $name, MCRYPT_MODE_CBC, $iv);
$encryptedemail = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $email, MCRYPT_MODE_CBC, $iv);
$encryptedname_base64 = base64_encode($encryptedname);
$encryptedemail_base64 = base64_encode($encryptedemail);
$statement = $databaseConnection->prepare($query);
$statement->bind_param('ssssssi', $encryptedname_base64, $hashedcode, $encryptedemail_base64, $key, $iv_size, $salt);
$statement->execute();
$statement->store_result();
$creationWasSuccessful = $statement->affected_rows == 1 ? true : false;
if ($creationWasSuccessful)
{
$userId = $statement->insert_id;
$addToUserRoleQuery = "INSERT INTO users_in_roles (user_id, role_id) VALUES (?, ?)";
$addUserToUserRoleStatement = $databaseConnection->prepare($addToUserRoleQuery);
$userRoleId = 2;
$addUserToUserRoleStatement->bind_param('dd', $userId, $userRoleId);
$addUserToUserRoleStatement->execute();
$addUserToUserRoleStatement->close();
$_SESSION['userid'] = $userId;
$_SESSION['username'] = $username;
header ("Location: index.php");
}
else
{
echo "Failed registration";
}
}
?>
下一行末尾缺少分号:
mail($email, "Your code for the Assassin game.", "Your code is: $code")//here
打开错误报告
错误报告(E_ALL);ini设置(“显示错误”,1)代码>问题是,我不能让它报告错误,因为它只给我一个白色的空白页。我无法通过错误报告查看代码中的错误开始通过在代码中放入“var_dump($variable_name)”,一次一个,然后移动它来查看代码。或使用“die”(“我在这里”)。\uuuuuu文件\uuuuuu行\uuuuuuu)。从顶部开始!这是我得到“空白页”时使用的。它起作用了!:-)非常感谢。我会继续这样做,试着找出哪里出了问题!仅供参考,PHP在运行完整脚本之前会对其进行解析。所以,您可以将所有函数、类等放在脚本末尾,并在它们前面加上“return”或“exit”语句。使代码看起来更清晰,结构更清晰,更易于维护。