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

Форум MySQL

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

 

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

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

тема: Проверка пароля в MySQL и переход на другую страницу
 
 автор: kaya   (15.04.2010 в 13:13)   письмо автору
 
 

Вопрос такой:
нужно проверить,если соединение с датабайс является не успешным, то перенаправить на страницу: page_under_maintenance.
Я не знаю с чего начать? Помогите чайнику, подскажите с чего начать?

Буду очень признательна за помощь:)
У меня есть только следующий код:

$passw= md5($passw);
$sql= mysql_connect($server = DB_SERVER, $username = DB_SERVER_USERNAME, $password = DB_SERVER_PASSWORD, $database = DB_DATABASE, $link = 'db_link');
if(!$sql){
    echo("Couldn`t connect " . mysql_error());
}

И естественно,не работает:(:(

  Ответить  
 
 автор: Trianon   (15.04.2010 в 14:01)   письмо автору
 
   для: kaya   (15.04.2010 в 13:13)
 

if(!$sql)
{
  header('HTTP/1.0 503 Under construction');
  header('Status: 503 Under construction'); 
  echo "
Извините, сейчас на сервере выполняются регламентные работы. Попробуйте зайти через час.

Sorry. Server under maintenance. Try again one hour later
";
}


но только попытку подключиться Вы делаете как-то странно.

Во1х
$link = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD);
и проверить.
Во2х
$res = mysql_select_db(DB_DATABASE);
и проверить.
В3х
mysql_query("SET NAMES 'кодировка_соединения_с_БД'");

В4х зачем там верхняя строка с md5 ?

  Ответить  
 
 автор: kaya   (15.04.2010 в 14:15)   письмо автору
 
   для: Trianon   (15.04.2010 в 14:01)
 

Cпасибо огромное, пойду мучаться:):)

  Ответить  
 
 автор: Trianon   (15.04.2010 в 14:19)   письмо автору
 
   для: kaya   (15.04.2010 в 14:15)
 

Мучиться-то зачем?
Непонятно что - спрашивайте.
Ответят.
Не я - так другие.

  Ответить  
 
 автор: kaya   (15.04.2010 в 14:32)   письмо автору
 
   для: Trianon   (15.04.2010 в 14:01)
 

