Почему у меня выводиться такая ошибка? В подключении в бд я указал все верно, но мне пишут ошибка в 3 строке
Вот сам скрипт полностью:
<?php
session_start();
$link = new PDO('mysql:host=localhost;dbname=e96548p5_test', 'пароль', );
if(isset($_POST['submit1'])) {
$stmt = $link->prepare("SELECT * FROM accreg WHERE mail = ?");
$stmt->execute([$_POST['mail']]);
$data = $stmt->fetch();
if (password_verify($_POST['password'], $data['password']))
{
$_SESSION['id'] = $data['id'];
$_SESSION['mail'] = $data['mail'];
setcookie('mail', $data['mail'], time()+60*60*24*30);
header ('Location: profile.php');
}
else {
echo "Данные неверны";
}
}
?>
<!DOCTYPE html>
<htm>
<head>
<title>Тест</title>
<meta charset="utf-8">
</head>
<body>
<?php
//----------------------------------------------------------------
//Обработчик регистрации и вdод данных в бд
if(isset($_POST['submit'])) {
$err = [];
if(empty($_POST['name'])) {
echo '<p id="errname"><img src="/libs/err.png" id="errimgname">Вы не указали ник!</p>';
}
elseif (!preg_match("/^[a-z0-9а-яё_]{4,12}+$/iu", $_POST['name'])) {
echo '<p id="errname2">В нике указаны недопустимые символы или содержит меньше/больше 4/12 символов.<br>Разрешается использовать латинские и руские буквы,<br>Цыфры и знак подчеркивание</p> ';
}
if (!preg_match("/^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/", $_POST['mail'])) {
echo '<p id="errmail1">E-mail имеет недопустимий формат!</p>';
}
if(empty($_POST['password'])) {
echo '<p id="errpass1">Введите пароль!</p>';
}
elseif(!preg_match("/\A(\w){6,20}\Z/", $_POST['password'])) {
echo '<p id="errpass2">Пароль слишком короткий! Пароль должен быть не менее 6 символов!</p> ';
}
if(empty($_POST['password1'])) {
echo '<p id="errpass3">Введите подтверждение пароля!</p>';
}
else if($_POST['password'] != $_POST['password1']) {
echo '<p id="errpass4">Введенные пароли не совпадают!</p>';
}
if(empty($_POST['sex'])) {
echo '<p id="errsex">Укажите Ваш пол</p>';
}
else{
$name = $_POST['name'];
$mail = $_POST['mail'];
$password = $_POST['password'];
$hash = password_hash($password, PASSWORD_BCRYPT);
$query = $link->prepare('SELECT mail FROM accreg WHERE mail = :mail');
$query->execute(['mail' => $_POST['mail']]);
if($query->fetch()) {
echo '<p id="errmail2">Это E-mail уже зарегистрирован</p>';
}
else{
$query = $link ->prepare("INSERT INTO `accreg` (`id`, `name`, `mail`, `password`) VALUES (:id, :name, :mail, :password)");
$query -> bindParam(':name', $name, PDO::PARAM_STR);
$query -> bindParam(':mail', $mail, PDO::PARAM_STR);
$query -> bindParam(':password', $hash, PDO::PARAM_STR);
$query->execute();
}
}
}
?>
<!-------Регистрация------->
<form action="" method="post">
<input type="text" name="name" placeholder="Введите Ник" id="formreg"><br><br>
<input type="text" name="mail" placeholder="Введите Эл. почту" id="formreg1"><br>
<p id="errmail">Например: name123@mail.ru</p>
<input type="password" name="password" placeholder="Укажите пороль" id="formreg2" ><br>
<p id="errpass">Пароль должен содержать не менее 6 символов<br> (только латинские буквы и цыфры)<br>Например: Sk31HDM194</p><br>
<input type="password" name="password1" placeholder="Повторите пороль" id="formreg3"><br><br>
<div id="formreg4"><input name="sex" type="radio" value="male"><label style="font-size: 20px;">Мужской</label><input name="sex" type="radio" value="feminine"><label style="font-size: 20px;">Женский</label><br><br></div>
<input name="submit" type="submit" value="Создать аккаунт" id="reg">
</form>
<br><br><br>
<!-------Авторизация----->
<form action="" method="post">
<input type="text" name="mail" placeholder="Логин Эл. почта" id="formlog"></br>
<input type="password" name="password" placeholder="Пороль" id="formpass"></br>
<input type='checkbox'><br>
<input type="submit" name="submit1" value="Авторизоваться" id="open"></br>
</form>
</body>
</htm>
$link = new PDO('localhost' , 'e96548p5_test', 'пароль' );
попробуйте
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем привет мне нужно чтобы на экран выводило таблицу с данными и возле каждой строки была кнопка "Удалить пользователя" при нажатии на которую...
Возможны ли SQL инъекции если на сайте не используются GET параметры ?
Здравствуйте, мне нужна помощь, хотел сделать вычитание у всех users, коду что на строке от 57 до 60, так вот у меня это вычитание так идет, если...