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

Форум MySQL

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

 

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

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

тема: странности mysql_select_db
 
 автор: 1999   (21.03.2006 в 22:29)   письмо автору
 
 


<?
$server 
"localhost";
$user "admin";
$pass "password";
$db_ru "site_ru";
$db_en "site_en";

function 
lb_connect($lang)
{
  
$conn = @mysql_connect($server,$user,$pass);

  if (
$lang == "ru")
  {
    
$db_select = @mysql_select_db($db_ru,$conn);
  }
  elseif (
$lang == "en")
  {
    
$db_select = @mysql_select_db($db_en,$conn);
  }

  if (!@
$conn || !@$db_select)
  {
    exit(
"Недоступна база данных");
  }
}

function 
authorize_mod()
{
  
$langs = array("ru","en");

  for(
$i=0;$i<2;$i++)
  {
     
lb_connect($langs[$i]);

    if(!isset(
$_SERVER['PHP_AUTH_USER'])) { 
      
header("WWW-Authenticate: Basic realm=Администрирование сайта"); 
      exit(
"Неправильный логин/пароль"); 
    }
    else {
      if (!
get_magic_quotes_gpc()) {
        
$_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
        
$_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
      }
      
$_SERVER['PHP_AUTH_USER'] = str_replace("'","'",$_SERVER['PHP_AUTH_USER']);
      
$_SERVER['PHP_AUTH_PW'] = str_replace("'","'",$_SERVER['PHP_AUTH_PW']);
    
      
$query "SELECT pass FROM userlist WHERE name='".$_SERVER['PHP_AUTH_USER']."'";
      
$lst = @mysql_query($query); 
      if(!
$lst) {
        
header("WWW-Authenticate: Basic realm=Администрирование сайта"); 
        exit(
"Неправильный логин/пароль"); 
      }

      if(
mysql_num_rows($lst) == 0) {
        
header("WWW-Authenticate: Basic realm=Администрирование сайта"); 
        exit(
"Неправильный логин/пароль"); 
      }

      
$pass = @mysql_fetch_array($lst);

      if(
md5($_SERVER['PHP_AUTH_PW']) != $pass['pass']) {
        
header("WWW-Authenticate: Basic realm=Администрирование сайта"); 
        exit(
"Неправильный логин/пароль"); 
      }
    }
  }
}

/////////////////////////////////////////
//// e-e-ection!!! //////////////////////
/////////////////////////////////////////

authorize_mod();
?>


задолбало страшно
умирает на lb_connect
хотя если делать коннект не ф-цией, то все супер
в чем дело?

   
 
 автор: 1999   (22.03.2006 в 00:01)   письмо автору
 
   для: 1999   (21.03.2006 в 22:29)
 

heelp

   
 
 автор: Евгений Петров   (22.03.2006 в 00:39)   письмо автору
 
   для: 1999   (22.03.2006 в 00:01)
 

После строки
$db_en = "site_en";

Напишите:

  global $server, $user, $pass, $db_ru, $db_en;

   
 
 автор: Trianon   (22.03.2006 в 10:18)   письмо автору
 
   для: Евгений Петров   (22.03.2006 в 00:39)
 

Не только там, но и после заголовка function lb_connect ($lang) {
Либо переместите туда все эти инициализации

function lb_connect ($lang) 
{
  $server = "localhost"; 
  $user = "admin"; 
  $pass = "password"; 
  $db_ru = "site_ru"; 
  $db_en = "site_en"; 
  $conn = @mysql_connect($server,$user,$pass);
//...

   
Rambler's Top100
вверх

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