Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Мини-сценарий для работы с таблицами бд MySQL
 
 автор: !!Yurchik!!   (04.01.2005 в 23:24)   письмо автору
2.6 Кб
 
 

Народ, написал я мини-сценарий для работы с бд. Конечно он не нужен, т.к. есть такое мощное средство как MyAdmin, зато попрактиковался в работе с MySQL. Простенький, зато, как по мне, удобный сценарий; можно менять под себя имя бд, таблицы, названия полей, кол-во полей.
Выкладываю, может кому-то пригодится + свои замечания подскажете. И еще я, писав его, столкнулся с проблемой, что мне в каждую новую форму приходилось заносить два невидимых поля, в которых хранить логин и пароль и передавать их дальше... В общем, мучительная процедура... Наверняка можно было бы как-то через сессии или куки это организовать, но на практике я их к сожалению не применял... Может подскажите реализацию с их помощью, а не через невидимые поля...
Заранее благодарен, прикрепляю сценарий!

   
 
 автор: cheops   (05.01.2005 в 01:04)   письмо автору
 
   для: !!Yurchik!!   (04.01.2005 в 23:24)
 

На самом деле вещь необычайно нужная так как phpMyAdmin в распакованном виде занимает зараза 6 Мб мелкими файлами... если его нет на сервере, то только от одной перспективы загрузки его туда мне становится дурно. В тоже время, такие вещи очень часто нужны в различных Web-приложениях.
Сессии организуются следующим образом: в самом начале файла стартуется сессии:
<?php
  session_start
();
?>

А после удачной регистрации в сессии помещается кака-либо переменная:
<?php
  $_SESSION
['wet'] = true;
?>

А после остаётся только проверять имеется ли в текущей сессии переменная wet и равно ли её значение true:
<?php
  
if($_SESSION['wet'])
  {
    
// Авторизация пройдена успешно
  
}
?>

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

   
 
 автор: !!Yurchik!!   (05.01.2005 в 17:49)   письмо автору
 
   для: cheops   (05.01.2005 в 01:04)
 

Спасибо, попробую!

Слушай, такая проблема: в PhpMyAdmin задал пароль для пользователя root, и теперь не могу зайти в сам

MyAdmin, выдает сообщение "отказано в доступе", даже не запрашивая пароль... Что делать??? Как зайти в него

так, чтобы он запросил пароль а не отказывал сразу же в доступе.
С консолью MySQL все получилось: набрал
mysql -h localhost -u root -p
оно выдало запрос на пароль и я ввел его. Тут все ок, но вот с МайАдмином...

   
 
 автор: cheops   (05.01.2005 в 18:03)   письмо автору
 
   для: !!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.

   
 
 автор: !!Yurchik!!   (05.01.2005 в 21:06)   письмо автору
 
   для: cheops   (05.01.2005 в 18:03)
 

Спасибо, сработало!
Ну его нафиг с паролем ставить :) кучу неприятностей на голову упало...

   
 
 автор: !!Yurchik!!   (05.01.2005 в 21:11)   письмо автору
 
   для: cheops   (05.01.2005 в 18:03)
 

Но я еще плюс ко всему поудалял "любой пользователь"... и теперь у меня в сценариях mysql_connect без параметров не срабатывает... Если не трудно, подскажи, как обратно добавить такого пользователя...

   
 
 автор: cheops   (06.01.2005 в 00:10)   письмо автору
 
   для: !!Yurchik!!   (05.01.2005 в 21:11)
 

phpMyAdmin -> Привелегии -> Добавить нового пользователя
Имя пользователя - любой пользователь
Хост - Local
Пароль - без пароля (или задать если нужен)
Пошёл (блин, какой шутник переводил phpMyAdmin)

   
 
 автор: !!Yurchik!!   (05.01.2005 в 21:15)   письмо автору
 
   для: cheops   (05.01.2005 в 18:03)
 

У меня еще по скрипту, который я прикрепил, есть несколько вопросов:
1. При удалении полей из таблицы индексы не меняется и через несколько удалений получается некрасиво (таблица начинается, например, с 5-го номера)... Можно как-то задать, чтобы номера сдвигались при удалении записи, т.е. чтобы таблица всегда начиналась с 1
2. Проверять поле ввода имени, например, так чтобы начиналось с буквы (я знаю, что можно с помощью регул. выражений). По другому можно как-нибудь?
Заранее спасибо :)!

   
 
 автор: cheops   (06.01.2005 в 00:17)   письмо автору
 
   для: !!Yurchik!!   (05.01.2005 в 21:15)
 

1) Обычно для этого уничтожают столбец с индексом и воссоздают его при наличии атрибута auto_increment - всё нумеруется опять с 1, но не делать же эту операцию каждый раз из-за удаления поля... лучше собственоручно нумеровать записи, введя переменную $i и в цикле увеличивать её значение на 1... а ещё лучше подождать немного и вы привыкните :)))
2) Можно наверное составить массив букв и проверять вхождение первого символа в этот массив... но помоему лучше сразу регулярным выражением воспользоваться...

   
 
 автор: !!Yurchik!!   (11.01.2005 в 21:56)   письмо автору
 
   для: cheops   (06.01.2005 в 00:17)
 

Спасибо.
У меня опять вопрос не совсем в тему. В большинстве языках программирования (Visual C++, Delphi и т.д.) взаимодействие с сервером БД происходит через интерфейс ODBC. Расскажите, плиз, в двух словах об этом интерфейсе, что он из себя представляет и какие функции выполняет.
И насколько я знаю PHP напрямую взаимодействует с сервером MySQL, или он тоже работает через ODBC..? Вобщем, ничего не понятно. Объясните, пожалуйста :)
Заранее благодарен

   
 
 автор: cheops   (11.01.2005 в 22:21)   письмо автору
 
   для: !!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 - я дам ссылку на эту тему - ему придётся искать нужную информацию в конце темы, читая все топики и расходуя время.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования