【发布时间】:2015-09-01 09:07:09
【问题描述】:
你好 stackoverflow 的人。我需要脚本方面的帮助。我有注册文件和索引文件,当我为索引文件制作案例时,当注册操作时,加载registration.php标头,(index.php?action=register)我的注册脚本不起作用!我收到变量 mysql 未找到的错误(在 register.inc.php 文件中)。但是当 URL 正常时 - www.website.com/register.php 一切正常,你们知道这是什么问题吗?我该如何解决?
这是我的 register.in.php 文件开始:
<?php
include_once 'db_connect.php';
include_once 'psl-config.php';
$error_msg = "";
if (isset($_POST['username'], $_POST['email'], $_POST['p'])) {
// Sanitize and validate the data passed in
$username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
$email = filter_var($email, FILTER_VALIDATE_EMAIL);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
// Not a valid email
$error_msg .= '<p class="error">The email address you entered is not valid</p>';
}
$password = filter_input(INPUT_POST, 'p', FILTER_SANITIZE_STRING);
if (strlen($password) != 128) {
// The hashed pwd should be 128 characters long.
// If it's not, something really odd has happened
$error_msg .= '<p class="error">Invalid password configuration.</p>';
}
$prep_stmt = "SELECT id FROM members WHERE email = ? LIMIT 1";
$stmt = $mysqli->prepare($prep_stmt);
错误在 $mysqli. $mysql 来自文件 do_connect.php:
<?php
include_once 'psl-config.php';
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
请帮忙?
【问题讨论】:
-
这个 psl-config.php 已经包含在 db_connect.php 中了,为什么还要包含它?
-
把完整的错误写在这里!!
-
这里是错误
Notice: Undefined variable: mysqli in /home/....../public_html/includes/register.inc.php on line 30 Fatal error: Call to a member function prepare() on a non-object in /home........../public_html/includes/register.inc.php on line 30 -
代码似乎没问题。尝试将
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);放在$prep_stmt = "SELECT id FROM members WHERE email = ? LIMIT 1";上方并再次运行。 -
大声笑,谢谢! .但是为什么它不从文件中取出它呢? ://