@Ainur100

Как реализовать PHP?

Как реализовать , чтобы пользователь с ником 123 смог изменять только свои записи (в записях есть параметр kan_admin=123),а то у меня получается так,в ссылке myprojekt.php?id=7, при изменении id можно изменить любую запись
$id=$_GET["id"];
            $where="WHERE `id`=".$id;
$connect = mysqli_connect('localhost', 'root','123', 'krypton');
# В случаи неудачи подключении выводим ошибку на экран
if (mysqli_connect_errno($connect))
{
    mysqli_error();
}
# Составляем запрос
$sql = "SELECT * FROM `kanal` $where";
# Выполняем запрос
$query = mysqli_query($connect, $sql);
# В случаи неудачи с запросом выводим ошибку на экран
if (!$query)
{
    mysqli_error($connect);
}
else # Если же всё в порядке, переходим к циклу 
{
    while($kanal = mysqli_fetch_assoc($query))
    {
    echo"
    <p><input type=\"hidden\"  name=\"id\" value=\"".$kanal["id"]."\"/></p>
    
        <p><input type=\"text\" name=\"kan_name\" placeholder=\"Название канала\" maxlength=\"20\" value=\"".$kanal["kan_name"]."\"/></p>
        
        <p><input type=\"text\" name=\"kan_soname\" placeholder=\"Краткое описание канала \" maxlength=\"85\" value=\"".$kanal["kan_soname"]."\"/></p>
     
   
                ";
    }
}
  • Вопрос задан
  • 236 просмотров
Пригласить эксперта
Ответы на вопрос 3
@niriter
User
перед сохранением должна быть проверка author-id, и в случае если админ редактирует свою запись - должно сохранить, в противном случае - предупреждение что вы не автор...
Код сейчас лень набросать, может позже напишу
Ответ написан
paulfcdd
@paulfcdd
PHP/Sf/WEB developer
перед записью в базу данных нужно сравнить айди залогиненого пользователя с айди урла с которого пришел запрос. А вообще, если пользователь с айди 1 перешел на пользователя с айди 2 то еще не мешало бы в таком случае в хтмл убирать кнопки сохранения итд
Ответ написан
Комментировать
Если я правильно понял, то проверку делай не перед сохранением, а перед отображением страницы, а то получается что можно зайти на любой id и посмотреть всю информацию, но это если нужно видеть только свои данные.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