Виртуальная Школа Веб-мастерства

Webfocus.ru


FAQ по PHP

Из рубрики:  статьи про PHP, HTML, DHTML, Perl, CGI, Java, JavaScript, CGI, MySQL.

Какие типы операторов существуют в PHP?
Как я могу вызвать скрипт .php внутри другого скрипта и поместить туда переменные?
Переменная для имени файла. Что я делаю неправильно? $fname = $time".html"; ?
Какие команды мне надо использовать для доступа из PHP к базе MySQL?
Мне требуется считать строку из файла. Что мне делать?
Как я могу перенаправить пользователя на другой URL в php скрипте?
Как зашифровать пароли пользователей с помощью UNIX?
Как узнать IP адрес клиента?
Как добавлять комментарии в текст программы?
Я имею страничку с формой. Как я могу вернуться к ней, после передачи формы?
Как измерить время с точностью до микpосекунды?
Как передать параметры из формы с множественным значением (select multiple, значение 
checkbox'ов и т.д)?
Как получить вчеpашнюю дату?
Чем отличается вызов функции с @ от вызова без @?
Как остослать e-mail с помощью РНР?
Как вставить код на страницу из другого файла?

Какие типы операторов существуют в PHP?

Оператор используется для определения величины путем выполнения процедуры или операции, над одной или более величинами. Величина, используемая в операции называется операндом. Существует три типа операторов.
 
 
1. Унарные операторы - осуществляют действие с одной числовой величиной:
 
$a = 2;
$b = -$a // $b = -2
 
 
2. Бинарные операторы - осуществляют действия с двумя операндами.
К бинарным оператором относятся оператор присваевания значения переменной, операторы сравнения, оператор конкатенации строк.
 
а) Оператор присваивания значения переменной - для установки значений переменным используется оператор присваивания "=":
 
$x = 1;
$y = x + 1;
$length = $area / $width
$description = "Vasya Pupkin was here"
 
Переменной слева от знака "=" дается значение выражения, находящегося справа от знака "=". Важно не смешивать оператор присваивания "=" с оператором сравнения "==". Также есть возможность передавать значение по ссылке. при этом используется синтаксис:
$y = &$b;
 
В данном случае амперсанд (&) указывает на то, что в переменной $b будет храниться не значение $a, а ссылка на $a. В результате переменная $b не будет занимать много памяти (тогда как $a может иметь очень большой размер), и все операции, которые будут происходить с $b на деле будут происходить с $a.
 
б) Операторы сравнения - используются для проверки условия. Значение выражения всегда является булева величина, т.е. true или false.
 
$i = 5
if ($i < 6) echo ("Эта строка будет выведена."); //Выражение '$i < 6'
имеет значение 'true' 
if ($i > 6) echo ("Эта строка не будет выведена."); //Выражение '$i > 6'
имеет значение 'false'
 
в) Оператор конкатенации строк - используется для соединения двух и более строковых значений в одно - это точка (.) Пример:
 
$first = "Vasya";
$last = "Pupkin";
$full = $first . " " . $last; // имя, пробел, фамилия
 
 
PHP автоматически интерполирует строковые переменные в строковых литералах, заключенных в двойные ковычки. Следующие обе строки выведут Vasya Pupkin:
$first = "Vasya";
$last = "Pupkin";
echo ($first . " " . $last); // С использованием конкатенации
echo ("$first $last"); // С использованием интерполяции
 
3. Тернарный оператор - условный оператор. Так как он всего один, что его называют просто тернарным оператором либо условным оператором, им является контсрукция ?:. Он проводит операции над тремя разными величинами.

Синтаксис:
 
условие ? истина : ложь
 
Оператор ?: состоит из прех честей: булевого условия перед вопросительным знаком (?), значением между "?" и двоеточием (:), которое возвращается, если условие истинно, и величины после двоеточия, которая возвращается, если условие ложно. 
 
 
Пример:
 
$a ==0 ? "ноль" : "не ноль"
 
На этом примере операнд является булевым условием $a == 0. Если это условие имеет значение true, то операция возвращает строку "ноль"; в противном случае возвращает строку "не ноль". Первый операнд всегда должен быть булевым выражением, остальные два операнда могут иметь любой тип данных. Тернарный оператор, в сущности, является сокращенной формой команды if ... else.


Как я могу вызвать скрипт .php внутри другого 
скрипта и поместить туда переменные?

Если Вы вкладываете файл, существующие переменные остаются.. Вы просто должны установить значение переменной перед вложением:
 
<? 
$variable="test"; include ("other.php3"); // или
require ("other.php3"); 
?>


Переменная для имени файла. 
Что я делаю неправильно? 
$fname = $time".html"; ?

Вы должны указать:
 
 
$fname = $time.".html"; //или 
$fname = "$time.html";


Какие команды мне надо использовать для доступа из PHP к базе MySQL?

