17.01.2019 07:47:57 pm
а, все понял. проверка на админа, если нет то на главную. да, лучше возьму его. только как обернуть в нее html, помню что делал через echo но как точно найти не могу
- Жалоба
17.01.2019 07:52:19 pm
Можно попробовать так:
Можно выдавать 404 ошибку тому, кто не админ:
Я бы рекомендовал отделять HTML от PHP, делать, так сказать, шаблоны. Но, это, как вам удобно.
if (!empty($_SESSION['login']) && !empty($_SESSION['id']) && $_SESSION['id'] == 1)
{
?>
<html>
<!-- Форма -->
</html>
<?php
}
Можно выдавать 404 ошибку тому, кто не админ:
if (!empty($_SESSION['login']) | !empty($_SESSION['id']) | $_SESSION['id'] != 1)
{
header('HTTP/1.x 404 Not Found');
header('Status: 404 Not Found');
exit;
}
// Тут код доступный только админу
Я бы рекомендовал отделять HTML от PHP, делать, так сказать, шаблоны. Но, это, как вам удобно.
17.01.2019 10:36:45 pm
Всю голову сломал))
Покажите готовый файл reg.php с вставленной первой или второй функцией.
Покажите готовый файл reg.php с вставленной первой или второй функцией.
18.01.2019 01:21:34 am
Все же уже показано. Разве нет? Вот держи:
Я надеюсь ты обратил внимание на пометку в первом посте:
<?php
// File reg.php
if (empty($_SESSION['login']) | empty($_SESSION['id']) | $_SESSION['id'] != 1)
{
header('HTTP/1.x 404 Not Found');
header('Status: 404 Not Found');
exit;
}
$connection = mysqli_connect('Хост БД', 'Пользователь БД', 'Пароль БД', 'Имя БД') or die(mysqli_error($connection));
if (isset($_POST['submit']))
{
if (empty($_POST['login']))
{
$info_reg = 'Вы не ввели Логин';
}
elseif (empty($_POST['email']))
{
$info_reg = 'Вы не ввели почту';
}
elseif (empty($_POST['password']))
{
$info_reg = 'Вы не ввели пароль';
}
else
{
$login = $_POST['login'];
$email = $_POST['email'];
$password = $_POST['password'];
$query = "INSERT INTO `users` (login, email, password)
VALUES ('$login', '$email', '$password')";
$result = mysqli_query($connection, $query) or die(mysqli_error($connection));
$info_reg = 'Вы успешно зарегистрировались!';
}
}
$info_reg = isset($info_reg) ? $info_reg : NULL;
echo $info_reg;
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Регистрация</title>
</head>
<body>
<form action="reg.php" method="POST" />
<table>
<tr>
<td>Введите логин:</td>
<td><input type="text" size:"20" name:"login" /></td>
</tr>
<tr>
<td>Введите почту:</td>
<td><input type="text" size:"20" name:"email" /></td>
</tr>
<tr>
<td>Введите пароль:</td>
<td><input type="password" size:"20" maxlength="20" name:"password" /></td>
</tr>
<tr>
<td colspan="2"><input class="button" type="submit" value="Зарегистрироваться" name:"submit" /></td>
</tr>
</table>
</form>
</body>
</html>
Я надеюсь ты обратил внимание на пометку в первом посте:
В этом посте, приведен вполне рабочий скрипт регистрации и авторизации, но я крайне не рекомендую использовать его на своем сайте, для своей же безопасности... Данный пост был написан для примера регистрации.
18.01.2019 01:42:55 am
Показано) но не работает, поэтому и спрашиваю.
Черт с ним с header, который не перенаправит на 404. Можно просто print и текст. Сам код, который виден только админу - нет его. Что админ, что гость видят лишь header, либо то что стоит вместо него (к примеру уведомление в виде print)
Этот скрипт защитит только таблицу в бд, от посторонних рученок. И этого в принципе хватит. Дополню хэшэм, кодировкой и чеком о существующих пользователях, и будет вообще супер. Но, надо разобраться с реализацией защиты рег.пхп (как пример)
Черт с ним с header, который не перенаправит на 404. Можно просто print и текст. Сам код, который виден только админу - нет его. Что админ, что гость видят лишь header, либо то что стоит вместо него (к примеру уведомление в виде print)
Этот скрипт защитит только таблицу в бд, от посторонних рученок. И этого в принципе хватит. Дополню хэшэм, кодировкой и чеком о существующих пользователях, и будет вообще супер. Но, надо разобраться с реализацией защиты рег.пхп (как пример)
18.01.2019 01:54:54 am
все. но контент который якобы должен быть скрытым - никто.
18.01.2019 07:06:13 am
Scorpion, забыл о функции session_start(), которая должна находиться в начале каждого файла, где используется массив сессии $_SESSION. Надо так:
<?php
session_start();
// File reg.php
if (empty($_SESSION['login']) | empty($_SESSION['id']) | $_SESSION['id'] != 1)
{
header('HTTP/1.x 404 Not Found');
header('Status: 404 Not Found');
exit;
}
// Далее код для админа
18.01.2019 02:27:44 pm
:D заработало, огромное спасибо
напишите мне на почту, для дальнейшей связи. нужно будет написать пару скриптов, за оплату.
напишите мне на почту, для дальнейшей связи. нужно будет написать пару скриптов, за оплату.