У меня есть скрипт для управления входом пользователя и когда имя пользователя введено в поле и пароль помещается в его поле, и они соответствуют db, в который вы входите, если не получаете ошибка, полученная с помощью формы входа. однако, когда вы вводите недопустимое значение в имя пользователя (имя пользователя, которого не существует), код не продолжается, так как я могу исправить это?PHP не улавливает ошибку sql
<?php
require("bootstrap.php");
$con=mysql_connect(DB_HOST,DB_USER_SEC,DB_PASS_SEC) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db(DB_NAME_SEC,$con) or die("Failed to connect to MySQL: " . mysql_error());
$query = mysql_query("SELECT * FROM username WHERE userName = '$_POST[username]'") or die(mysql_error());
if(!empty($_POST['username']))
{
if(!empty($_POST['password']))
{
$row = mysql_fetch_array($query) or die(mysql_error());
if(!empty($row['userName']))
{
if(!empty($row['userPass']))
{
if($_POST['password'] === $row['userPass'])
{
session_start();
$_SESSION['logged'] = true;
$_SESSION['userName'] = $row['userName'];
$_SESSION['fname'] = $row['fname'];
$_SESSION['mname'] = $row['mname'];
$_SESSION['lname'] = $row['lname'];
$_SESSION['primnum'] = $row['primnum'];
$_SESSION['secnum'] = $row['secnum'];
$_SESSION['department'] = $row['department'];
$_SESSION['clearance'] = $row['clearance'];
$_SESSION['theme'] = $row['theme'];
$_SESSION['animations'] = $row['animations'];
$_SESSION['gtag'] = $row['gtag'];
header("Location: /workspace/index");
}
else
{
session_start();
$_SESSION['logged'] = false;
$_SESSION['err'] = "0x001";
header("Location: /login");
}
}
else
{
session_start();
$_SESSION['logged'] = false;
$_SESSION['err'] = "0x005";
header("Location: /login");
}
}
else
{
session_start();
$_SESSION['logged'] = false;
$_SESSION['err'] = "0x002";
header("Location: /login");
}
}
else
{
session_start();
$_SESSION['logged'] = false;
$_SESSION['err'] = "0x003";
header("Location: /login");
}
}
else
{
session_start();
$_SESSION['logged'] = false;
$_SESSION['err'] = "0x004";
header("Location: /login");
}
?>
и да, я знаю о Mysqli и PDO так ПОЖАЛУЙСТА НЕ Доведите, что Up.
Против этого кода в вашем php, чтобы видеть ошибки 'error_reporting (E_ALL); ini_set ('display_errors', 1); ' – Shehary
Почему вы пишете' session_start(); 'в каждом' else' состоянии. Почему бы вам не написать 'session_start();' в верхней части страницы один раз. – Saty
мой код должен был быть очищен позже, просто нужно исправить проблему, которую я кодирую в сегментах, это уродливая черновая черновик – Jdoonan