|
 2.6 Кб |
|
| Народ, написал я мини-сценарий для работы с бд. Конечно он не нужен, т.к. есть такое мощное средство как MyAdmin, зато попрактиковался в работе с MySQL. Простенький, зато, как по мне, удобный сценарий; можно менять под себя имя бд, таблицы, названия полей, кол-во полей.
Выкладываю, может кому-то пригодится + свои замечания подскажете. И еще я, писав его, столкнулся с проблемой, что мне в каждую новую форму приходилось заносить два невидимых поля, в которых хранить логин и пароль и передавать их дальше... В общем, мучительная процедура... Наверняка можно было бы как-то через сессии или куки это организовать, но на практике я их к сожалению не применял... Может подскажите реализацию с их помощью, а не через невидимые поля...
Заранее благодарен, прикрепляю сценарий! | |
|
|
|
|
|
|
|
для: !!Yurchik!!
(04.01.2005 в 23:24)
| | На самом деле вещь необычайно нужная так как phpMyAdmin в распакованном виде занимает зараза 6 Мб мелкими файлами... если его нет на сервере, то только от одной перспективы загрузки его туда мне становится дурно. В тоже время, такие вещи очень часто нужны в различных Web-приложениях.
Сессии организуются следующим образом: в самом начале файла стартуется сессии:
<?php
session_start();
?>
|
А после удачной регистрации в сессии помещается кака-либо переменная:
<?php
$_SESSION['wet'] = true;
?>
|
А после остаётся только проверять имеется ли в текущей сессии переменная wet и равно ли её значение true:
<?php
if($_SESSION['wet'])
{
// Авторизация пройдена успешно
}
?>
|
Переменные хранятся на сервере, по сети гуляет только идентификатор сессии, который живёт не более часа, поэтому взломать такую систему достаточно сложно, особенно, если стимул для взлома не большой. | |
|
|
|
|
|
|
|
для: cheops
(05.01.2005 в 01:04)
| | Спасибо, попробую!
Слушай, такая проблема: в PhpMyAdmin задал пароль для пользователя root, и теперь не могу зайти в сам
MyAdmin, выдает сообщение "отказано в доступе", даже не запрашивая пароль... Что делать??? Как зайти в него
так, чтобы он запросил пароль а не отказывал сразу же в доступе.
С консолью MySQL все получилось: набрал
mysql -h localhost -u root -p
оно выдало запрос на пароль и я ввел его. Тут все ок, но вот с МайАдмином... | |
|
|
|
|
|
|
|
для: !!Yurchik!!
(05.01.2005 в 17:49)
| | А где это происходит на локальном хосте или на сервере? В файле config.inc.php необходимо исправить директивы:
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'user';
$cfg['Servers'][$i]['password'] = 'password';
|
PS Но директивы должный быть первые, так как их там много - phpMyAdmin можно настроить для доступа к нескольким серверам...
PPS Инсталляция, настройка и работа с phpMyAdmin описывается в нашей второй книге по PHP. | |
|
|
|
|
|
|
|
для: cheops
(05.01.2005 в 18:03)
| | Спасибо, сработало!
Ну его нафиг с паролем ставить :) кучу неприятностей на голову упало... | |
|
|
|
|
|
|
|
для: cheops
(05.01.2005 в 18:03)
| | Но я еще плюс ко всему поудалял "любой пользователь"... и теперь у меня в сценариях mysql_connect без параметров не срабатывает... Если не трудно, подскажи, как обратно добавить такого пользователя... | |
|
|
|
|
|
|
|
для: !!Yurchik!!
(05.01.2005 в 21:11)
| | phpMyAdmin -> Привелегии -> Добавить нового пользователя
Имя пользователя - любой пользователь
Хост - Local
Пароль - без пароля (или задать если нужен)
Пошёл (блин, какой шутник переводил phpMyAdmin) | |
|
|
|
|
|
|
|
для: cheops
(05.01.2005 в 18:03)
| | У меня еще по скрипту, который я прикрепил, есть несколько вопросов:
1. При удалении полей из таблицы индексы не меняется и через несколько удалений получается некрасиво (таблица начинается, например, с 5-го номера)... Можно как-то задать, чтобы номера сдвигались при удалении записи, т.е. чтобы таблица всегда начиналась с 1
2. Проверять поле ввода имени, например, так чтобы начиналось с буквы (я знаю, что можно с помощью регул. выражений). По другому можно как-нибудь?
Заранее спасибо :)! | |
|
|
|
|
|
|
|
для: !!Yurchik!!
(05.01.2005 в 21:15)
| | 1) Обычно для этого уничтожают столбец с индексом и воссоздают его при наличии атрибута auto_increment - всё нумеруется опять с 1, но не делать же эту операцию каждый раз из-за удаления поля... лучше собственоручно нумеровать записи, введя переменную $i и в цикле увеличивать её значение на 1... а ещё лучше подождать немного и вы привыкните :)))
2) Можно наверное составить массив букв и проверять вхождение первого символа в этот массив... но помоему лучше сразу регулярным выражением воспользоваться... | |
|
|
|
|
|
|
|
для: cheops
(06.01.2005 в 00:17)
| | Спасибо.
У меня опять вопрос не совсем в тему. В большинстве языках программирования (Visual C++, Delphi и т.д.) взаимодействие с сервером БД происходит через интерфейс ODBC. Расскажите, плиз, в двух словах об этом интерфейсе, что он из себя представляет и какие функции выполняет.
И насколько я знаю PHP напрямую взаимодействует с сервером MySQL, или он тоже работает через ODBC..? Вобщем, ничего не понятно. Объясните, пожалуйста :)
Заранее благодарен | |
|
|
|
|
|
|
|
для: !!Yurchik!!
(11.01.2005 в 21:56)
| | ODBC - это единый интерфейс для доступа к различным базам данных, т.е. разработчик всегда имеет дело с одинаковым интерфейсом какую-бы базу данных он не использовал, разумеется для этого нужен драйвер для каждой из баз данных. Расплата за это более низкая производительность. Быстро этот интерфейс работает только для родной базы данных Microsoft - MSSQL. В общем идея понятная, как и для драйверов Microsoft предоставляет единые программный интерфейс для программистов к любой базе данных, а задача написания драйвера ложиться на плечи производителя (железа или базы данных, так как они лучше всех своё детище знают им это труда не составляет). Программам разработаным с использованием этого интерфейса теоретически всё равно какая база данных по другую сторону интерфейса. PHP тоже может работать с MySQL по интерфейсу ODBC, но этим никто не пользуется, так как они неплохо взаимодействуют напрямую, а на UNIX-сервер ODBC нет. Вот ссылки по теме:
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=295
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=250
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=389
PS Всё таки лучше под новый вопрос заводить новую тему - её потом искать проще. Кроме того, захочет кто-то потом почитать про ODBC - я дам ссылку на эту тему - ему придётся искать нужную информацию в конце темы, читая все топики и расходуя время. | |
|
|
|