|
|
|
|
|
для: Ralph
(07.03.2007 в 13:59)
| | Лично я в начале каждого файла прописываю строку include'db.php'; где файл имеет текст
<?php
function mq($q,$e)
{$r=mysql_query($q);
if(!$r){exit('ошибка БД'.$e.mysql_error());}
return;}
$mid=@mysql_connect('server','login','password');
if(!$mid){exit('не удалось соединиться с базой');}
mq("USE database",'Выбор базы данных');
?>
| а далее в главном файле пользуюсь инструкциями типа mq("select...",'чтение...') | |
|
|
|
|
|
|
|
для: Ralph
(07.03.2007 в 13:59)
| | Спасибо тебе огромное за то что потратил на меня время и все разжевал. Действительно, очень тебе благодарен! :) | |
|
|
|
|
|
|
|
для: parallelepiped
(07.03.2007 в 13:37)
| | Сам просил поподробнее :-) В принципе,все правильно,но для того,чтобы все запросы в index.php работали,необязательно вызывать постоянное соединение mysql_pconnect,хватит обычного mysql_connect | |
|
|
|
|
|
|
|
для: Ralph
(07.03.2007 в 13:36)
| | Если такая строка есть-значит,по крайней мере,пользователь зарегистрирован.Теперь проверим,имеет ли он право удалять статьи if($dim['статус']!='админ'){exit'извини,ты конечно классный мужик,но удалять статьи не имеешь права';}.Получается,мы проверили,что да,есть в таблице юзеров пользователь с таким логином и паролем,и что он админ,следовательно можно с чистой совестью посылать базе запрос на удаление из таблицы 'статьи' строки номер 8 mysql_query("DELETE FROM статьи WHERE num=8 | |
|
|
|
|
|
|
|
для: Ralph
(07.03.2007 в 13:36)
| | Да это-то понятно :) Как раз это в учебниках написано. Мне просто необходимо взглянуть с другой стороны на хранение имени пользователя и пароля к БД как-нибудь так, чтобы неавторизованый юзер мог получать инфу (не важно, через другой скрипт это делается или напрямую) но при этом не получал пароля от БД, в том-то и дело что я не понимаю принципа. Возможно, конечно, его можно прямо в коде писать не скрывая, если код php нельзя прочитать никому или как-то иначе, я вот этого как раз и не знаю. | |
|
|
|
|
|
|
|
для: Ralph
(07.03.2007 в 13:11)
| | Ну про телефон, это ты переборщил, конечно ;) Я более-менее понимаю что к чему. И если бы была возможность создать несколько пользователей БД у меня и вопросов бы не возникло: один пользователь для web с правами SELECT на определенные таблицы и все, другой админ со всеми правами.
У меня пример такой: на странице выодится ежедневный анонс, и сопутствующие ему элементы, как действующие лица, например и еще что-нибудь. Т.е. только SELECT меня интересует. Как я понял, можно сделать так: К к index.php подключаем файл db_inf.php c сhmod 700, например (чтобы пользователям он был не доступен) из него устанавливаем постоянное соединение с БД ( mysql_pconnect(), если я правильно все понимаю), и все запросы в index.php работают. Или в этом файле с паролем и логином я пишу функцию подключения к БД, вида
db_connect () {
return mysql_connect('host','login,'pass);
}
' которой потом пользуюсь? | |
|
|
|
|
|
|
|
для: Ralph
(07.03.2007 в 13:25)
| | переменная становится массивом,ключами которого становятся те столбцы,имена которых мы указали после слова select.Так как мы указали один столбец 'статус',то у нас должен получиться массив с одним ключом-$dim['статус'].Теперъ проверяем if(!$dim){exit'fuck you';}-если массив не создан-значит,в той таблице нет строки,соответствующей нашим условиям-скорее всего это значит,что со скриптом работает незарегистрированный пользователь.Следовательно,посылаем его нах и заканчиваем работу | |
|
|
|
|
|
|
|
для: Ralph
(07.03.2007 в 13:11)
| | Если не получилось-выдает сообщение об ошибке и прекращает работу.Получилось-посылает базе запрос $dim=mysql_fetch_array(mysql_query("SELECT статус FROM юзеры WHERE l='логин,взятый из куки' AND p='пароль из куки' LIMIT 1")).У нас в базе есть таблица 'юзеры' со столбцами 'логин','пароль','статус'... Запрос запрашивает из таблицы юзеров одну строку,у которой значение столбца l равно нашему логину из кук,а значение столбца p равно паролю из кук.Если строка с таким условием найдена,то | |
|
|
|
|
|
|
|
для: parallelepiped
(07.03.2007 в 12:59)
| | Хорошо,к примеру,кто-то загрузил страницу на моем сайте и нажал на ссылку "удалить статью #8",вызвав скрипт 'удаление.пхп'.скрипт начинает работу.Первым делом он должен узнать,кто к нему обратился.Простейший (правда,опасный,но пока это неважно) вариант-мой логин и пароль хранятся в куках.Скрипт читает куку 'логин' и куку 'пароль'.Дальше он устанавливает соединение с базой mysql_connect(имя сервера с базой данных,логин пользователя базы,пароль пользователя базы).Проверяет,получилось ли соединиться | |
|
|
|
|
|
|
|
для: Ralph
(07.03.2007 в 12:51)
| | Спасибо тебе огромное за внесение некоторой ясности. А не мог бы ты указать мне на какой-нибудь пример того как это работает, только не на какой-нибудь CMS, желательно чтобы попроще было. Можно даже без кода, схемой или как-нибудь еще. Я много где искал просто, разжеванного нигде не нашел, а это ведь основа. | |
|
|
|
|