[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    У меня выполняется
    Header("WWW-Authenticate: Basic realm=\"Авторизуйтесь\"");
    Header("HTTP/1.0 401 Unauthorized");
    echo "test";

    Но окна не возникает
     
    _________________________
  2. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    Попробуй вначале написать
    $_SERVER['php_auth_user'] = 0;
    Окошко выскочит?
     
  3. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Ммм, скажем так, как отдельный скрипт авторизация появляется, а в моем скрипте почему то нет
     
    _________________________
  4. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    PHP:
    <?php
     
    function auth() { 
       
    header('WWW-Authenticate: Basic realm="Авторизуйтесь"'); 
       
    header('HTTP/1.0 401 Вы не авторизированы'); 
       die(
    "Ошибка"); 

    if (empty(
    $_SERVER['PHP_AUTH_USER'])) { 
       
    auth(); 

    else 

    echo 
    "Пользователь: ".$_SERVER['PHP_AUTH_USER'];  
    echo 
    "Пароль: ".$_SERVER['PHP_AUTH_PW'];         

    ?>
    У мя так все работает...
    Попробуй зайти под другим браузером ищи проблему в include "./login.php";
     
  5. ElteRUS

    ElteRUS Elder - Старейшина

    Joined:
    11 Oct 2007
    Messages:
    367
    Likes Received:
    460
    Reputations:
    93
    Нужна помощь. Имеется такой HTTP запрос

    Мне нужно отправить его из скрипта сокетом. Правильно ли я оформил HTTP запрос в переменной $in ?

    PHP:
          $in "POST http://site/script.cgi HTTP/1.0\n";
        
    $in .= "Host: mail.rambler.ru\n";
        
    $in .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\n";
        
    $in .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\n";
        
    $in .= "Accept-Language: Accept-Language: uk\n";
        
    $in .= "Connection: keep-alive\n";
        
    $in .= "Referer: http://site.ru/page1\n";
        
    $in .= "Cookie: id=".$id."\n";
        
    $in .= "Content-Type: multipart/form-data; boundary=---------------------------89463267115936\n";
        
    $in .= "Content-Length: 449\n\n";
        
    $in .= "-----------------------------89463267115936\n";
        
    $in .= "Content-Disposition: form-data; name=\"qqqq\"\n";
        
    $in .= "\n";
        
    $in .= "qwer\n";
        
    $in .= "-----------------------------89463267115936\n";
        
    $in .= "Content-Disposition: form-data; name=\"qqqw\"\n";
        
    $in .= "\n";
        
    $in .= "qwer\n";
        
    $in .= "-----------------------------89463267115936\n";
        
    $in .= "Content-Disposition: form-data; name=\"qqqa\"\n";
        
    $in .= "\n";
        
    $in .= "qwer\n";
        
    $in .= "-----------------------------89463267115936\n";
        
    $in .= "Content-Disposition: form-data; name=\"qqqc\"\n";
        
    $in .= "\n";
        
    $in .= "qwer\n";
        
    $in .= "-----------------------------89463267115936--\n";
        
    $in .= "\n";

       
    fputs($socket,$in);
     
  6. Macro

    Macro Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Нет, не правильно. Разделитель должен быть не \n а \r\n и, кроме того, На всякий случай, последи за Content-Length
     
  7. Horsekiller

    Horsekiller Elder - Старейшина

    Joined:
    22 Nov 2006
    Messages:
    61
    Likes Received:
    33
    Reputations:
    6
    Пара интересующих меня вопросов...
    Решить я их решил, просто интересно.
    PHP:
    mysql_query("INSERT INTO `comments` (text, messageid) VALUES ('$text', '$messageid')") or die("0o0".mysql_error());
    Работает нормально.
    Выдает ошибку. Почему ?

    И еще, почему, если перед setcookie(); поставить echo(); возникает ошибка -
     
    5 people like this.
  8. Doom123

    Doom123 Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    2ое...
    када вызываеш оператор вывода загаголовок уже посылается... и при попытке записать куки он не может ещё раз послать заголовок ... поэтому выводит ошибку которая говорит тебе что заголовок отправлем и в какой строке...
     
    1 person likes this.
  9. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Требуется оптимизация php кода функции (в плане скорости выполнения)
    PHP:
    // Функция кодирования строки хэша в бинарный вид
    function code_hash($s

    $n=0;   
    $hash_code=""
    $code="";
    $l=strlen($s)-1;
    do   
     {   
      
    $code='0x'.$s[$n].$s[$n+1];
      
    $code1=chr(hexdec($code));
      
    $hash_code.=$code1;
      
    $n++;   
     }   
    while (
    $n++<$l); 
    return 
    $hash_code

    Предложите свой вариант!
    Аргумент может быть только хэш [0-9a-f] т.е. символьное представление в hex 16, 32 или 40 символов. На выходе получаем строку в бинарном виде 8,16,20 байт соответсвенно.
     
    #1749 -=lebed=-, 1 Feb 2008
    Last edited: 1 Feb 2008
  10. Macro

    Macro Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Потому что нету такого столбца

    2 -=lebed=-
    Смотри ниже пост Piflit'а он все правильно написал :)
     
    #1750 Macro, 1 Feb 2008
    Last edited: 1 Feb 2008
    1 person likes this.
  11. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    -=lebed=-
    $bin_hash = pack("H*", $hex_hash);
    это?
     
    3 people like this.
  12. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Ога! То что нужно! И не надо изобретать велосипед!
    Как теперь реализовать обратное с помощью unpack() ? Какой формат указать?
     
    #1752 -=lebed=-, 1 Feb 2008
    Last edited: 1 Feb 2008
  13. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    bin2hex();
     
    1 person likes this.
  14. ElteRUS

    ElteRUS Elder - Старейшина

    Joined:
    11 Oct 2007
    Messages:
    367
    Likes Received:
    460
    Reputations:
    93
    Да, я тоже читал про такое, но дело в том, что все остальные заголовки прекрасно работают и без \r , а вот этот с multipart/form-data - не работает ( Точнее скрипт просто не завершает роботу ... А Content-Length учитывает также и обратные слеши, которые экранируют кавычку $in .= "Content-Disposition: form-data; name=\"qqqq\"\n";, правильно ?
     
  15. Macro

    Macro Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Нет, слэши учитывает только парсер при компиляции.
     
  16. cash$$$

    cash$$$ Banned

    Joined:
    6 Jan 2008
    Messages:
    385
    Likes Received:
    246
    Reputations:
    10
    Подскажите какая php-функция преобразует &#97 в символ «а»?
     
  17. mister

    mister Elder - Старейшина

    Joined:
    24 Jul 2007
    Messages:
    30
    Likes Received:
    16
    Reputations:
    4
    PHP:
    echo html_entity_decode('a'); // a
    почему то a заменяется на a
    да блин! & # 9 7 ;
     
    #1757 mister, 1 Feb 2008
    Last edited: 1 Feb 2008
    1 person likes this.
  18. superboys

    superboys Elder - Старейшина

    Joined:
    1 Feb 2008
    Messages:
    61
    Likes Received:
    3
    Reputations:
    1
    Подскажите как правильно обозначать БД, я обозначаю bd@localhost а у меня ошибка.
    Подскажите люди знающие.
     
  19. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    mysql_select_db('название_бд');
    есть удобная утилита для работы с бд SQLyog
     
    1 person likes this.
  20. superboys

    superboys Elder - Старейшина

    Joined:
    1 Feb 2008
    Messages:
    61
    Likes Received:
    3
    Reputations:
    1
    Сори я не так написал
    Мне надо в такой код вписать
    <?
    $base_name="bd@localhost";
    $base_user="bd";
    $base_pass="";
    $db_name="bd";
    $GSM="1";
    $break = "0";
    $debug = false;
    ?>
    Не знаю где чо.
     
Thread Status:
Not open for further replies.