![]()  | 
| Главная > Программирование > Web-программирование > | 
FAQ по PHP | 
| Где взять РУССКУЮ ДОКУМЕНТАЦИЮ по PHP | 
| 1. Перевод для 3.07 лежит здесь http://www.webclub.ru/materials/php3/index.html | 
| 
       Как я могу вызвать скрипт .php3 внутри другого скрипта и поместить туда переменные? Что-то вроде <? include (other.php3?variable=test); ?>  | 
  
| Если Вы вкладываете файл, существующие переменные остаются.. Вы просто
      должны установить значение переменной перед вложением . <? $variable="test"; include ("other.php3"); // or require ("other.php3"); ?>  | 
  
| 
       Переменная для имени файла. Что я делаю неправильно? $fname = $time".html";  | 
  
| Вы должны указать: $fname = $time.".html"; или $fname = "$time.html"; | 
| 
       Какие команды мне надо использовать для доступа из PHP к базе MySQL. Я новичок в SQL.  | 
  
| Насколько я понимаю, Вы уже научились подключаться к MySQL? Есть
      несколько основных принципов работы с базой SQL: 1) Подключение к серверу MySQL( mysql_connect ) $openConn2db = mysql_connect( "$hostname:$port", "$username", "$password" ); 2) Выбор базы данных (database) ( mysql_select_db ) $dbSelected = mysql_select_db( $dbname, $openConn2db ); 3) создать запрос(query) к базе данных ( mysql_query ) $queryResultID = mysql_query( $DBquery, $openConn2db ); 4) определение количества полей(number of fields) в результате запроса( mysql_num_fields ) $numFields = mysql_num_fields( $queryResultID ); 5) определение количество строк возвращаемых запросом(number of rows) ( mysql_num_rows ) $numRows = mysql_num_rows( $queryResultID ); 6) создание массива со строками результата( mysql_fetch_row ) $correspondingRowArray = mysql_fetch_row( $queryResultID ); [ Выясните размер, если вы желаете использовать цикл для выборки результатов запроса] $correspondingRowArraySize = sizeof( $correspondingRowArray ); 7) выборка данных из первого элемента массива $content = current( $correspondingRowArray ); echo "This is the first array element: $contentn"; 8) выборка данных из следующего элемента массива [ done in 'for' loop ] $content = next( $correspondingRowArray ); echo "This is the next array element: $contentn"; 6) закрытие соединения с сервером MySQL( mysql_close ) $closedConn2db = mysql_close( $connLinkID ); Это всего лишь элементарный пример работы с MySQL.  | 
  
| 
       Мне требуется считать строку из файла. Функции fgetc() fgets() fgetss() не дали нужного мне результата. Что мне делать?  | 
  
| Используйте: $file = file($filename). Она читает $filename в массив($file).  | 
  
| 
       Я уже нашел как экспортировать переменные Javascript в PHP (я использую hidden input field в HTML форме), но я не знаю как импортировать переменную PHP3 в функцию Javascript...  | 
  
| Конечно <script language="JavaScript"> var somejsvar = <?echo $somephpvar?>; </script>  | 
  
| 
       Как делать upload файла Форма передается, но вот файл не появляется в моей директории "/tmp" .  | 
  
| Большинство проблем заключается в использовании: <form action="upload.php3" method="post"> вместо: <form action="upload.php3" method="post" enctype="multipart/form-data"> Всегда требуется указывать параметр ENCTYPE, если вы предполагаете upload файлов.  | 
  
| 
       Подскажите как я могу перенаправит пользователя на другой URL в php скрипте? Я пробовал: echo "<head>"; echo "<meta http-equiv="redirect" content='URL=www.somewhere.com'>"; Не сработало.  | 
  
| Необходимо воспользоваться функцией Header("Location: $URL"); и не выводить никаких данных перед этой строкой.  | 
  
| 
       I'm facing a rather strange problem with some webbrowsers (I tested Netscape 3, IE 4 and IE 5). My PHP script create a href which contains two variables, 'region' and 'parameter', i.e. <a ref="test.phtml?region=1234¶meter=1234">Test</a> But as I get the page in NS3 or IE4 the ¶meter is translated to the 'paragraph sign' followed by 'meter'. Then I tried to resolve it by putting the 'parameter' before the region, but in that case the ®ion is translated by the browser to 'registrated trademark' followed by 'ion'. IE5 works well. I don't want to change the names of the fields, because they are actually used to select in a MySQL database. How can this be solved?  | 
  
| <a href="test.phtml?region=1234&%20parameter=1234">Test</a> | 
| 
       the two functions str_replace("\n", "<br>",event[$count]); and nl2br($event[$count]); both give me the same result "blah blah blah <br> blah blah blah" however I want the tagged on the end of the first line like "blah blah blah<br> blah blah blah" How would I accomplish this?  | 
  
| str_replace("\r\n","<br>",...); | 
| 
       Как сделать, чтоб не выдавалось строка "Content Type" когда я запускаю PHP из командной строки?  | 
  