Вот,как он меня отшил:(

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:\xampp\htdocs\OTE\includes\functions\database.php  on line 19
Unable to connect to database server!

  Ответить  
 
 автор: Trianon   (15.04.2010 в 14:34)   письмо автору
 
   для: kaya   (15.04.2010 в 14:32)
 

error_reporting(E_ALL|E_NOTICE); в начало файла. поставьте плиз.

У Вас и вправду есть эти константы DB_xxxx правильными значениями определены?

  Ответить  
 
 автор: kaya   (15.04.2010 в 14:43)   письмо автору
 
   для: Trianon   (15.04.2010 в 14:34)
 

Константы есть:

 define('DB_SERVER', 'localhost');
  define('DB_SERVER_USERNAME', 'root');
  define('DB_SERVER_PASSWORD', '123');
  define('DB_DATABASE', 'ticketdb');
  define('USE_PCONNECT', 'false');
  define('STORE_SESSIONS', 'mysql');


И всё равно даёт мне ту же ошибку:

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:\xampp\htdocs\OTE\includes\functions\database.php  on line 19
Unable to connect to database server!

А это функция:

function tep_db_connect($server = DB_SERVER, $username = DB_SERVER_USERNAME, $password = DB_SERVER_PASSWORD, $database = DB_DATABASE, $link = 'db_link') {
    global $$link;

    if (USE_PCONNECT == 'true') {
      $$link = mysql_pconnect($server, $username, $password);
    } else {
      $$link = mysql_connect($server, $username, $password);
    }

    if ($$link) mysql_select_db($database);

    return $$link;
  }

  function tep_db_close($link = 'db_link') {
    global $$link;

    return mysql_close($$link);
  }

Мне аж реветь хочеться:(:(

  Ответить  
 
 автор: Trianon   (15.04.2010 в 15:11)   письмо автору
 
   для: kaya   (15.04.2010 в 14:43)
 

так а сервер и вправду локальный (по отношению к php) , и к нему и вправду можно подключиться логином root и паролем 123 ?
Другими словами, в MySQL сервере у пользователя root именно такой пароль?


Кстати, дело на хостинге происходит, или на своей машине?

Не надо плакать. Это всё того не стоит.

  Ответить  
 
 автор: kaya   (15.04.2010 в 15:18)   письмо автору
 
   для: Trianon   (15.04.2010 в 15:11)
 

Пароль я внесла для проверки, можно ли подключиться таким образом. Убедилась , что нельзя. А сервер локальный. Если я убираю пароль, то всё работает.

  Ответить  
 
 автор: kaya   (15.04.2010 в 15:19)   письмо автору
 
   для: kaya   (15.04.2010 в 15:18)
 

Дело происходит на машине на работе

  Ответить  
 
 автор: Trianon   (15.04.2010 в 15:24)   письмо автору
 
   для: kaya   (15.04.2010 в 15:19)
 

когда Вы напрямую к серверу БД подключаетесь - это удается сделать по паре логин/пароль root/123 ?

  Ответить  
 
 автор: kaya   (15.04.2010 в 15:30)   письмо автору
 
   для: Trianon   (15.04.2010 в 15:24)
 

Нет,это удается сделать логин/пароль root/ " "

  Ответить  
 
 автор: Trianon   (15.04.2010 в 15:31)   письмо автору
 
   для: kaya   (15.04.2010 в 15:30)
 

так может тогда стоит в define('DB_SERVER_PASSWORD' поставить именно тот пароль, который проходит? Пусть бы и пустой?
Или у Вас там кавычка пробел кавычка именно пароль и составляет?

  Ответить  
 
 автор: kaya   (15.04.2010 в 15:35)   письмо автору
 
   для: Trianon   (15.04.2010 в 15:31)
 

Да,я то с вами согласна, но мой шеф хочет проверить, как говориться-- жираф большой,ему видней.

  Ответить  
 
 автор: kaya   (15.04.2010 в 15:37)   письмо автору
 
   для: Trianon   (15.04.2010 в 15:31)
 

Первоначально это выглядит так:

define('DB_SERVER_PASSWORD', '  ');

  Ответить  
 
 автор: Trianon   (15.04.2010 в 16:00)   письмо автору
 
   для: kaya   (15.04.2010 в 15:37)
 

какой пароль вы вводите в поле ввода при прямом обращении? дословно - по клавишам?

  Ответить  
 
 автор: kaya   (15.04.2010 в 16:03)   письмо автору
 
   для: Trianon   (15.04.2010 в 16:00)
 

kaya37

  Ответить  
 
 автор: Trianon   (15.04.2010 в 16:07)   письмо автору
 
   для: kaya   (15.04.2010 в 16:03)
 

'kaya37' это совсем непохоже на ' '

  Ответить  
 
 автор: kaya   (15.04.2010 в 16:19)   письмо автору
 
   для: Trianon   (15.04.2010 в 16:07)
 

Что вы имеете ввиду?

  Ответить  
 
 автор: Trianon   (15.04.2010 в 17:09)   письмо автору
 
   для: kaya   (15.04.2010 в 16:19)
 

А Вы?

  Ответить  
 
 автор: kaya   (15.04.2010 в 17:27)   письмо автору
 
   для: Trianon   (15.04.2010 в 17:09)
 

:):):)

if (USE_PCONNECT == 'true') {
      $$link = mysql_pconnect($server, $username, $password);
    } else {
      if(!@$$link = mysql_connect($server, $username, $password)){
    header('Location: page_under_maintenance.php');
      }

    }


Вот придумала нечто , но и это тоже не работает:(:(

  Ответить  
 
 автор: Trianon   (15.04.2010 в 18:01)   письмо автору
 
   для: kaya   (15.04.2010 в 17:27)
 

Это не есть гуд. клиентский редирект испортит адрес в браузере. 503 статус все равно придется писать.
лучше выбросить статус, сделать include() уж коль скоро файл такой нетривиальный, а затем сделать exit()
Хотя причин делать нетривиальный файл вроде бы нет.

  Ответить  
Rambler's Top100
вверх

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