[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с определением пользователя !!!
Страницы: 1, 2
Vendeta16
Помогите !!! Народ! Я написал код для проверки кто добавил объявление, чтобы редактировать мог только тот, кто его добавил

<?php

include_once "bd.php";

$resultat = mysql_query ("SELECT * FROM `advertisement` WHERE id = '$id'");
$row = mysql_fetch_array($resultat);

?>

<body>

<?php

if($row['id_user']==$id_user) {
echo "Ви не можете редактувати це оголошення";
}
else {
echo "Ви можете редактувати це оголошення";
}

?>


Но он работает только если пользователь не авторизован. Когда просто ввести сайт.uа / edit_advertisement?id = 1
То пользователь увидит "Вы можете редактировать это объявление"
Но если он авторизуется и введет сайт.uа / edit_advertisement?id = 1 , то независимо от того это он его добавил, все равно сможет его редактировать. Почему??? :( :( :(
FatCat
Цитата (Vendeta16 @ 11.07.2014 - 13:31)
if($row['id_user']==$id_user) {
echo "Ви не можете редактувати це оголошення";
}

Читаем вслух код:
Если в базе имеется такой пользователь, сообщить ему: "Ви не можете редактувати це оголошення".

_____________
Бесплатному сыру в дырки не заглядывают...
Vendeta16
Я переставил местами, но оно все равно неправильно работает, почему???
inpost
Vendeta16
$id - это $id.
$_GET['id'] - это $_GET['id']
$_POST['id'] - это $_POST['id']
Пиши нужную переменную. Сверху 3 абсолютно разных!

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Vendeta16
Да не работает ничего !!!
Kusss
делай проверки.
выведи отдельно id_пользователя и данные из БД
echo 'Result='.$row['id_user'].'=='.$id_user.'<br>';
Kusss
и ещё привыкай объявлять переменные.
Так как твой хостинг скорее всего настроен так , что $id в тексте по умолчанию равно $переменная = $_REGUEST['переменная'];
Посему присваивай их сам. $id = $_GET['id'];
У самого такая штука стояла когда начинал.
McLotos
ошибка просто в логике
if($row['id_user']==$id_user) {
echo "Ви не можете редактувати це оголошення";
}
else {
echo "Ви можете редактувати це оголошення";
}

ID совпадает?
Да!
Тогда запретить редактирование, кстати FatCat об этом и говорил =)

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
McLotos
$id_user откуда берется?
Что в ней лежит?

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
exotica
Цитата
$id_user откуда берется?
Что в ней лежит?

SergeySA
тут вообще ничего не понятно что откуда должно рости и во что произростать smile.gif
  • во первых обратив внимание на bd.php сразу есть мысли откуда скрипт произрос
  • во вторых SELECT * там где достаточно ограничится конкретными полями или полем
  • в третьих откуда взялась переменная $id ? И без приведения ее к целочисленному значению перед запросом будет беда
  • в четвертых старый добрый mysql_fetch_array() здесь не нужен думаю и должно его заменить на mysql_fetch_assoc()
  • в пятых что за переменная $id_user?? откуда она и к чему
  • и наконец в шестых даже если все происходит нормально, и в вашем БД есть нужный пользователь. То ваше условие говорит что если он найден то "ДОСТУП ЕМУ ЗАПРЕТИТЬ"!

И даже после исправления всего мной сказанного я не уверен что все будет работать, так как общей картины я не вижу и судить немогу. Только оценочный взгляд бросил wink.gif



_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
inpost
Vendeta16
Что не работает? Переменную одну на другую замени, каким методом ты передаёшь в адресной строке? POST ? Если POST, то пиши $_POST['id']; Всё от тебя зависит.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
McLotos
inpost
мы уже всю голову сломали. За последние 2 дня у нас на форуме эпидемия двух заболеваний:
1. Все наглухо забыли что код нужно оформлять в [php], нафига? он же от этого понятнее не станет.
2. Люди стали задавать вопросы толком не объяснив ситуацию или хотя бы своих ожиданий от кода. в общем грустно всё это,
форум заполонили выпускники дошкольных групп с географическим уклоном. =)

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
inpost
SergeySA
Не переживай, все с такого начинали. Я тоже первые сообщения не оформлял [php] тегами.Всё приходит с опытом. Просто надо понять, хочет ли человек дальше учиться и пытаться разобраться в POST,GET,локальных переменных, или ему на всё ЯО и это просто сдача какого-нибудь экзамена.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Vendeta16
Цитата (Kusss @ 11.07.2014 - 17:00)
делай проверки.
выведи отдельно id_пользователя и данные из БД

Выводит Result===8
inpost
Vendeta16
Как это id_пользователя у тебя Result ? Исправляй ... Там цифра должна быть

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.