Я создал регистрационную форму с php или mysql, но у нее есть проблема. Когда я вхожу в систему и нажимаю submit, я вижу пустой сайт. Это обращение страница формы:
<?php
define('DB_HOST', 'localhost');
define('DB_NAME', 'loginform');
define('DB_USER','user');
define('DB_PASSWORD','pass');
$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error());
/*
$ID = $_POST['user'];
$Password = $_POST['pass'];
*/
function SignIn()
{
session_start(); //starting the session for user profile page
if(!empty($_POST['user'])) //checking the 'user' name which is from index.html, is it empty or have some text
{
$query = mysql_query("SELECT * FROM UserName where userName = ".$_POST['user']." AND pass = ".$_POST['pass'].") or die(mysql_error());
$row = mysql_fetch_array($query) or die(mysql_error());
if(!empty($row['userName']) AND !empty($row['pass']))
{
$_SESSION["a"] = "a";
$_SESSION['user'] = $_POST['user'];
$_SESSION['userName'] = $row['pass'];
echo "Succesfully login, redirecting to member page.";
header("Location: http://192.168.100.13/member");
}
else
{
echo "Wrong password or Name try again";
}
}
}
if(isset($_POST['submit']))
{
SignIn();
}
if(!isset($_POST['submit']))
{
header("Location: http://192.168.100.13/login");
}
?>
Mysql стол выглядел как этот
+------------+----------+------+
| UserNameID | userName | pass |
+------------+----------+------+
| 1 | user | pass |
+------------+----------+------+
Я думаю, что проблема в строке 9 в коде PHP, потому что я побежал код с CodingGround.
Примечание: MySQL Пб осуждается. Вместо этого используйте mysqli или PDO. Ваш скрипт также уязвим для SQL-инъекций. – AbcAeffchen
Что такое «login» в «header» («Location: http://192.168.100.13/login») ;? Это файл? Это каталог? Может быть, «login» нуждается в расширении типа «.php», если это каталог, возможно, он должен иметь файл внутри named index.php. –
вы также должны хранить только безопасные хеш-значения вместо исходного пароля в своей базе данных. Используйте php [password_hash] (http://php.net/) manual/en/function.password-hash.php) здесь. – AbcAeffchen