410 likes | 572 Views
Язык PHP. Лямин Андрей Владимирович. Включение PHP в HTML- код. <html> <head> <title> Включение PHP в HTML- код </title> </head> <body> <?php echo " ОК "; ?> </body> </html>. Включение HTML в PHP- код. <?php $html = "<html> <head>
E N D
Язык PHP Лямин Андрей Владимирович
Включение PHP в HTML-код <html> <head> <title>Включение PHP в HTML-код</title> </head> <body> <?php echo "ОК"; ?> </body> </html>
Включение HTML в PHP-код <?php $html = "<html> <head> <title>Включение HTML в PHP-код </title> </head> <body> ОК </body> </html>"; echo $html; ?>
Комментарии в PHP <?php // Задаем значения переменных num1 и num2 $num1 = 3; $num2 = 5; /* Выводим значение суммы переменных num1 и num2 на экран */ echo $num1 + $num2; ?>
Соглашение об идентификаторах • Идентификатор состоит из одного или нескольких символов и начинается с буквы или символа подчеркивания • В идентификаторах учитывается регистр символов • Длина идентификаторов не ограничивается • Идентификатор не может совпадать с ключевым словом
Переменные <?php // Целое число $number = 3; $count = 0xFF; $total = 077; // Вещественные числа $weight = 5.67; $distance = 5.67e4; // Строки $str1 = "number = $number"; $str2 = 'number = $number'; echo $str1; // Выведет number = 3 echo $str2; // Выведет number = $number ?>
Предопределенные переменные <html> <body> <?php echo $_SERVER["REMOTE_ADDR"]."<br/>"; echo $_SERVER["REMOTE_HOST"]."<br/>"; echo $_SERVER["REMOTE_PORT"]."<br/>"; ?> </body> </html>
Индексируемые массивы $sequence = array(45,12,34,56); $sequence[0] = 45; $sequence[1] = 12; $sequence[2] = 34; $sequence[3] = 56; $sequence[] = 45; $sequence[] = 12; $sequence[] = 34; $sequence[] = 56;
Ассоциативные массивы $employer = array("John" => 12, "Kate" => 34); $employer["John"] = 12; $employer["Kate"] = 34; echo $employer["John"];
Многомерные массивы $sequence[0][0] = 45; $sequence[0][1] = 12; $sequence[0][2] = 34; $sequence[0][3] = 56; $employer["John"]["Salary"] = 12; $employer["Kate"]["Salary"] = 34; $person["John"][0]="01.02.2004"; $person["John"][1]="10.05.2005"; $person["John"][2]="06.10.2005";
Преобразование типов $real = 4.8; $int = (int) $real; echo $int // Выведет 4 $string = "15$"; $int = (int) $string; echo $int // Выведет 15 $string = "$"; $int = (int) $string; echo $int // Выведет 0
Присваивание по ссылке $number1 = 4.8; $number2 = &$number1; $number2 = 5; echo "$number1<br/>"; // Выведет 5 echo "$number2<br/>"; // Выведет 5 $number3 = 8; $number2 = &$number3; $number2 = 10; echo "$number1<br/>"; // Выведет 5 echo "$number2<br/>"; // Выведет 10 echo "$number3"; // Выведет 10
Переменные в переменных $start = "stop"; $$start = "NY"; echo $stop; // Выведет строку NY echo $start;// Выведет строку stop echo $($start);// Выведет строку NY
Математические операторы $c = $a + $b; $c = $a - $b; $c = $a * $b; $c = $a / $b; $c = $a % $b;
Операторы присваивания $a = 5; // a=5 $a += 5; // a=10 $a *= 5; // a=50 $a /= 5; // a=10 $a .= 5; // a=105
Операторы инкремента и декремента $a=5; $b = $a++; $c = ++$a; echo $a;// Выведет 7 echo $b; // Выведет 5 echo $c; // Выведет 7
Операторы сравнения $a < $b $a > $b $a <= $b $a >= $b $a == $b $a != $b $a == 12 ? 5 : 1
Логические операторы $a && $b $a AND $b $a || $b $a OR $b $a XOR $b !$a
Проверка условий if (выражение){блок} if (выражение){блок} else {блок} if (выражение){блок} elseif (выражение) {блок} if (выражение){блок} elseif (выражение) {блок} else {блок} if (выражение): блок elseif (выражение): блок else: блок endif;
Проверка условий switch(выражение) { case значение: блок break; case значение: блок break; default: блок; }
Организация циклов while(выражение){блок} do{блок} while(condition); for(выражение; выражение; выражение) { блок } $j=0; for($i=0;$i<10;$i++) { $i++;$j++; }
Команды break и continue $j=0; for($i=0;$i<10;$i++){ if ($i==5) break; $j++; } $j=0; for($i=0;$i<10;$i++){ if ($i==5) continue; $j++; }
Цикл для обхода массива foreach (array as [$key =>] $value) { блок } $employer = array("John" => 12, "Kate" => 74); foreach ($employer as $key => $value) { echo $employer[$key]."<br/>"; echo $value."<br/>"; }
Функции $i=10; function first($k){ GLOBAL $i; STATIC $j = 0; echo ++$j; return $k+$i; } $l = first(1); $l = first(2); $l = first(3);
Обработка форм с текстовыми полями <html> <body> <form method="get" action="ex_00_00.php"> Первое число: <input type="text" name="num1"/> Второе число: <input type="text" name="num2"/> <input type="submit" name="btn" value="OK"/> Результат: <?php if (isset($num1) && isset($num2)){ echo $num1+$num2; } ?> </form> </body> </html>
Обработка форм с переключателями <html> <body> <form method="get" action="ex_01_00.php"> <input type="radio" name="num" value="1"/>Первый <input type="radio" name="num" value="2"/>Второй <input type="submit" name="btn" value="OK"/> Выбран переключатель N <?php if (isset($num)){ echo $num; } ?> </form> </body> </html>
Обработка форм с флажками <html> <body> <form method="get" action="ex_02_00.php"> <input type="checkbox" name="num[]" value="1"/>Первый <input type="checkbox" name="num[]" value="2"/>Второй <input type="submit" name="btn" value="OK"/> Выбраныфлажки N <?php foreach ($num as $value){ echo $value." "; } ?> </form> </body> </html>
Авторизация пользователей <html> <head> <title>Авторизация пользователя</title> </head> <body> <form method="post" action="authorize.php"> Имя:<input type="text" name="user_name"><br/> Пароль:<input type="password" name="user_pass"><br/> <input type="submit" name="btn" value="OK"/> </form> </body> </html>
Файл authorize.php <?php if(isset($user_name) && isset($user_pass)){ if(($user_name=="admin")&&($user_pass=="kpss")){ session_start(); $logged_user = $user_name; session_register("logged_user"); header("Location: secretplace.php"); exit; } } ?> <html><body> Вы ввели неверный пароль! </body></html>
Файл secretplace.php <?php session_start(); if(!session_is_registered("logged_user")){ header("Location: index.php"); exit; } ?> <html> <body> Приветствуем Вас <?php echo $logged_user; ?>, Вы на секретной странице !!! </body> </html>
Основы работы с Oracle • Открытие сетевого соединения с СУБД • Создание SQL предложения • Выполнение SQL-предложения • Обработка выбранных данных • Закрытие сетевого соединения с СУБД
Открытие сетевого соединения с СУБД • <?php • // Создаем соединение с БД • $conn = OCILogon("scott", "tiger", "dbname"); • ?>
Создание SQL-предложения <?php // Выбрать все из таблицы person $stmt = OCIParse($conn, "select * from person"); ?>
Выполнение SQL-предложения <?php $mess = @OCIExecute($stmt); // Обрабатываем исключительные ситуации if(!$mess) { $error = OCIError($stmt); echo"Ошибка при выборке данных (".$error["message"].")"; } ?>
Обработка выбранных данных • <?php • while (OCIFetch($stmt)){ • $id = OCIResult($stmt,"ID"); • $a = OCIResult($stmt,"FIRSTNAME"); • echo "$id -> $a <br/>"; • } • ?>
Закрытие сетевого соединения с СУБД <?php // Разрываем соединение с БД OCILogoff($conn); ?>
Функция OCI_Error OCIError() возвращает ошибку в виде ассоциативного массива из четырех элементов. Элемент code содержит код ошибки Oracle; элемент message - строку с текстом ошибки; sqltext - строка, содержащая выражение SQL, которое вызвало ошибку, а элемент offset - указатель на место в выражении, которое вызвало ошибку.
Возвращение значение после добавления записи $sql="INSERT INTO request (person,beginDate,endDate,requestDate,allow) VALUES ('$userID','$beginDate','$endDate','$sysDate',NULL) returning id into :retid"; $stmt = OCIParse($conn,$sql); OCIBindByName($stmt, ':retid', $retid, 32); $mess = OCIExecute($stmt);