我想要实现的目标:我想要实现的目标:用户应该启动该功能,然后点击表单按钮。如果发布的信息与数据库中的信息匹配,那么他将被重定向到login.php,否则重定向到relogin.php。我希望能够找到一种方法来防止使用" global"如果可能,函数内的变量。
问题:它似乎无法读取我的变量中的mysql连接,好像它是空的或某些东西或我错了?在错误消息下面:
ko.validation.init({
insertMessages: false
});
var patterns = {
email: /^([\d\w-\.]+@([\d\w-]+\.)+[\w]{2,4})?$/
};
var ViewModel = function () {
var self = this;
self.CompanyName = ko.observable();
self.ContactPerson = ko.observable();
self.Email = ko.observable();
self.test = ko.observable();
self.step1Validation = ko.validatedObservable([
self.CompanyName.extend({
required: true
}),
self.ContactPerson.extend({
required: true
}),
self.Email.extend({
required: true,
pattern: {
message: 'Must be a valid email',
params: patterns.email
}
})]);
self.clickDone = function () {
if (self.step1Validation.isValid()) {
self.test('valid');
return true;
} else {
self.test('invalid');
self.step1Validation.errors.showAllMessages()
return false;
};
};
};
var model = new ViewModel();
ko.applyBindings(model);
我尝试过:尝试删除global关键字并将$ connection作为参数添加到我的login_check函数中,这导致了错误。我也读过关于php define()但是它只用于常量(在这种情况下它是什么?)但是它使它成为全局的。我知道有OOP方式,但我想先掌握程序方法。
链接到我的代码 - > phpfiddle
答案 0 :(得分:0)
实际上是通过为包含它的变量赋值来终止与数据库的连接。
此外,你不应该同时使用mysqli_secure()和mysql_real_escape_string()或其他任何类型。
答案 1 :(得分:-1)
这样的一些小调整会检查数据库中的get
,并检查username
是否正确。
password
答案 2 :(得分:-1)
我修改了你的代码以使用mysqli面向对象。在我查询之后,我打印出结果。希望能帮助到你。
<?php
session_start();
$servername = "localhost";
$username = "root";
$password = "";
$database = "project";
$connection = new mysqli($servername, $username, $password, $database);
function login_check() {
global $connection;
$no_match = 'Sorry, password and name do not match.';
$not_found = 'Your login information does not exist within our database.';
$name = strtolower($_POST['name']);
$password = $_POST['password'];
$stmt = $connection->prepare("SELECT id FROM members WHERE name = ? AND password = ?");
$stmt->bind_param('ss', $name, $password);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_array())
{
print_r($row);
}
$connection->close();
}
login_check();