% php -h Использование: php [-q] [-h] [-s] [-v] [-i] [-f  | 
  
| 
       Я использую следующий выбор в форме:: <select name="pets[]" multiple> <option value=0>Dogs <option value=1>Cats <option value=2>Birds <option value=3>Frogs <option value=4>Rocks <option value=5>Other </select>форма посылает: blah...&eyecolor=1&pets%5B%5D=2&pets%5B%5D=3...blah Я возвращаюсь опять и выбираю Birds и Frogs. count(pets[]); возвращает 1, что не совпадает с выбранным мной...  | 
  
| Функция count($pets) возвращает правильный результат. | 
| 
       Я хочу зашифровать пароли пользователей с помощью UNIX.  | 
  
| Вы можете использовать функцию Crypt(). Unix шифрование одностороннее
      (вы не можете раскодировать, вы можете только сравнить два зашифрованных
      пароля). Например: if (crypt($What_They_Typed) == $StoredPassword) {echo "Correct Password";} else {echo "Doh!";}  | 
  
| 
       Когда я делаю запрос к таблице MySQL включающую поле BLOB больше 20k ничего не возвращается. Все работает с маленькими полями blob, 4-10k, а при больших происходит PHP таймаут.  | 
  
| Наберите: mysqladmin var И посмотрите на ограничения пакетов(packet) или буферов(buffer). Вам надо их увеличить и перезагрузить MySQL.  | 
  
| 
       Конфигурация:solaris 2.6, apache 1.3.6, php 3.0.8 Проблема: Оператор: <?php echo $PATH_INFO ?> ничего не возвращает.  | 
  
Вы неправильно используете $PATH_INFO. Для этого существуют
      переменные: $PHP_SELF $REQUEST_URI $SCRIPT_NAME  | 
  
| 
       Я делаю запрос к MySQL, но запрос нечего не возвращает (пустой ответ). Я проверяю количество возвращенных строк результата (example: if( mysql_num_rows( $result ) > 0 )) Получаю предупреждение: "Warning: 0 is not a MySQL result index" . Что мне делать, как проверить результат?  | 
  
| Вы пробуете использовать указатель ответа=0(result identifier=0). Ноль
      показывает, что Ваш запрос ошибочен по некоторым причинам. Вы должны
      проверить ошибки после передачи запроса серверу и перед использованием
      указателя ответа (result identifier). Правильное решение в следующем
      коде:"RB" $result = mysql_query("select * from tables_priv"); if(!$result)
      { echo mysql_error(); exit; } или: $result = mysql_query("select * from tables_priv") or die("Bad query: ".mysql_error());  | 
  
| 
       Я использую MySQL и у меня поле longblob. При попытке поместить символы " '( ) в поле, происходит ошибка.  | 
  
| Смотри функцию addslashes. | 
| 
       Я использую функцию $erg = fputs($output, $data."n"); и я не могу поместить символ перевода строки как r ...  | 
  
| Вы пробуете записать символ перевода строки, просмотрите файл $output в текстовом редакторе или командой more. Если вы смотрите файл через броузер, он не распознает символ n, используйте "<br>"; Также попробуйте $data."n" без пробелов вокруг "." | 
| 
       Как узнать IP адрес клиента?  | 
  
| Функция: string getenv(string varname); Возвращает переменные окружения, или false при ошибке. $ip = getenv("REMOTE_ADDR"); // получает ip-адрес пользователя Текущая версия PHP автоматически импортирует переменные окружения в переменные PHP, вы можете использовать $REMOTE_ADDR.  | 
  
| 
       Я работаю на RedHat 5.2 c Apache 1.3.4. Хочу подключиться к серверу MS SQL. У меня не получается.  | 
  
| Функции mssql_* доступны только с Windows NT. В Linux вы должны использовать бтблиотеки Sybase (для SQL Server 6.5) или ODBC. | 
| 
       Я не нашел в руководстве как добавлять комментарий в текст программы.  | 
  
Комментарий обозначается: // comment /* comment */ # comment  | 
  
| 
       Я имею страничку с формой. Как я могу вернуться к ней, после передачи формы? Я пробовал использовать функцию "window.navigator", но она не работает по некоторым причинам.  | 
  
| Есть выход из этой ситуации, когда "страница с формой" и "submitting
      page" являются одной и той же. Тогда используется встроенная переменная
      $PHP_SELF, например: <form action="<? echo $PHP_SELF; ?>" method=post> После передачи форма перезагружается, с текущими данными.  | 
  
| 
       Я использую PHP3 в составе модуля Apache(UNIX). Я хочу защитить свои настройки сервера (конфигурацию, лог-файлы ...), потому что функции (copy, unlink, ...) могут их испортить. Как я могу сделать это?  | 
  
| Вы должны установить режим enable safe_mode в php.ini. Если safe_mode включен то у выполняемого скрипта права как у пользователя выполняющего скрипт. | 
| 
       Я использую PHP_AUTH_USER и PHP_AUTH_PASSWORD для проверки пользователей. Как мне сделать, чтобы пользователи могли выходить(logoff) и входить(logon) под другим именем?  | 
  
| Вам необходимо передать клиенту HEADER-401, он очистит парольный кэш броузера. Смотрите руководство в секции 'features' Вы можете создать таблицу для проверки имя/пароль и использовать cookie. | 
| 
       Я использую setcookie() на страничке и запрашиваю его значение на этой же страничке. Ничего не происходит.  | 
  
| Вы не можете использовать cookie и читать его значение в одном запросе. Вы можете сохранить значение cookie в переменной php. Единственный способ получить значение сделать повторный запрос. | 
| 
       Как создать каталог с поддиректориями  | 
  
| Скачайте файл http://www.kosek.cz/php/ukazky.zip Он содержит файлы odkazy.sql и odkazy.php. Первый из них создает таблицы в базе (расчитано на MS SQL, легко исправить на MySQL) Файл odkazy.php - скрипт для показа содержимого каталога и поиска по нему. Коментарии по- чешски | 
Источник - www.phpclub.unet.ru
| Вернуться в раздел "Web-программирование" - Обсудить эту статью на Форуме | 
| Главная - Поиск по сайту - О проекте - Форум - Обратная связь |