За последние 24 часа нас посетили 18137 программистов и 1697 роботов. Сейчас ищут 1574 программиста ...

FAQ: Частые вопросы о PHP от новичков.

Тема в разделе "PHP для новичков", создана пользователем Anonymous, 30 июл 2007.

Статус темы:
Закрыта.
  1. Anonymous

    Anonymous Guest

    Вопрос: Доброго времени суток, уважаемые.
    Вопрос на засыпку: почему при распечатке массива полей csv (методом getcsv и print) хаотично пропадают избранные буквы начала или конца поля, преимущественно русские.
    Господа, кто сталкивался в оной проблемой, поделитесь опытом, пожалуйста.

    Ответ: Скорее всего стоит ранняя версия PHP 4. Там были такие проблемы. Читал о проблеме вплоть до PHP 4.3.1.

    thx2: Sergey89

    Обязательно к прочтению:
    http://www.phpfaq.ru/globals (не работает форма)
    http://www.phpfaq.ru/na_tanke (почему не работает)
    http://www.phpfaq.ru/charset (крякозябры вместо русского)
    http://www.phpfaq.ru/music (хочу видео, аудио на сайте)

    Тема почищена.
    Вопросы запрещены. Писать только сообщения вида вопрос/ответ.
     
  2. Anonymous

    Anonymous Guest

    Вопрос: Создается сессия, в нее что то записывается, на комп клиента отправляется кукис с идентификатором сессии, он работает, ходит по сайту, а потом закрывает его. Сессия прерывается. Теперь вопрос как об этом узнает php и можно ли получить кол-во открытых сессий?

    Ответ: Пользовательская сессия прерывается при помощи механизма, описанного в session_destroy. вам придётся самостоятельно убить пользовательский куки.
    Если вы хотите получить дополнительный контроль над пользовательскими сессиями (узнать кол-во сессий, динамически менять параметры сессий других пользователей и пр.), вам придётся реализовывать сессии или надстройку над ними самостоятельно.

    thx2: stas_t
     
  3. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Предлагаю очистить эту тему и оставить только сообщения вида Вопрос/Ответ в одном сообщение.

    Вопрос: Есть поле типа textarea. Когда пользователь вводит туда данные с переносом строк (enter), в браузере переносов нет.

    Ответ: переносы есть и они отображаются в виде \n (посмотрите исходник страницы). Чтобы в HTML странице был перевод строки нужно пользоваться тегом
    HTML:
    1. <br> ; <br />
    .

    Функция: http://php.net/nl2br
     
  4. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Вопрос: Как посредством РНР узнать mac-адрес?
    Ответ: PHP такого не умеет (Hight)
     
  5. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    Вопрос: как заставить php скрипт выполняться по расписанию?
    Ответ: в unix это можно сделать, используя демон cron. Описание - http://www.opennet.ru/docs/RUS/lame/x1774.html. Примеры в гугле.

    Будет время, напишу статью по этому поводу (давно уже хотел).
     
  6. kostyl

    kostyl Guest

    Вопрос:Где можно почитать про "такую то" функцию PHP и как она используется с различными примерами и пояснениями? И вообще есть ли какой нибудь краткий справочник по функциям?
    Ответ:Это все можно почитать на официальном сайте разработчиков http://php.net. Имя функции вводите вверху в поле "search for", а в поле "in the" должно быть выбрано "function list", нажимаем на кнопочку "search" и если повезет вы даже увидите описание функции на русском. Если вам не повезло и с английским проблемы, не спешите закрывать страницу, потому что обычно ниже расположены примеры использования, в которых вы можете увидеть решение вашего вопроса и вообщем интуитивно все понять.
    Справочник по функциям PHP можно также скачать с этого сайта в разделе http://php.net/download-docs.php Выбираете Russian и качаете. Я рекомендую качать *.chm, потому что его легко можно встроить как контекстную справку в PHP редактор, в котором по умолчанию нету её, но он поддерживает такую возможность. Например, в PHP Expert Editor -е в меню "Настройки\Настройки редактора\Справка\PHP Help" вы можете выбрать путь к скачаному файлу chm и тогда, написав какуюто функцию в коде, поставив на ней курсор и нажав CTRL+F1 вы автоматом получите справку по этой фукнции из ранее упомянутого файла. Удобно? - Удобно.
     
  7. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Вопрос: как блокировать повторую отправку данных?
    Ответ: делать редирект на другую страницу. К примеру на success.php, где высвечивался бы информация о том, что действие завершено успешно.

    (c) Hight

    PHP:
    1.  
    2. <?php
    3. header ('Location: success.php');
    4. ?>
    5.  
    Напоминаю, что ВСЕ ЗАГОЛОВКИ должны быть посланы ДО вывода данных на экран. Учтите это.
     
  8. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Вопрос: как установить php под ubuntu/debian?
    Ответ: гораздо проще, чем под Windows (http://www.php.ru/install). Достаточно в консоли ввести следующую команду:
    Код (Text):
    1. ~$ sudo apt-get install phpmyadmin
    Этот пакет потянет за собой все остальные зависимости
     
  9. new_user

    new_user Активный пользователь

    С нами с:
    31 авг 2009
    Сообщения:
    2
    Симпатии:
    0
    PHP:
    1. class NtMacAddress {
    2.  
    3.     function getMac( $what ) {
    4.         $what = &strtolower( $what );
    5.         if( $what == 'server' ) {
    6.             return $this->__server_macaddress();
    7.         }
    8.         elseif( $what == 'client' ) {
    9.             return $this->__client_macaddress();
    10.         }
    11.         else {
    12.             return '\'client\' or \'server\' ?';
    13.         }
    14.     }
    15.  
    16.     function __server_macaddress() {
    17.         $output = Array();
    18.         exec( 'netstat -r', $output );
    19.         for( $a = 0, $b = &count( $output ); $a < $b; $a++ ) {
    20.             if( preg_match( "/(?i)([a-z0-9]{2} ){6}/", $output[$a] ) == true ) {
    21.                 $macaddress = &$output[$a];
    22.                 $uniquekey = &md5( $macaddress );
    23.                 $output[$a] = &preg_replace( "/(?i)([^a-z0-9]*?)([a-z0-9]{2} ){6}/i", "\\1 {$uniquekey} ", $output[$a] );
    24.                 $output[$a] = &explode( " {$uniquekey} ", $output[$a] );
    25.                 $uniquekey = Array( trim( $output[$a][0] ), trim( $output[$a][1] ) );
    26.                 $macaddress = &str_replace( $uniquekey, "", $macaddress );
    27.                 return trim( $macaddress );
    28.             }
    29.         }
    30.         return 'not found';
    31.     }
    32.  
    33.     function __client_macaddress() {
    34.         $output = Array();
    35.         exec( 'nbtstat -A '.$_SERVER['REMOTE_ADDR'], $output );
    36.         $reg = '([a-f0-9]{2}\-){5}([a-f0-9]{2})';
    37.         for( $a = 0, $b = &count( $output ); $a < $b; $a++ ) {
    38.             if( preg_match( "/(?i){$reg}/", $output[$a] ) == true ) {
    39.                     return preg_replace( "/(?iU)(.+)({$reg})(.*)/", "\\2", $output[$a] );
    40.             }
    41.         }
    42.         return 'not found';
    43.     }
    44. }
    45. $mac = &new NtMacAddress();
    46.  
    47. echo $mac->getMac( 'client' );
     
  10. Sinsir

    Sinsir Активный пользователь

    С нами с:
    27 май 2009
    Сообщения:
    60
    Симпатии:
    0
    Подскажите новичку. Я сделал форму в ХТМЛ и с нее отправляю данные на скрипт ПХП. Почему вместо того чтоб запустить эту программу и обработать данные браузер предлагает мне сохранить или открыть мой скрипт блокнотом?
    Хотя если запустить его просто руками то он работает.
     
  11. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    Sinsir
    Вы первое сообщение в этой теме внимательно читали? Это во-первых.

    А во-вторых, в серверу нужно сказать, что файлы с расширением php обрабатываются php-интерпретатором.
    В httpd.conf нужно добавить директивы addtype.
    Гуглите httpd.conf addtype php
     
  12. Sinsir

    Sinsir Активный пользователь

    С нами с:
    27 май 2009
    Сообщения:
    60
    Симпатии:
    0
    ScriptAlias /php/ "c:/php/"
    AddType application/x-httpd-php .php .phtml
    Action application/x-httpd-php "/php/php.exe"

    Вот такие строчки есть в httpd.conf
    Как я понимаю здесь указываетса что пхп расширения обрабатываютса програмой пхп.екзе.
    Но почемуто этого непроисходит.
    Если бы я был гуру то наверно не задавал бы тут глупых вопросов.

    А насчет первого сообщения я что-то непонял. Перечитал еще раз и все равно непонял как оно может мне помочь :)
     
  13. SLITE

    SLITE Активный пользователь

    С нами с:
    4 сен 2009
    Сообщения:
    2
    Симпатии:
    0
    почемуто неработает ((( :(
     
  14. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Потому что не должно?
     
  15. SLITE

    SLITE Активный пользователь

    С нами с:
    4 сен 2009
    Сообщения:
    2
    Симпатии:
    0
    спасибо за ответ, токо зачем тогда этот код код прикрепили???
     
  16. Fduch

    Fduch Активный пользователь

    С нами с:
    1 июл 2009
    Сообщения:
    140
    Симпатии:
    0
    Код (Text):
    1.  
    2. fduch# uname
    3. FreeBSD
    4. fduch# netstat -r
    5. Routing tables
    6. <тут преречислены маршруты для сервера до ближайших роутеров и шлюзов.>
    а ifconfig и(или) arp таблицу посмотреть разве не лучше?
    Код (Text):
    1.  
    2. fduch# uname
    3. FreeBSD
    4. fduch# nbtstat -A 192.168.76.200
    5. nbtstat: Command not found.
    Это что вообще за команда? И как скрипт выполнится на моих серверах, где такой команды нет? Скажите с каким портом она ставится:
    Код (Text):
    1.  
    2. fduch# pwd
    3. /usr/ports
    4. fduch# cat INDEX-7 | grep 'nbtstat'
    5. fduch#
     
  17. Fduch

    Fduch Активный пользователь

    С нами с:
    1 июл 2009
    Сообщения:
    140
    Симпатии:
    0
    для демонстрации того, что PHP действительно этого не умеет.
     
  18. Sinsir

    Sinsir Активный пользователь

    С нами с:
    27 май 2009
    Сообщения:
    60
    Симпатии:
    0
    А с моей проблемой разобратса неудастса?
    Я уже 10 дней бьюсь головой об стену. неужели никто несталкивался с этим?
     
  19. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    напомни?
     
  20. Sinsir

    Sinsir Активный пользователь

    С нами с:
    27 май 2009
    Сообщения:
    60
    Симпатии:
    0
    Вот мне посоветовали проверить настройки ПХП модуля, так он же работает у меня если отдельно запустить файл. значит настройки правильные. Гуглил-гуглил ниче невыгуглил на эту тему. Некоторые говорят нада доктайп дописать какойто, некоторые говорят что антивирусник мешает, некоторые говорят что браузер неправильно настроен. думал может на фирменном форуме помогут поконкретнее.
     
  21. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    Sinsir
    Стоп-стоп-стоп.
    А в чем проблема?
     
  22. Sinsir

    Sinsir Активный пользователь

    С нами с:
    27 май 2009
    Сообщения:
    60
    Симпатии:
    0
    ну как же ? я же вот изложил ее постом вышше.
    Когда я вручную ввожу данные в скрипт - он их просчитывает и выдает результат, а когда эти данные приходят через хтмл форму то скрипт уже неработает а браузер его просто предлагает сохранить на комп.

    Код нада показывать?

    Может я глупый вопрос задаю, но я только учусь и вот застрял на этой теме и дальше никак немогу сдвинутса из-за того что примеры неработают.
     
  23. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    оно должно было помочь понять, что тут надо писать вопрос с ответом на него, а не просто вопрос.
    с просто вопросом создайте новую тему.
    по вашему вопросу. вы сами пхп и апач ставили? или сборка какая?
     
  24. Sinsir

    Sinsir Активный пользователь

    С нами с:
    27 май 2009
    Сообщения:
    60
    Симпатии:
    0
    Пхп я ставил сам на апач. ставил по интсрукции и вроде все работало. ПХП кстати версии 4.1.3 ( я щас его изучаю)
    А насчет постить сразу с ответами извините. Я думал что это распространенная проблема (у нас на курсе много щас висит народу с этим вопросом) вот и написал в эту тему, а до нужного формата думаю подчистит модератор после того как ответ собственно найдетса.
    Не создавать же мне уже тему клон?
     
  25. Kirilkaper

    Kirilkaper Активный пользователь

    С нами с:
    9 сен 2009
    Сообщения:
    2
    Симпатии:
    0
    я полный 0 в php. установил xampp (на windows). и при просмотре файла php с этим кодом браузер не выдает ничего. просто чистая страница.
    <? php
    $zapisi="zapisi.txt";
    $p=fopen($zapisi,"r");
    $n=fread($p,filesize($zapisi));
    fclose($p);
    echo $n;

    $myfile="myfile.txt";
    $m=fopen($myfile, "w++");
    fwrite($m,"moya zapis` v fail");
    fclose($m);
    ?>
    в чем причина?
     
Статус темы:
Закрыта.