Насколько я понимаю, Вы уже научились подключаться к MySQL? Есть несколько основных принципов работы с базой SQL:
 
 
1. Подключение к серверу MySQL:
$openConn2db = mysql_connect( "$hostname:$port", "$username",
"$password" ); 
 
 
2. Выбор базы данных:
$dbSelected = mysql_select_db( $dbname, $openConn2db );
 
 
3. Создать запрос (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. Выборка данных из следующего элемента массива: 
$content = next( $correspondingRowArray ); echo "This is the next array element:
$contentn"; 
 
 
9. Закрытие соединения с сервером MySQL (mysql_close): 
$closedConn2db = mysql_close( $connLinkID ); 
 
Это всего лишь элементарный пример работы с MySQL.


Мне требуется считать строку из файла. Что мне делать?

Если функции fgetc() fgets() fgetss() не дали нужного результата, то используйте
 
$file = file($filename) //Она читает $filename в массив($file)


Как я могу перенаправить пользователя на другой URL в php скрипте?

Необходимо воспользоваться функцией
 
Header("Location: $URL");
 
И не выводить никаких данных перед этой строкой.


Как зашифровать пароли пользователей с помощью UNIX?

Вы можете использовать функцию Crypt(). Unix шифрование одностороннее (вы не можете раскодировать, вы можете только сравнить два зашифрованных пароля). 
 
Например:
 
if (crypt($What_They_Typed) == $StoredPassword) {echo "Correct Password";} else {echo "HE BEPHbIY PAROL4ik";}


Как узнать IP адрес клиента?

Функция: string getenv(string varname); 
Возвращает переменные окружения, или false при ошибке.
 
$ip = getenv("REMOTE_ADDR"); // получает ip-адрес пользователя
 
Текущая версия PHP автоматически импортирует переменные окружения в переменные PHP, вы можете использовать $REMOTE_ADDR.


Как добавлять комментарии в текст программы?

Комментарий обозначается:
 
$ggg = $g // комментарий
$g = 2 /* комментарий */
if(isset($g)) # комментарий


Я имею страничку с формой. Как я могу вернуться к ней,
после передачи формы?

Есть выход из этой ситуации, когда "страница с формой" и "submitting page" являются одной и той же. Тогда используется встроенная переменная $PHP_SELF, например: После передачи форма перезагружается, с текущими данными.


Как измерить время с точностью до микpосекунды?

Вот класс для измерения времени:
<?
 class Timer {
  var $start; // start time in usec
  var $stop; // stop time in usec
 
  function start() {
  $t = gettimeofday();
  $this->start = $t[sec] * 1000000.0 + $t[usec];
  }
 
  function stop() {
  $t = gettimeofday();
  $this->stop = $t[sec] * 1000000.0 + $t[usec];
  }
 
  function elapsed() {
  return ($this->stop - $this->start) / 1000000.0;
  }
 };
 ?>
 
Использовать так:

<?
  $t = new Timer();
 ?>
 В нужном месте делаешь:
 <?
  $t->start();
 ?>
 Там, где надо закончить счет времени так:
 <?
  $t->stop();
 ?>
 Куда вставить результат:
 <?
  print $t->elapsed();
 ?>

Как передать параметры из формы с множественным значением 
(select multiple, значение checkbox'ов и т.д)?


Для checkbox'a:
<input type="checkbox" name="id[]" value="0"   />
<input type="checkbox" name="id[]" value="1" />
для multiple:
<select name="id[]" multiple="multiple">
<option value="0">0</option>
<option value="1">1</option>
</select>
Данные из формы придут, как массив $id со значениями value.


Как получить вчеpашнюю дату?

<?
print date("d/m/Y", mktime(0,0,0,intval(date('n')),
intval(date('j'))-1,intval(date('Y'))));
 ?>
 
Или
 
<?
echo date("d/m/Y",time()-86400);
 ?>


Чем отличается вызов функции с @ от вызова без @?

Если функция вызывается с предстоящим символом @, то сообщение об ошибке (если такая присутствует) подавляется.


Как остослать e-mail с помощью РНР?


mail("<a href="mailto: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript ""> Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript "</a>, "Моя тема", "Строка 1nСтрока 2nСтрока 3");


Как вставить код на страницу из другого файла?

Это написать где нибудь вверху:
 
<?php $file_array = file("code_banner.txt")?>
 
 А это где должен быть виден баннер:
 
<?php for ($i=0;$i<count($file_array);$i++) {
echo $file_array[$i]; } ?>




 

Регистрация | Вход


Книги по раскрутке

Графика в дизайне

Виртуальная Школа Веб-мастерства
 
Copyright © 2006 - 2010
 
Перепечатка материалов разрешается с
обязательной ссылкой на авторство и сайт

Портал - начинающему веб мастеру, о веб дизайне, создании и раскрутке сайтов,
секреты seo, web design глазами профессионалов, дополнительно на сайте можно скачать программы, скрипты, gif-каринки, аватары, заготовки для баннеров и многое другое