<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру

PHP и MySQL с Нуля до Гуру

Данный курс - это более 20-ти часов видеоуроков по изучению PHP и MySQL. Ключевой момент курса - это создание движка для сайта с нуля. Каждая строчка комментируется. Практически для каждого урока имеются упражнения. Причём данные упражнения направлены не только на закрепление материала, но и на реализацию реальных задач, встающих перед Web-разработчиками при создании сайтов. После курса Вы сможете без проблем создавать движки для любых сайтов.

Также почти к каждому уроку идут упражнения для закрепления материала.

Просмотрев курс и выполнив упражнения, Вы сможете без проблем создавать функциональные движки для самых различных сайтов.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Удаление файлов
28.06.2013 11:33:59 Удаление файлов Сообщение #1
RussianPro

RussianPro

Эксперт

Эксперт

Дата регистрации:
14.07.2011 01:32:38

Сообщений: 114

Покажите код функции getAvatar().
Профиль Ответить
28.06.2013 12:41:42 Удаление файлов Сообщение #2
shamil

shamil

Продвинутый

Продвинутый

Дата регистрации:
17.03.2013 00:07:27

Сообщений: 51

function getAvatar($login) {
$mysqli = connectDB();
$result_set = $mysqli->query("SELECT `avatar` FROM `users` WHERE `login` ='$login'";
$row = $result_set->fetch_assoc();
closeDB($mysqli);
return $row["avatar"];
}
Профиль Ответить
02.07.2013 20:09:55 Удаление файлов Сообщение #3
RussianPro

RussianPro

Эксперт

Эксперт

Дата регистрации:
14.07.2011 01:32:38

Сообщений: 114

В коде ошибок вроде нет. Значит у Вас функция всегда возвращает пустое значение для переменной avatar. Посмотрите правильно ли Вы составили SQL-запрос.

P.S. Попробуйте написать запрос вот так
<?php
$result_set = $mysqli->query("SELECT `avatar` FROM users WHERE `login` = '$login'";
?>
Профиль Ответить
24.07.2013 10:03:13 Удаление файлов Сообщение #4
shamil

shamil

Продвинутый

Продвинутый

Дата регистрации:
17.03.2013 00:07:27

Сообщений: 51

здравствуйте,при удалении сообщений добавил условие позволяющее удаляться толко вошедшими,тоесть вошедший может удалить и свое и любое сообщение.Как можно поставить ограничение на удаление?
if (checkUser($_SESSION['login'], $_SESSION['password'])) {
echo "<a href = 'delete_comment.php?comment=$id'>Удалить</a>";
}
else {echo "Удалить";}
}
Профиль Ответить
24.07.2013 10:59:24 Удаление файлов Сообщение #5
RussianPro

RussianPro

Эксперт

Эксперт

Дата регистрации:
14.07.2011 01:32:38

Сообщений: 114

Замените функцию checkUser (она тут не к месту). Напишите вместо неё функцию, которая будет сначала смотреть авторизован пользователь или нет, а потом уже проверять его это коммент или нет. Если не поняли, напишу пример.
Профиль Ответить
24.07.2013 16:32:56 Удаление файлов Сообщение #6
RussianPro

RussianPro

Эксперт

Эксперт

Дата регистрации:
14.07.2011 01:32:38

Сообщений: 114

Функция checkUser уже проверяет на наличие авторизации!

Примерно вот так всё будет

<?php
function checkCommentOwner($user_id, $comment_id) {
if (!checkUser($_SESSION['login'], $_SESSION['password']) return false; //проверяем авторизован ли пользователь
$mysqli = mysqli('localhost', 'root', '', 'mydb'); //подключаемся к базе
$result_set = $mysqli->query("SELECT `owner_id` FROM comments WHERE `id` = '$comment_id'"; //узнаём id пользователя (owner_id) который написал этот комент
$user = $result_set->fetch_assoc();
$owner_id = $user['owner_id'];
return $user_id == $owner_id; //сравниваем id хозяина коммента и id который передали функции
}
?>


И теперь сама ссылка

<?php
//в сессии user_id передаём id авторизованного пользователя
//в $id передаём id коммента
if (checkCommentOwner($_SESSION['user_id'], $id)) {
echo '<a href = "delete_comment.php?comment='.$id.'">Удалить</a>';
}
?>
Профиль Ответить
24.07.2013 18:20:32 Удаление файлов Сообщение #7
shamil

shamil

Продвинутый

Продвинутый

Дата регистрации:
17.03.2013 00:07:27

Сообщений: 51

и поле owner_id добавлять?
Профиль Ответить
24.07.2013 18:30:13 Удаление файлов Сообщение #8
RussianPro

RussianPro

Эксперт

Эксперт

Дата регистрации:
14.07.2011 01:32:38

Сообщений: 114

Да. Добавьте в структуру таблицы comments поле owner_id, в котором будет храниться id пользователя, который написал коммент.
Профиль Ответить
25.07.2013 21:23:08 Удаление файлов Сообщение #9
shamil

shamil

Продвинутый

Продвинутый

Дата регистрации:
17.03.2013 00:07:27

Сообщений: 51

сдесь я ошибку нашел,нехватало скобок
if (!checkUser($_SESSION['login'], $_SESSION['password']),исправил,
if (!(checkUser($_SESSION['login'], $_SESSION['password'])),теперь все отображается,но неработает,может полей не хватает user_id
и comment_id ?
Профиль Ответить
26.07.2013 07:53:05 Удаление файлов Сообщение #10
RussianPro

RussianPro

Эксперт

Эксперт

Дата регистрации:
14.07.2011 01:32:38

Сообщений: 114

Проверьте в phpMyAdmin корректность SQL-запрос, скиньте ваш код и ошибки (если имеются).
Профиль Ответить