Ну, что-то не так. Я печатаю имя пользователя и пароль, которые существуют в моей БД. Она должна echo
эта строка в таких ситуацияхPHP-код работает неправильно
необходимо активировать
но эхо этого
Вы должны рег
init.php
<?php
//error_reporting(0);
session_start();
require 'dbconnect.php';//this works okay so i wouldn't post this file code
require 'users.php';
$errors = array();
?>
users.php
<?php
function user_exists($username){
$username = mysql_real_escape_string($username);
$query = mysql_query("SELECT COUNT('user_id') FROM `users` WHERE 'username' = '$username'");
if (!$query) {
die('Could not query:' . mysql_error());
}
return (mysql_result($query, 0) == 1) ? true : false;
}
function user_active($username){
$username = mysql_real_escape_string($username);
$querytoo = mysql_query("SELECT COUNT('user_id') FROM `users` WHERE 'username' = '$username' AND 'active' = 1");
if (!$querytoo) {
die('Could not query:' . mysql_error());
}
return (mysql_result($querytoo , 0) == 1) ? true : false;
}
?>
login.php
<?php
include 'init.php';
if(empty($_POST) === false){
$username = $_POST['username'];
$password = $_POST['password'];
if(empty($username) === true || empty($password) === true){
$errors[]='You need to enter a username and password';
}
elseif(user_exists($username) === false){
$errors[]='You need to reg';
}
elseif(user_active($username) === false){
$errors[]='need to activate';
}
else {
//
}
print_r($errors);
}
?>
часть HTML
<form action="login.php" method = "post">
<ul id="login">
<li>
username:<br>
<input type="text" name="username" size="30" value=""/></li>
<li>password:<br>
<input type="password" name="password" size="30" value=""/></li>
<li><input type = "submit" value ="Log in"></li>
<li>
<a href="register.php"> Register</a>
</li>
</ul>
P.S. текст запросов работает нормально, я проверил его в mysql. в коде PHP, когда я типа `` вместо '' здесь
SELECT COUNT ('user_id') FROM
users
WHERE 'имя пользователя' = '$ имя пользователя' И 'активный' = 1
появляется
'не удалось запросить:'
вещь
и я попытался elseif
и else if
вещей, так что я не думаю, что проблемы есть
Пожалуйста, не используйте функции 'mysql_ *' для записи нового кода. Они больше не поддерживаются, и сообщество начало [процесс устаревания] (http://goo.gl/KJveJ). См. [* Red box *] (http://goo.gl/GPmFd)? Вместо этого вы должны узнать о [подготовленных утверждениях] (http://goo.gl/vn8zQ) и использовать либо [PDO] (http://php.net/pdo), либо [MySQLi] (http://php.net/ MySQLi). Если вы не можете решить, что, [эта статья] (http://goo.gl/3gqF9) поможет вам. Если вы выберете PDO, [здесь хороший учебник] (http://goo.gl/vFWnC). – Robik