Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.08.2011, 14:44   #1
Che Guevara
Пользователь
 
Аватар для Che Guevara
 
Регистрация: 27.07.2010
Сообщений: 91
По умолчанию array_key_exists и mysql_fetch_array

Привет всем!
Не работает скрипт:
PHP код:
mysql_connect("localhost""user""root");
mysql_select_db("dtm");
$result=mysql_query("SELECT test FROM test");
$accessible=mysql_fetch_array($resultMYSQL_ASSOC);
$script=basename($_SERVER['PHP_SELF']);
settype($script'string');
if(
array_key_exists($script$accessible))
{
echo 
"OK";
}
else
{
echo 
"You have no right to access this page!";

Нужно чтобы скрипт вернул ОК, а он возвращает "You have no right to access this page!"
Che Guevara вне форума Ответить с цитированием
Старый 23.08.2011, 14:58   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

var_dump($script);
var_dump($accessible);
?
Andkorol вне форума Ответить с цитированием
Старый 23.08.2011, 14:58   #3
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Для начала проверьте, что возвращает запрос. Позже уже можно будет определяться с поиском по массиву
motorway вне форума Ответить с цитированием
Старый 23.08.2011, 15:30   #4
Che Guevara
Пользователь
 
Аватар для Che Guevara
 
Регистрация: 27.07.2010
Сообщений: 91
По умолчанию

Цитата:
Для начала проверьте, что возвращает запрос.
Я вот так и не смог посмотреть структуру ответа mysql_fetch_array. Знаю точно что возвращает true, но как найти в этом массиве то что надо???
Che Guevara вне форума Ответить с цитированием
Старый 23.08.2011, 15:44   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Che Guevara Посмотреть сообщение
Я вот так и не смог посмотреть структуру ответа mysql_fetch_array.
Что возвращают эти функции?
Цитата:
Сообщение от Andkorol Посмотреть сообщение
var_dump($script);
var_dump($accessible);
?
Используйте mysql_fetch_assoc()
Andkorol вне форума Ответить с цитированием
Старый 23.08.2011, 16:20   #6
Che Guevara
Пользователь
 
Аватар для Che Guevara
 
Регистрация: 27.07.2010
Сообщений: 91
По умолчанию

Вернуло на экран:
string(8) "test.php" array(1) { ["test"]=> string(8) "lock.php" } You have no right to access this page!

Последний раз редактировалось Che Guevara; 23.08.2011 в 16:22.
Che Guevara вне форума Ответить с цитированием
Старый 23.08.2011, 16:20   #7
Che Guevara
Пользователь
 
Аватар для Che Guevara
 
Регистрация: 27.07.2010
Сообщений: 91
По умолчанию

Сделал так:
PHP код:
mysql_connect("localhost""user""root");
mysql_select_db("dtm");
$result=mysql_query("SELECT test FROM test");
$accessible=mysql_fetch_assoc($result);
$script=basename($_SERVER['PHP_SELF']);  
var_dump($script);
var_dump($accessible);
settype($script'string');
if(
in_array($script$accessible))
{
echo 
"OK";
}
else
{
echo 
"You have no right to access this page!";

Вернуло на экран:
string(8) "test.php" array(1) { ["test"]=> string(8) "lock.php" } You have no right to access this page!
Che Guevara вне форума Ответить с цитированием
Старый 23.08.2011, 16:24   #8
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Che Guevara Посмотреть сообщение
Вернуло на экран:
string(8) "test.php" array(1) { ["test"]=> string(8) "lock.php" } You have no right to access this page!
Используйте basename() так:
PHP код:
$script=basename($_SERVER['PHP_SELF'], ".php"); 
PS: in_array() и array_key_exists() - выполняют совершенно разные функции - у вас то одна в коде, то другая, определитесь, что вам нужно.

Последний раз редактировалось Andkorol; 23.08.2011 в 16:27.
Andkorol вне форума Ответить с цитированием
Старый 23.08.2011, 16:38   #9
Che Guevara
Пользователь
 
Аватар для Che Guevara
 
Регистрация: 27.07.2010
Сообщений: 91
По умолчанию

Спасибо!
Всё заработало!
Che Guevara вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Warning: mysql_fetch_array() empireofgods Помощь студентам 1 22.05.2011 13:45
mysql_fetch_array Rusl92 PHP 5 28.08.2010 22:45
Проблема с mysql_fetch_array vetal5 PHP 2 08.11.2008 16:18