Download - Php basico y avanzado
![Page 1: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/1.jpg)
PHP BASICO
Por
Juan Martínez López
![Page 2: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/2.jpg)
JuanMartínez López 2
objetivos
Conoce la estructura básica de PHP Crea aplicaciones simples Confecciona formulario y lo lee por código
PHP Instala y Configura el servidor apache, Y
PHP
![Page 3: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/3.jpg)
JuanMartínez López 3
CONTENIDO
CONCEPTO SOBRE PHP.
Mi primer programa en php.
Instalacion y configuracion de wamp
Tag de PHP Variables en PHP
![Page 4: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/4.jpg)
JuanMartínez López 4
¿Qué es PHP?
PHP (acrónimo de "PHP: Hypertext Preprocessor") es un lenguaje de "código abierto" interpretado, de alto nivel, incrustado en páginas HTML y ejecutado en el servidor.
![Page 5: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/5.jpg)
JuanMartínez López 5
EJEMPLO
<html> <head> <title>Prueba </title> </head> <body>
<?php echo “Bienvenido al curso de PHP básico!"; ?>
</body></html>
![Page 6: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/6.jpg)
JuanMartínez López 6
PODER DE PHP
Adabas DIngresOracle (OCI7 and
OCI8) dBase InterBase Ovrimos Empress FrontBase Postgre SQL FilePro (read-only)
Msql SolidHyperwave Direct MS-SQL Sybase IBM DB2 MySQL Velocis Informix ODBC Unix dbm
![Page 7: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/7.jpg)
JuanMartínez López 7
Versiones de PHP
PHP/FI PHP/FI 2.0 PHP 3 PHP 4 PHP 5
![Page 8: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/8.jpg)
JuanMartínez López 8
Requerimiento para Instalar PHP
Servidor web (apache, IIS, otros) Appserver Foxserv Wamp, map y lamp Instalación Localhost o 127.0.0.1
![Page 9: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/9.jpg)
JuanMartínez López 9
Variables
Una variable es un contenedor de información, en el que podemos meter números enteros, números decimales, caracteres
En PHP todas las variables comienzan con el símbolo del dólar $
Ejemplo $nombre, $_nombre, $nombre_completo
![Page 10: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/10.jpg)
JuanMartínez López 10
Ejemplo de uso de variable <html>
<head> <title>Ejemplo de PHP</title> </head> <body> <?php $a = 1; $b = 3.34; $c = "Hola Mundo"; echo $a,"<br>",$b,"<br>",$c; ?> </body> </html>
Usuario gx-240 clave gx-240itladell Gx-240 inapdell
![Page 11: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/11.jpg)
JuanMartínez López 11
<?php $var = "Bob";
$Var = "Joe";
echo "$var, $Var"; // Sale "Bob, Joe"
$4site = 'not yet'; // invalida; starts with a number
$_4site = 'not yet'; // valid; starts with an underscore
$täyte = 'mansikka'; // valid; 'ä' is ASCII 228 (Extendido) ?>
![Page 12: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/12.jpg)
JuanMartínez López 12
Aritméticos
![Page 13: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/13.jpg)
JuanMartínez López 13
Ejemplo
html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php $a = 8; $b = 3; echo $a + $b,"<br>"; echo $a - $b,"<br>"; echo $a * $b,"<br>"; echo $a / $b,"<br>"; $a++; echo $a,"<br>"; $b--; echo $b,"<br>"; ?> </body> </html>
![Page 14: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/14.jpg)
JuanMartínez López 14
Practica 2
TOMADO EN CUENTA QUE DOMINA LAS OPERACIONES ARITMETICA REALIZA EL SIGUIENTE PROGRAMA.
CALCULAR TU EDAD EN LOS SIGUINETES RENGLONES
- POR MES, SEMAMA, DIAS, HORA , MINUTOS Y SEGUNDO.
DEBE GRABAR EL ARCHIVO CON EL NOMBRE DE calculo.php
![Page 15: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/15.jpg)
JuanMartínez López 15
Comparación
![Page 16: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/16.jpg)
JuanMartínez López 16
Operadores de Asignación
El operador básico de asignación es "=". A primera vista, usted podría pensar en él como "es igual a". No lo haga. Lo que quiere decir en realidad es que el operando de la izquierda recibe el valor de la expresión a la derecha (es decir, "se define a").
El valor de una expresión de asignación es el valor que se asigna. Es decir, el valor de "$a = 3" es 3. Esto le permite hacer una que otra cosa curiosa:
![Page 17: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/17.jpg)
JuanMartínez López 17
Ejemplo de Comparación<html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php $a = 8; $b = 3; $c = 3;
echo $a == $b,"<br>"; echo $a != $b,"<br>"; echo $a < $b,"<br>"; echo $a > $b,"<br>"; echo $a >= $c,"<br>"; echo $b <= $c,"<br>";
?> </body> </html>
![Page 18: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/18.jpg)
JuanMartínez López 18
Operadores de Control de Errores
PHP ofrece soporte para un operador de control de errores: el signo de arroba (@). Cuando es colocado al comienzo de una expresión en PHP, cualquier mensaje de error que pudiera generarse a causa de esa expresión será ignorado.
![Page 19: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/19.jpg)
JuanMartínez López 19
ejemplo <?php
/* Error intencional de archivo
*/ $mi_archivo = @file ('archivo_que_no_existe')
or die ("La apertura de archivo ha fallado: el error fue '$php_errormsg'");
// esto funciona con cualquier expresion, no solo con funciones:
$valor = @$cache[$llave]; // no producira una anotacion si el indice $llave no existe. ?>
![Page 20: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/20.jpg)
JuanMartínez López 20
Lógicos Los operadores lógicos son usados para evaluar varias
comparaciones, combinando los posibles valores de estas
![Page 21: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/21.jpg)
JuanMartínez López 21
Ejemplo <html>
<head> <title>Ejemplo de PHP</title> </head> <body> <?php $a = 8; $b = 3; $c = 3; echo ($a == $b) && ($c > $b),"<br>"; echo ($a == $b) || ($b == $c),"<br>"; echo !($b <= $c),"<br>"; ?> </body> </html>
![Page 22: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/22.jpg)
JuanMartínez López 22
Operadores de Incremento/Decremento
PHP ofrece soporte de operadores de pre- y post-incremento y decremento, estilo-C.
![Page 23: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/23.jpg)
JuanMartínez López 23
EJEMPLO
![Page 24: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/24.jpg)
JuanMartínez López 24
Condicionales
Las sentencias condicionales nos permiten ejecutar o no unas ciertas instrucciones dependiendo del resultado de evaluar una condición. Las más frecuentes son la instrucción if y la instrucción switch.
Sentencia if ... else
![Page 25: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/25.jpg)
JuanMartínez López 25
sintaxis
<?php if (condición) { Sentencias a ejecutar cuando la condición es cierta. } else { Sentecias a ejecutar cuando la condición es falsa. } ?>
![Page 26: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/26.jpg)
JuanMartínez López 26
Ejemplo <html>
<head> <title>Ejemplo de PHP</title> </head> <body> <?php $a = 8; $b = 3; if ($a < $b) { echo "a es menor que b"; } else { echo "a no es menor que b"; } ?> </body> </html>
![Page 27: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/27.jpg)
JuanMartínez López 27
Ejemplo<html> <body><?php $d=date("D"); if ($d=="Fri") { echo "Hello!<br />"; echo "Have a nice weekend!"; echo "See you on Monday!"; } ?></body> </html>
![Page 28: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/28.jpg)
JuanMartínez López 28
Operadores de Lógica
![Page 29: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/29.jpg)
JuanMartínez López 29
Practica 3.
Vamos a crear un programa donde podamos hacer la siguiente condición.
Donde si el valor numérico es mayor de 20 y menor de 30, imprime un letrero edad de productividad
Si la edad es mayor de 30 y menor de 50, imprime un letrero indicando edad rica
Si es mayor de 50 Edad de los contrario no califica.
![Page 30: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/30.jpg)
JuanMartínez López 30
elseif
como su nombre sugiere, es una combinación de if y else. Como else, extiende una sentencia if para ejecutar una sentencia diferente en caso de que la expresión if original se evalúa como FALSE. No obstante, a diferencia de else, ejecutará esa expresión alternativa solamente si la expresión condicional elseif se evalúa como TRUE. Por ejemplo, el siguiente código mostraría a es mayor que b, a es igual a b o a es menor que b:
![Page 31: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/31.jpg)
JuanMartínez López 31
Ejemplo <?php
if ($a > $b) { echo "a es mayor que b";
} elseif ($a == $b) {
echo "a es igual que b";}
else {
echo "a es mayor que b";}?>
![Page 32: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/32.jpg)
JuanMartínez López 32
Ejemplo<html> <body><?php $d=date("D"); if ($d=="Fri") echo "Have a nice weekend!"; elseif ($d=="Sun") echo "Have a nice Sunday!"; else echo "Have a nice day!"; ?></body> </html>
![Page 33: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/33.jpg)
JuanMartínez López 33
La Sentencia Switch podemos ejecutar unas u otras instrucciones
dependiendo del valor de una variable
![Page 34: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/34.jpg)
JuanMartínez López 34
Ejemplo del Swict<html> <body><?php switch ($x) { case 1: echo "Number 1"; break; case 2: echo "Number 2"; break; case 3: echo "Number 3"; break; default: echo "No number between 1 and 3"; } ?></body> </html>
![Page 35: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/35.jpg)
JuanMartínez López 35
Ejemplo <html>
<head> <title>Ejemplo de PHP</title> </head> <body> <?php $posicion = "arriba";
switch($posicion) { case "arriba": // Bloque 1 echo "La variable contiene"; echo " el valor arriba"; break; case "abajo": // Bloque 2 echo "La variable contiene"; echo " el valor abajo"; break; default: // Bloque 3 echo "La variable contiene otro valor"; echo " distinto de arriba y abajo"; } ?> </body> </html>
![Page 36: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/36.jpg)
JuanMartínez López 36
Sentencia while repetir la ejecución de un conjunto de
instrucciones mientras se cumpla una condición.
Mientras la condición sea cierta se reiterará la ejecución de las instrucciones que están dentro del while.
Crea un loop hasta que la condicion se cumpla.
![Page 37: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/37.jpg)
JuanMartínez López 37
Sintaxis de While
<?php while (condición) { intrucciones a ejecutar. } ?>
![Page 38: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/38.jpg)
JuanMartínez López 38
Ejemplo 1 de while
<html> <body><?php $i=1; while($i<=5) { echo "The number is " . $i . "<br />"; $i++; } ?></body> </html>
![Page 39: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/39.jpg)
JuanMartínez López 39
Ejemplo 1 de while
<html> <body><?php $i=10; while($i>=1) { echo "The number is " . $i . "<br />"; $i=$i - 1 } ?></body> </html>
![Page 40: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/40.jpg)
JuanMartínez López 40
Ejemplo 2 de While<html>
<head> <title>Ejemplo de PHP</title> </head> <body> Inicio<BR> <?php $i=0; while ($i<10) { echo "El valor de i es ", $i,"<br>"; $i++; } ?> Final<BR> </body> </html>
![Page 41: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/41.jpg)
JuanMartínez López 41
Do.. while
Los bucles do..while son muy similares a los bucles while, excepto que las condiciones se comprueban al final de cada iteración en vez de al principio, es decir, que esta sentencia primero se ejecuta y luego evalúa.
![Page 42: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/42.jpg)
JuanMartínez López 42
Ejemplo
<?php
$i = 1;
do {
echo $i;
$i++;
} while ($i< 15);
?>
Crea un bucle de los numeros del 1 al 14.
<?php
$i = 0;
do {
print $i;
} while ($i>0);
?>
Este ejemplo solo se ejecutara una sola vez
![Page 43: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/43.jpg)
JuanMartínez López 43
For
Los bucles for son los bucles más complejos en PHP. Se comportan como su contrapartida en C. La sintaxis de un bucle for es.
for ($i = 1; $i <= 10; $i++)
Se define condición Incremento
![Page 44: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/44.jpg)
JuanMartínez López 44
Ejemplos <html>
<head> <title>Ejemplo de PHP</title> </head>
<body>
Parte de HTML normal. <BR>
<?php echo "Parte de PHP<br>";
for($i=0;$i<10;$i++) { echo "Linea ".$i."<br>"; } ?>
</body> </html>
![Page 45: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/45.jpg)
JuanMartínez López 45
Array
array -- Crear una matriz Devuelve una matriz con los parámetros que
se le pasan. A dichos parámetros se les puede dar un índice usando el operador =>.
Descripción array array ( mixed ...)
![Page 46: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/46.jpg)
JuanMartínez López 46
Ejemplos $frutas = array (
"frutas" => array("a"=>"naranja", "b"=>"plátano", "c"=>"manzana"),
"números" => array(1, 2, 3, 4, 5, 6), "hoyos" => array("primero", 5 => "segundo", "tercero"));
![Page 47: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/47.jpg)
JuanMartínez López 47
foreach
tal como perl y algunos otros lenguajes. Esto simplemente da un modo fácil de iterar sobre matrices.
funciona solamente con matrices y devolverá un error si se intenta utilizar con otro tipo de datos ó variables no inicializadas
Nota: foreach no soporta la caracteristica de suprimir mensajes de error con '@'.
![Page 48: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/48.jpg)
JuanMartínez López 48
La primera forma recorre el array dado por expresion_array. En cada iteración, el valor del elemento actual se asigna a $value y el puntero interno del array se avanza en una unidad (así en el siguiente paso, se estará mirando el elemento siguiente).
Sintaxis de foreach
foreach(expresion_array as $value) sentencia
foreach(expresion_array as $key => $value) sentencia
La segunda manera hace lo mismo, salvo que la clave del elemento actual será asignada a la variable $key en cada iteración
![Page 49: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/49.jpg)
JuanMartínez López 49
ejemplo
<?php$arr = array("one", "two", "three");reset ($arr);while (list(, $valor) = each ($arr)) { echo "Valor:”, $valor<br>\n";}
foreach ($arr as $valor) { echo “Valor:”, $valor<br>\n";}?>
![Page 50: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/50.jpg)
JuanMartínez López 50
DEFINE Define una constante con nombre, que es similar a una variable. Descripciónint define ( string name, mixed value [, int case_insensitive]).EJEMPLO<?php define("CONSTANT", "HOLA php."); echo CONSTANT; // outputs "HOLA PHP.“ ?>
![Page 51: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/51.jpg)
JuanMartínez López 51
Constante
Las constantes no tienen un símbolo dólar '$' precediéndolas;
Las constantes son accesibles desde cualquier lugar sin tener en cuenta las reglas de ámbito de las variables.
Las constantes no pueden ser redefinidas o iniciadas una vez que han sido establecidas, y
Las constantes sólo pueden evaluar valores escalares
![Page 52: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/52.jpg)
JuanMartínez López 52
MANEJANDO CADENAS DE CARCTERES EN PHP
Dado el uso del lenguaje PHP el tratamiento de cadenas es muy importante, existen bastantes funciones para el manejo de cadenas, a continuación explicaremos las más usadas.
![Page 53: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/53.jpg)
JuanMartínez López 53
strlen(cadena). Nos devuelve el número de carácteres de una cadena.
split(separador,cadena). Divide una cadena en varias usando un carácter separador.
sprintf(cadena de formato, var1, var2...). Formatea una cadena de texto al igual que printf pero el resultado es devuelto como una cadena.
substr(cadena, inicio, longitud). Devuelve una subcadena de otra, empezando por inicio y de longitud.
[email protected] Split(@,email)
![Page 54: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/54.jpg)
JuanMartínez López 54
chop(cadena). Elimina los saltos de línea y los espacios finales de una cadena.
strpos(cadena1, cadena2). Busca la cadena2 dentro de cadena1 indicándonos la posición en la que se encuentra.
str_replace(cadena1, cadena2, texto). Reemplaza la cadena1 por la cadena2 en el texto.
![Page 55: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/55.jpg)
JuanMartínez López 55
EJEMPLO <html>
<head> <title>Ejemplo de PHP</title> </head> <body> <?php echo strlen("12345"),"<br>";
$palabras=split(" ","Esto es una prueba"); for($i=0;$palabras[$i];$i++) echo $palabras[$i],"<br>";
$resultado=sprintf("8x5 = %d <br>",8*5); echo $resultado,"<br>";
echo substr("Devuelve una subcadena de otra",9,3),"<br><br>";
if (chop("Cadena \n\n ") == "Cadena") echo "Iguales<br><br>";
echo strpos("Busca la palabra dentro de la frase", "palabra"),"<br><br>";
echo str_replace("verde","rojo","Un pez de color verde, como verde es la hierba."),"<br>";
?> </body> </html>
![Page 56: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/56.jpg)
JuanMartínez López 56
Ejemplos de matrices
<?php
$carro [0] = “cepillo”;
$carro [1] = “BMW”;
$carro [2]= “Toyota”;
for ($index = 0; $index <count($carro); $index++) {
Echo $carro[$index],”<br>”;
}
?>
![Page 57: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/57.jpg)
JuanMartínez López 57
Tabla de contenidos array_change_key_case -- Devuelve una matriz con todas las claves de las
cadenas convertidas a mayúsculas o minúsculas array_chunk -- Divide una matriz en segmentos array_combine -- Crea una nueva matriz, usando una matriz para las claves y
otra para sus valores array_count_values -- Cuenta todos los valores de una matriz array_diff_assoc -- Comprueba las diferencias entre matrices teniendo en
cuenta los índices array_diff_key -- Calcula la diferencia de matrices usando las llaves para la
comparación array_diff_uassoc -- Computa la diferencia entre matrices con un chequeo
adicional de índices, el cual es realizado por una llamada de retorno entregada por el usuario
array_diff_ukey -- Calcula la diferencia de matrices usando callback function on the keys for comparison
array_diff -- Comprueba las diferencias entre matrices
![Page 58: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/58.jpg)
JuanMartínez López 58
array_map -- Aplica la llamada de retorno especificada a los elementos de las matrices dadas
array_merge_recursive -- Une dos o más matrices recursivamente array_merge -- Combina dos o más matrices array_multisort -- Ordena múltiples matrices, o matrices multi-
dimensionales array_pad -- Rellena una matriz con un valor hasta el tamaño
especificado array_pop -- Extrae el último elemento de la matriz array_product -- Calcula el producto de valores en una matriz array_push -- Inserta uno o más elementos al final de la matriz array_rand -- Selecciona una o más entradas aleatorias de una matriz array_reduce -- Reduce iterativamente una matriz a un solo valor
usando una función llamada de retorno array_reverse -- Devuelve una matriz con los elementos en orden
inverso
![Page 59: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/59.jpg)
JuanMartínez López 59
de retorno array_udiff -- Computa la diferencia entre matrices, usando una
llamada de retorno para la comparación de datos array_uintersect_assoc -- Calcula la intersección de matrices
con chequeo adicional de ídices, comparando los datos por una función del usuario
array_uintersect_uassoc -- Calcula la intersección de matrices con chequeo adicional de índices, compara los datos y los índices por una función del usuario
array_uintersect -- Calcula la interseccón de matrices, compara los datos con una función del usuario
array_unique -- Remueve valores duplicados de una matriz array_unshift -- Introduce uno o más elementos al principio de la
matriz array_values -- Devuelve todos los valores de una matriz
![Page 60: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/60.jpg)
JuanMartínez López 60
each -- Devuelve el siguiente par clave/valor de una matriz y avanza el apuntador
end -- Mueve el puntero interno de una tabla al último elemento extract -- Importa variables a la tabla de símbolos desde una matriz in_array -- Revisa si un valor existe en una matriz key -- Obtiene una clave de una matriz asociativa krsort -- Ordena una matriz por clave en orden inverso ksort -- Ordena una matriz por clave list -- Asigna variables como si fueran una matriz natcasesort -- Ordena una matriz usando un algoritmo de "orden
natural" sin distinguir mayúsculas de minúsculas natsort -- Ordena una matriz usando un algoritmo de "orden natural" next -- Avanza el puntero interno de una matriz
![Page 61: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/61.jpg)
JuanMartínez López 61
pos -- Alias de current() prev -- Rebobina el puntero interno de una matriz range -- Crea una matriz que contiene un rango de
elementos reset -- Fija el puntero interno de una matriz a su
primer elemento rsort -- Ordena una matriz en orden inverso shuffle -- Mezcla una matriz sizeof -- Alias of count()
![Page 62: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/62.jpg)
JuanMartínez López 62
array_search -- Busca un valor determinado en una matriz y devuelve la clave correspondiente en caso de éxito
array_shift -- Extrae un elemento del comienzo de la matriz array_slice -- Extrae una porción de la matriz array_splice -- Suprime una porción de la matriz y la sustituye
por otra cosa array_sum -- Calcula la suma de los valores en una matriz array_udiff_assoc -- Computa la diferencia entre matrices con un
chequeo de índices adicional, comparando los datos con una llamada de retorno
array_udiff_uassoc -- Computa la diferencia entre matrices con un chequeo de índices adicional, comparando los datos y los índices con una llamada
![Page 63: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/63.jpg)
JuanMartínez López 63
array_fill -- Llena una matriz con valores array_filter -- Filtra elementos de una matriz mediante una función
"callback" array_flip -- Intercambia los valores de una matriz con sus índices array_intersect_assoc -- Calcula la intersección de matrices verificando
que también coincidan los índices array_intersect_key -- Calcula la intersección de matrices usando las
llaves para la comparación array_intersect_uassoc -- Calcula la intersección de matrices con
chequeo de índices adicional por una función de usuario array_intersect_ukey -- Calcula la intersecció de matrices usando una
función de usuario para la comparación de los índices array_intersect -- Calcula la intersección de matrices array_key_exists -- Comprueba si el índice o clave dada existe en la
matriz array_keys -- Devuelve todas las claves de una matriz
![Page 64: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/64.jpg)
JuanMartínez López 64
sort -- Ordena una matriz uasort -- Ordena una matriz mediante una
función de comparación definida por el usuario y mantiene la asociación de índices
uksort -- Ordena una matriz por claves mediante una función definida por el usuario
usort -- Ordena una matriz por sus valores usando una función de comparación definida por el usuario
![Page 65: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/65.jpg)
JuanMartínez López 65
array_walk_recursive -- Aplicar una función de usuario recursivamente a cada miembro de una matriz
array_walk -- Aplica una función del usuario a cada elemento de una matriz.
array -- Crear una matriz arsort -- Ordena una matriz en orden inverso y mantiene la
asociación de índices asort -- Ordena una matriz y mantiene la asociación de índices compact -- Crea una matriz que contiene variables y sus valores count -- Cuenta los elementos de una matriz o propiedades de
un objeto current -- Devuelve el elemento actual de una matriz
![Page 66: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/66.jpg)
JuanMartínez López 66
Comando para trabajar en matrices
Unset Se usa para eliminar un elemento de la
matriz o la matriz entera
Sintaxis Unset($matriz[3]) (este borra el elemento
cuyo indice es igual a 3). Unset ($matriz) este opcion elimina la matriz
completa.
![Page 67: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/67.jpg)
JuanMartínez López 67
Otro ejemplo de matrices
<?php
$carro = array (“Toyota”, “suzuky”,”volvo”);
print_r($carro);
sort($carro);
echo “<hr>”;
print _r($carro);
?>
![Page 68: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/68.jpg)
JuanMartínez López 68
<?php$fruta[0] = "pina";$fruta[1] = "manzana";$fruta[2] = "coco";$fruta[3] = "mango";
for ($index = 0; $index < count($fruta); $index++) { echo $fruta[$index], "<br>";
}
echo "<hr>";
print_r($fruta);
echo "<hr>";// sacando un numero aleatorio de una matriz $n= array_rand($fruta); echo $n;
echo "<hr>";// ordenando una matriz sort ($fruta); print_r($fruta);echo "<hr>";
$carro["nuevo"] = "toyota";$carro["usado"] = "honda civic";$carro["chocado"]= "bmw";$carro["alquilado"]= "murano";
print_r($carro); $c= array_rand($carro);echo "<br>";echo $c;?>
![Page 69: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/69.jpg)
JuanMartínez López 69
ejercicio
Tener dos matriz una de estudiantes y la otra de premio.
Se sacara u n estudantes de forma aleatoria y luego se sacara el premio de forma aleatoria.
Recuerde que la cantidad de estudiantes son Y la cantidadad de premio sera.La salida por pantalla sera de la sgts. Forma el
nombre del ganador KKKKK y el premio es ppppppp
Luego imprimir todos los concursantes en orden alfabetico y luego
![Page 70: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/70.jpg)
JuanMartínez López 70
Recorriendo una matriz
La funcion current. Se usa para obtener el elemento actual de una matriz.
echo “Actual: “, current (variable); Funcion next mueve el puntero al proximo
elemento de la matriz next(variable); La funcion prev desplaza el puntero al elemento
anterior de la matriz prev(variable)
![Page 71: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/71.jpg)
JuanMartínez López 71
La funcion end lleva el puntero al final de la matriz
end(variable) reset va al inicio de la matriz.
reset(variable)
![Page 72: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/72.jpg)
JuanMartínez López 72
RETROALIMENTACION TIENE UNA VARIABLE QUE ALMACENA EL NOMBRE Y UNA CLAVE CON
UN MINIMO DE 6 DIGITO. ADEMAS TIENE OTRA QUE ES CARGO. AQUÍ DEBEMOS UTILIZAR LAS OPCIONES CASE Y LA DE IF PARA EL
CASO DE QUE EL CARGO ES IGUAL GERENTE IMPRIME UN LETRERO CALIFICA , SI EL SUELDO DE ESTE GERENTE ES MAYOR DE 30000 PESOS ENTONCE EL IMPUESTO SOBRE LA RENTA SERA IGUAL A SUELDO MENOS 30000 POR 4%
DE LO CONTARARIO NO APLICA DESCUENTO SI EL CARGO ES MENSAJERO IMPRIME LETRERO EMPLEADO DE BAJO
NIVEL ADEMAS SI EL SUELDO ES MENOR DE 10000 TENDRA UN AUMENTO DE 2000 PESOS
DE LO CONTRARIO UN AUMENTO DE 500 PESOS. SI LA CLAVE ES MENOR DE 6 CARACTERES ENTONCE A LA CLAVE SE
CAMBIARA POR ¨PHPBASICO¨ DE LO CONTRARIO IMPRIME EL LETRO QUE DIGA CLAVE ACEPTADA
LA IMPRESION DE ESTA PARTE SERA LA SIGUIENTE. NOMBRE DEL EMPLEADO, LA CLAVE DE ESTE Y EL SUELNO NETO .
![Page 73: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/73.jpg)
JuanMartínez López 73
2DA FASES
HACER UN BUCLE QUE LE IMPRIME EL LETRO SOY UN WEB MASTER. 5 VECES SI EL LETRERO TIENE UNA LONGITUD DE MAYOR O IGUAL 10, SI ES MENOR QUE SE IMPRIMA DOS VECES.
![Page 74: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/74.jpg)
JuanMartínez López 74
FASE 3
HACER UNA matriz QUE ALMACENES EL LA VARIABLE EMPLEADO CON EL NOMBRE CODIGO COMO INDEX Y SERSA IGUAL AL SUELDO.
LUEGO SELECCIONAR UN EMPLEADO DE FORMA ALEATORIO
IMPRIMIR DE FORMA ORDENADA LA matriz Y LUEGO IMPRIMIR EL VALOR SELECCIONADO DE FORMA ALEATORIA.
![Page 75: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/75.jpg)
JuanMartínez López 75
SINTAXIS
<?php function Hiperlink () { // Entre parentesis () podemos incluir valores que // deba usar nuestra función. El uso de () // es siempre necesario. // El código de la función entre llaves {} }
Hiperlink(); // esta linea llama la función ?>
![Page 76: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/76.jpg)
JuanMartínez López 76
LA FUNCION
Una función de usuario en PHP no es mas que una porción de código que podemos llamar en cualquier momento
Para definir una función debemos usar la palabra reservada function. Para llamar la función basta con invocar su nombre
![Page 77: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/77.jpg)
JuanMartínez López 77
OBSERVACIONES DE LA FUNCION
PHP no distingue entre mayusculas y minusculas al nombrar las funciones, asi que HiperLink sería lo mismo que Hiperlink, aunque es buena práctica ser consistente en la forma de escribir los nombres.Como curiosidad, podrás observar que en los mensajes de error, PHP siempre designa tus funciones en minuscula.
Los parentesis permiten pasar valores a las funciones (como veremos despues) y son siempre necesarios, aunque no vayas a pasar valor alguno
![Page 78: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/78.jpg)
JuanMartínez López 78
EJEMPLO
<?php function TradicionalHolaMundo (){ echo "hola mundo"; }
TradicionalHolaMundo(); // que sorpresa ! imprime "hola mundo" ?>
El código que puedes incluir en una función es cualquier código php válido
![Page 79: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/79.jpg)
JuanMartínez López 79
funciones y parámetros Podemos pasar a nuestras funciones valores para
que operen sobre ellos. PHP permite pasar a las funciones variables, cadenas de texto, números o arrays
Los datos pasados a la función pueden ser por valor o por referencia. En el primer caso solo pasamos el valor del dato, no su contenedor, de forma que dicho dato (por ejemplo almacenado en una variable) conserva su valor original fuera de la función, sin verse afectado por los cambios que la función pueda ejecutar. En cambio si pasamos el valor por referencia, el dato original quedará afectado por el resultado de la función:
![Page 80: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/80.jpg)
JuanMartínez López 80
<?php
$msg = "Como estás ?";
function TradicionalHolaMundo ($msg) { $msg= "Hola Mundo !!".$msg; echo $msg; } TradicionalHolaMundo ($msg); // vuelca "Hola Mundo !! Como estas ? echo $msg; // vuelca "Como estás ?" $msg = "Como estás ?";
function TradicionalHolaMundo (&$msg) //advierte que usamos &$ { $msg= "Hola Mundo !!".$msg; echo $msg; }
TradicionalHolaMundo ($msg); // $msg -> Hola Mundo !! Como estas ? echo $msg; // vuelca "Hola Mundo !! Como estás ?" ?>
![Page 81: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/81.jpg)
JuanMartínez López 81
Puedes tambien prever un valor por defecto para la función, que se aplicará salvo que especifiques otro al llamarla:
<?php function TradicionalHolaMundo ($msg = "Hola como estás") { ...}
TradicionalHolaMundo(); // Hola Mundo !! Hola como estás ? TradicionalHolaMundo("hasta luego");// Hola Mundo !! hasta luego TradicionalHolaMundo(""); // Hola Mundo !! ?>
![Page 82: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/82.jpg)
JuanMartínez López 82
<?php function TradicionalHolaMundo ($msg) { return "Hola Mundo !!".$msg; }
$blah = TradicionalHolaMundo ($msg); ?>
![Page 83: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/83.jpg)
JuanMartínez López 83
Return
Si la función debe retornar algun valor al script, debes indicarlo por medio de la expresión return. El código existente en la función despues de return no será ejecutado.
En los sencillos ejemplos que hemos usado no empleamos return ya que la unica instrucción de la función es precisamente una orden echo. Pero podría suceder que la función no tuviera por finalidad volcar nada a pantalla, sino manipular un valor para, por ejemplo, pasarselo a otrá función. En tal caso usamos return.
![Page 84: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/84.jpg)
JuanMartínez López 84
ejemplo
<?php
$blah = "http://www.ignside.net";
function hiperlink($CadenaTexto) { $CadenaTexto = preg_replace("/(http:\/\/[0-9a-zA-Z\-\._\/]+)/", "<a href=\"\1\">\1</a>", $CadenaTexto); print $CadenaTexto; }
hiperlink($blah); // devuelve la url como un enlace clickable // <A href="http://www.ignside.net">http://www.ignside.net</A> ?>
Como ya está bien de TradicionalHolaMundo() vamos a ver una función sencilla pero algo mas útil: la función hiperlink() que buscará urls dentro de una cadena de texto, convirtiendolas en enlaces
![Page 85: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/85.jpg)
JuanMartínez López 85
opciones
La anterior función toma un parámetro y busca en él, con preg_replace, la existencia de una url correctamente escrita (http://....) y si la encuentra construye un link que apunta a esa direccion, usando la misma como texto visible del enlace.
![Page 86: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/86.jpg)
JuanMartínez López 86
Manipulando con 2 parametros Podemos perfeccionarla un poco con dos parámetros:
<?php $blah = "http://www.ignside.net";
function hiperlink($CadenaTexto, $textovisible) { $CadenaTexto = preg_replace("/(http:\/\/[0-9a-zA-Z\-\._\/]+)/", "<a href=\"\1\">$textovisible</a>", $CadenaTexto); print $CadenaTexto; } hiperlink($blah, "pulsa aqui"); // devuelve //<A href="http://www.ignside.net">pulsa aqui</A>
?>
![Page 87: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/87.jpg)
JuanMartínez López 87
¿ Desventajas ?
PHP consume mas recursos (y por tanto es ligeramente mas lento) llamando y ejecutando una función que ejecutando código que encuentra en linea, embebido en el script. Por eso no tiene sentido usar funciones salvo que efectivamente vayas a utilizar esa porción de código varias veces.
![Page 88: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/88.jpg)
JuanMartínez López 88
Los Formularios
Es el mecanismos por el cual podemos manipular datos de forma ordenada dentro de una aplicación web.
El lenguaje de PHP proporciona una manera muy sencillas para manejar los formularios.
Los Formularios no forman parte de PHP, sino del lenguaje estándar de Internet, HTML, pero como éstos van a aparecer muchas veces durante el curso, vamos a dedicar esta líneas . Lo que viene a continuación es HTML y no PHP.
![Page 89: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/89.jpg)
JuanMartínez López 89
Todo formulario comienza con la etiqueta <FORM ACTION="lo_que_sea.php" METHOD="post/get"> .
Con ACTION indicamos el script que va procesar la información que recogemos en el formulario, mientras que METHOD nos indica si el usuario del formulario va ha enviar datos (post) o recogerlos (get). La etiqueta </FORM> indica el final del formulario.
![Page 90: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/90.jpg)
JuanMartínez López 90
Elementos de un formularios Cuadro de texto:<input type="text" name="nombre" size="20" value="jose"> Cuadro de texto con barras de desplazamiento:<textarea rows="5" name="descripcion" cols="20">Es de color
rojo</textarea> Casilla de verificación:<input type="checkbox" name="cambiar" value="ON"> Botón de opción:<input type="radio" value="azul" checked name="color"> Menú desplegable:<select size=“1” class="codigo"><select size="1" name="dia"><option selected value="lunes">lunes</option><option>martes</option><option value="miercoles">miercoles</option></select>
![Page 91: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/91.jpg)
JuanMartínez López 91
Boton de comando: <input type="submit" value="enviar"
name="enviar"> Campo oculto: <input type="hidden" name="edad"
value="55"> Este último tipo de campo resulta
especialmente útil cuando que remos pasar datos ocultos en un formulario.
Elementos de un formularios
![Page 92: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/92.jpg)
JuanMartínez López 92
El method GET y el POST
GET Muestra las informaciones que estan siendo enviada por un formulario en la barra de direccion.
Post. No muestra las informaciones que esta siendo enviada en la barra de direccion.
![Page 93: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/93.jpg)
JuanMartínez López 93
Ejemplo de un formulario
<form action=“amigo.php” METHOD= “GET”>
Su nombre:<input type=“text” name=“nombre”<br>
Su apellido:<input type=“text” name=“apellidos”<br>
<input type= submit value=“Enviar”>
</form>
![Page 94: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/94.jpg)
JuanMartínez López 94
Ejemplo 2<HTML><BODY><FORM METHOD="post" ACTION="lee.php"><input type="hidden" name="edad" value="35"><p>Tu nombre <input type="text" name="nombre" size="30"></p><p>Tu sistema favorito <select size="1" name="sistema"><option selected value="Linux">Linux</option><option value="Unix">Unix</option><option value="Macintosh">Macintosh</option><option value=&qmargin-left: 75"><option value="Windows">Windows</option></select></p><p>¿Te gusta PHP ? <input type="checkbox" name=“programa" value="ON"></p><p>¿Cual es tu sexo?</p><blockquote><p>Hombre<input type="radio" value="hombre" checked name="sexo"></p><p>Mujer <input type="radio" name="sexo" value="mujer"></p></blockquote><p>Aficiones</p><p><textarea rows="5" name="aficiones" cols="28"></textarea></p><p><input type="submit" value="Enviar datos" name="enviar"> <input type="res-left: 50"> <input type="reset" value="Restablecer" name="B2"></p></FORM></BODY><HTML>
![Page 95: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/95.jpg)
JuanMartínez López 95
Recibir datos de matrices personalizadas
PHP permite organizar los datos que obtenemos de un formulario ens propias matrices personalizada
![Page 96: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/96.jpg)
JuanMartínez López 96
EJEMPLO<html><body><FORM METHOD="POST" ACTION="phpprueba.php">Cual es tu nombre?<INPUT NAME="texto[nombre]" Type="Text"><br><br> CUAL ES TU COLOR FAVORITO?<INPUT NAME="texto[color]" Type="text"><br><br><input type=submit Value=Enviar></form></body></html>
![Page 97: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/97.jpg)
JuanMartínez López 97
EJEMPLO 2
<?php echo "su nombre es..."; $text = $_POST['texto']; echo $text['nombre'], "<br>";?> Su color Favorito es<?php $text = $_POST['texto']; echo $text['color']. "<br>";?>
![Page 98: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/98.jpg)
JuanMartínez López 98
Aplicaciones Web en una sola Pagina
La mayoria de las aplicaciones de formularios cuenta con dos pagina una que recibe y la otra que envia. Es decir las paginas de html que recopilaban los datos y las de php que los recibian
Pero si usamos los mismo script en la misma pagina podemos ejecutar ambas opciones en la misma pagina. Veamos
![Page 99: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/99.jpg)
JuanMartínez López 99
ejemplo<?PHP if(isset($_POST["nombre"])){?> <h1>Uso de Cuadro de texto</h1><?php echo $_POST["nombre"];$clave = $_REQUEST[‘clave’]; print ($clave);} else {
?> <FORM METHOD="POST"> Cual es tu Nombre? <INPUT NAME="nombre" TYPE="TEXT">Contraseña: <INPUT TYPE="password" NAME="clave"><BR><BR> <INPUT TYPE=SUBMIT VALUE=Enviar></form><?php}?>
![Page 100: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/100.jpg)
JuanMartínez López 100
FuncionesEmpecemos con el ejemplo más difícil y el causante de que tuviera que
programarestas funciones.
<SELECT>Crear elementos de selección <select></select>Con php es muy habitual trabajar con arrays, ya sea con datos que nos
proporcione unaconsulta SQL o simples valores.Veamos un ejemplo en el que queremos mostrar un <select> para que el
usuarioseleccione su rango de edad:<select name=’edad’><option value=0>Seleccione</option><option value=1>Entre 0-18</option><option value=2>Entre 19-30</option><option value=3>Entre 31-50</option><option value=4>Más de 50</option><select/>
![Page 101: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/101.jpg)
JuanMartínez López 101
La función que nos salvará la vida es:
frm_select($name, $arr_txt, $arr_vals, $default='', $extra_tag='')$name = Nombre del elemento del formulario$arr_txt = Array con los textos a mostrarhttp://www.distintiva.com/jose/_perf_form jose [arroba] distintiva
[dot] com$arr_vals = Array con los valores asociados a cada texto$default= [opcional] si se indica el valor aparecerá preseleccionado
dicha opción$extra_tag= [opcional] por si necesitamos incluir información
adicional al select, comopor ejemplo $extra_tag=” class=cssazul ” o $extra_tag=”
onChange=alert()”
![Page 102: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/102.jpg)
JuanMartínez López 102
Ejemplo:
$arr_txt=array(‘españa’, ‘portugal’, ‘francia’);$arr_vals=array(‘ES’, ‘PT’, FR’);<?=frm_select (‘paises’, $arr_txt, $arr_vals) ?>De esta forma cualquier modificación sólo hay que hacerla en los
arrays sin alterar laparte visual.A veces es conveniente conservar el valor de un campo del
formulario entre llamadas oposts del mismo por ejemplo cuando estamos validando entradas y
hay que volver alformulario para que rellene algún campo requerido
![Page 103: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/103.jpg)
JuanMartínez López 103
Para hacer esto de forma sencillatan solo tenemos que usar el parámetro $default de la siguiente
forma.:<?=frm_select (‘paises’, $arr_txt, $arr_vals, $_POST[‘paises’]) ?
>(o $_GET dependiendo el método que usemos en nuestro
formulario)<SELECT> (tipo lista con varios elementos visibles)Funciona exactamente igual que el anterior pero en este caso
tenemos la típica lista deselección con scroll mostrando X elementos.La función es:frm_list($name,$size, $arr_txt, $arr_vals, $default='',
$extra_tag='')En este caso el nuevo parámetro es $size que indica cuántos
elementos seránmostrados visiblemente en la lista. 829 317-0468 97-7559
![Page 104: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/104.jpg)
JuanMartínez López 104
Otras funciones
<SELECT> (tipo lista con varios elementos visibles y con multiselección)
Igual que el ejemplo anterior pero permitimos que el usuario seleccione uno o varios
elementos de la lista con el CTRL+Click o SHIFT+ClickLa función es:frm_list_multi($name, $size, $arr_txt, $arr_vals, $default='',
$extra_tag='')... Y también tenemos funciones correspondientes para los demás
elementos deformulario aprovechando la capacidad de mantener el valor entre
posts.
![Page 105: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/105.jpg)
JuanMartínez López 105
<Checkboxes>
La función es:frm_check($name, $ck_val, $var_in='', $extra_tag='')$name= Nombre del campo$ck_val= Valor que se enviará cuando esté seleccionado$var_in=[opcional] Funciona como el $default y permitirá que se
muestre checkeadoEjemplo:Se muestra un checkbox que se mantiene seleccionado entre posts
del formulario<?= frm_check(‘fumador’, ‘SI’, $_POST[‘fumador’])?>
![Page 106: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/106.jpg)
JuanMartínez López 106
<Radio>
En este caso para mostrar radiobuttons se hace exactamente como el caso anterior
pero con la siguiente función: frm_radio($name, $val, $var_in='',
$extra_tag=''
![Page 107: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/107.jpg)
JuanMartínez López 107
<INPUT>
Permite mostrar cuadros de texto con las ventajas que voy ofreciendo en todas las
funciones y para ello hay que usar:frm_text($name, $val, $size, $max_length,
$extra_tag='')$name = Nombre del campo$val = Valor o texto que se mostrará (funciona
como el $default de las otras funciones)$size = Tamaño del campo de texto$max_length = Longitud máxima permitida
![Page 108: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/108.jpg)
JuanMartínez López 108
PASSWORD
Contraseña: <INPUT TYPE="password" NAME="clave">
<?PHP $clave = $_REQUEST[‘clave’]; print ($clave);?>
![Page 109: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/109.jpg)
JuanMartínez López 109
<PASSWORD>
El caso es exactamente como el anterior pero esta vez oculta el texto con asteriscos
frm_password($name, $val, $size, $max_length, $extra_tag='')
![Page 110: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/110.jpg)
JuanMartínez López 110
Ejercicios1 de formularios Hacer un formulario que contenga todos los controles y incluyendo
un control oculto que sea igual al nombre de programador.
![Page 111: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/111.jpg)
JuanMartínez López 111
Enviar un Archivo a través de un formularios.
HTML NOS PERMITEN CARGAR archivoS EN EL SERVIDOR, Y PHP NOS AYUDARA EN ESTA TAREA.
PARA ENVIAR UN ARCHIVO AL SERVIDOR, TENDREMOS QUE UTILIZAR UN FORMULARIOS MULTIPLE
![Page 112: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/112.jpg)
JuanMartínez López 112
PASO PARA CREAR UN FORMULARIO MULTIPLE EL ATRIBUTO ENCTYPE DEL ELEMENTO HTML
<form>: Sintaxis<form ENCTYPE=“multipart/form-data” ACTION=“nombre.php” method=“POST”> Enviar este archivo: <INPUT NAME=“archivo”
TYPE=“file”></form> Note que estamos llamando al control “archivo”
Sera el nombre por el cual accederemos al aechivos que se envie.
![Page 113: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/113.jpg)
JuanMartínez López 113
La matriz $_FILES
Esta es una matriz super global, eso quierre decir que puede ser usada en cualquier parte del codigo..
Cuando usamos controles de archivos nos necesitamos las matrizes $_POST, $_GET Y $_REQUEST
![Page 114: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/114.jpg)
JuanMartínez López 114
EJEMPLO<FORM ENCTYPE="multipart/form-data" ACTION=“archivo2.php" METHOD="post"> <INPUT type="hidden" name="MAX_FILE_SIZE" value="100000"> <p><b>Archivo a descargar<b><br> <INPUT type="file" name="archivo" size="35"></p> <p><INPUT type="submit" name="enviar" value="Aceptar"></p></FORM>
![Page 115: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/115.jpg)
JuanMartínez López 115
Subida de archivos al servidor
;;;;;;;;;;;;;;;;; File Uploads ;;;;;;;;;;;;;;;;;; Whether to allow HTTP file uploads.file_uploads = On
; Temporary directory for HTTP uploaded files (will use; system default if not specified).;upload_tmp_dir =
; Maximum allowed size for uploaded files.upload_max_filesize = 2M
php.ini
formulario
<INPUT TYPE=”HIDDEN” NAME=”MAX_FILE_SIZE” VALUE='102400'><INPUT TYPE=”FILE” NAME="archivo">
![Page 116: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/116.jpg)
JuanMartínez López 116
Subida de archivos al servidor<INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="102400"><INPUT TYPE="FILE" SIZE="44" NAME="imagen">
La variable $_FILES contiene toda la información del archivo subido:$_FILES['imagen']['name']
Nombre original del archivo en la máquina cliente
$_FILES['imagen']['type']
Tipo mime del archivo. Por ejemplo, "image/gif"
$_FILES['imagen']['size']
Tamaño en bytes del archivo subido
$_FILES['imagen']['tmp_name']
Nombre del archivo temporal en el que se almacena el archivo subido en el servidor
$_FILES['imagen’]['error']
Código de error asociado al archivo subido
![Page 117: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/117.jpg)
JuanMartínez López 117
Funciones de acceso a archivos
En esta lección sólo vamos a las funciones básicas, abrir (fopen), cerrar (fclose), leer (fgets) y escribir (fputs). Estas cuatro nos solventaran la mayoria de problemas (fputs). Estas cuatro nos solventaran la mayoria de problemas que nos surgan con respecto al acceso a archivos.
![Page 118: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/118.jpg)
JuanMartínez López 118
fopen (archivo, modo)
Con esta función abrimos un archivo, bien sea local o una dirección de internet (http:// o ftp://).
La función fopen nos devuelve un valor numérico (indicador de archivo) de tipo integer que nos ser virará para hacer referencia al archivo abierto.
![Page 119: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/119.jpg)
JuanMartínez López 119
Con fopen podemos abrir un archivo de los siguientes modos
r solo lectura r+ lectura y escritura w solo escritura. Sino existe el archivo lo crea, si
ya existe lo re-escribe w+ lectura y escritura. Sino existe el archivo lo
crea, si ya existe le re-escribe a solo lectura. Sino existe el archivo lo crea, si ya
existe empieza a escribir al final del archivo. a+ lectura y escritura. Sino existe el archivo lo crea,
si ya existe empieza a escribir al final del archivo.
![Page 120: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/120.jpg)
JuanMartínez López 120
Ejemplo de fopen()
<?PHP
if ( ! fopen("http://www.ciberaula.com/", "r")) {
echo "El archivo no se puede abrir\n";
exit;
}
?>Abriendo un archivo con el protocolo hhtp.
Los modos r, r+ , w , w+ colocan el puntero de lectura/escritura a principio del archivo, los modos a , a+ lo colocan al final.
![Page 121: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/121.jpg)
JuanMartínez López 121
fgets (indicador_archivo, longitud)
La función fgets nos devuelve una cadena con la longitud especifica del archivo al que apunta el indicador de archivo.
<?PHP$archivo = fopen("dlass="codigo">$archivo = fopen("data.txt" , "r");if ($archivo) {while (!feof($archivo)) {$linea = fgets($archivo, 255);echo $linea;}}fclose ($archivo)?>
La función feof devuelve TRUE si puntero de lectura/escritura se encuetra al final del archivo, y FALSE en caso contrario.
![Page 122: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/122.jpg)
JuanMartínez López 122
fputs (indicador_archivo, cadena)
La función fputs escribe una cadena en el archivo indicado. Para escribir en una archivo este debe haber sido previamente abierto. La función fputs devuelve TRUE si se ha escrito con éxito, en caso contrario devuelve FALSE.
<?PHP$archivo = fopen("data.txt" , "w");if ($archivo) {fputs ($archivo, "Hola Mundo");}fclose ($archivo);?>
![Page 123: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/123.jpg)
JuanMartínez López 123
file_exists (archivo)
Esta función devuelve TRUE si el archivo especificado existe, y FALSE en caso contrario.
<?PHP
if (file_exists("data.txt")) {
echo "El archivo existe";
} else {
echo "El archivo NO existe";
}
?>
![Page 124: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/124.jpg)
JuanMartínez López 124
copy (origen, destino)
La función copy : copia un archivo de un lugar (origen) a otro (destino), devuelve TRUE si la copia a tenido éxito y FALSE en caso contrario.
<?PHPif (copy("data.txt", "/tmp/data.txt")) {echo "El archivo ha sido copiado con éxito";} else {echo "El archivo NO se copio" style="margin-left:
50">echo "El archivo NO se ha podido copiar";}?>
![Page 125: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/125.jpg)
JuanMartínez López 125
Validación de datos que se envían en los formularios.
Programa ejemplo
![Page 126: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/126.jpg)
JuanMartínez López 126
TRABAJANDO CON CLASE Y OBJETOS
LA POO se diseño para proyectos de programacion grandes. Sin embargo si va a seguir usando aplicaciones grandes en php es aconsejable que domine la tecnica de OOP.
![Page 127: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/127.jpg)
JuanMartínez López 127
Que son los objetos
Es donde se agrupa un conjunto de funciones también los datos que estas funciones necesitaría
Aglutinar las funciones y los datos nos permitirá seccionar mucho mas los scripts. Por ejemplo, un objeto podría controlar lo que se muestra por pantalla, otra validar los datos, otro se encargaría de la gestión de la base de datos.
![Page 128: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/128.jpg)
JuanMartínez López 128
Creando una clase
Es un conjunto de variables y funciones en termino de la POO, tambien propiedades y metodos.
Una clase es un tipo y generamos objetos de ese tipo y lo almacenamos en variables de PHP
Sintaxis class estudiante{.......}
![Page 129: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/129.jpg)
JuanMartínez López 129
ejemploclass carro{ var $name;Function set_name($text){ $this->name = $text;}Function get_name(){ return $this->name;}}$honda = new carro;$honda->set_name(“accord”);Echo “el modelo de su nuevo carro es”,$honda->get_name(), “.”;?>
Creamos la clases llamada carro
Funciones dentro de una clase son los métodos
Name es la variable interna llamada en POO propiedad
New crea objeto de esta clase
Ejemplo
![Page 130: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/130.jpg)
JuanMartínez López 130
La sentencia var
Esta sentencia se usa para de clarar las variables interna de una clase.
SintaxisClass socio{ var $nombre;}Nota para acceder a esta propieda
simplemente como nombre:
Esto ayudara a su proceso interno.
![Page 131: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/131.jpg)
JuanMartínez López 131
Ejemplo
<?phpclass my_class{var $value;}$a = new my_class;$a->my_value = 5;$b = $a;$b->my_value = 10;echo $a->my_value;?>
![Page 132: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/132.jpg)
JuanMartínez López 132
Ejemplo de claseclass conectar{ var $cn; var $res; var $status; function conectar(){mysql_connect ("localhost","root",""); mysql_select_db ("carrito"); $this->status=true;}function Ejecutar_sql($sql){if($this->status){$this->res = mysql_query ($sql) or die ("SQL incorrecto : $sql"); return true;}else{return false;}}}?>
Aquí vemos como podemos utilizar una clases para conectarnos a ua base de datos y realizar una consulta
![Page 133: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/133.jpg)
JuanMartínez López 133
Los metodos set_name y get_name El metodo set_name: se usa para especificar el nombre del objeto.Tomando en cuenta el ejemplo de la diapositiva 127. . Function set_name($text)
para acceder al nombre paso a set_name en la propiedad name, usaremos una variable especial $this que apunta a la clase actual, para eso usaremos operador flecha para`que haga referencia a los datos de la propiedad.
$this->name =$text;.
![Page 134: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/134.jpg)
JuanMartínez López 134
Como se crean los objetos dentro de una clase.
La sentencia new se usa cuando se quiere crear un objeto de una clase.
Sintaxis
$civic= new carro;
$civic->set_name(“sedan”);
Con el operador -> podremos acceder tanto a los metodos de un objetos como a su propiedad.
![Page 135: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/135.jpg)
JuanMartínez López 135
Los metodos de acceso
Se usa para especificar especificar los valores de la propiedad , ya que podremos restringir el tipo de datos almacenaremos en la propiedad.
EjemploFunction set_name($text){If (strlen($text) <= 50){ $this->name =$text; }}
![Page 136: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/136.jpg)
JuanMartínez López 136
Ejercicios
Haga una clase llamada celular donde se creara un nuevo objeto de esta clase llamdo motorola y su modelo sera V3.
La salida de este escript sera la siguiente.
su celular es motorola y es el modelo V3
![Page 137: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/137.jpg)
JuanMartínez López 137
Restringir acceso a la propiedades y metodos
PHP posee una serie de modificadores de acceso.
-public accesible para todos
-private accesible de la misma clase
- Public accesible de la misma clase y de la clase derivadas de esas clase.
Nota.
Por defecto todos los metodos y propiedades se declaran como publicas lo que implica que no tendremos restrinciones a la hora de acceder a ellos.
![Page 138: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/138.jpg)
JuanMartínez López 138
Ejemplo<?php class computadora { private $name;
fuction set_name($text) ($this->name = $text;} fuction get_name() { return $this->name;} }$dell = new computadora;$dell ->set name(“Inspiron”);Echo “ el nombre de su nueva computadora del es”, $dell->name”?>
Cuando quiera acceder a esta propiedad como $dell->name recibira un mensaje de error
![Page 139: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/139.jpg)
JuanMartínez López 139
Inicializa los objetos constructores
En php un objeto constructor es un metodo especial declarado con la sintanxis
nombre__construct (son dos guiones bajo seguido por la palabra reservada construct
cuando creamos este objeto especial
debemos de crear una sintaxis especial para pasarle informacion al constructor.
![Page 140: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/140.jpg)
JuanMartínez López 140
ejemplo<?phpClass animal{ var $name; function __construct($text){ $this ->name =$text;}Function set_name($text)}Function get_name(){ return $this->name;}}$lion = new animal(“leo”);Echo “El nuevo nombre de su leon es “, $lion->get_name();?>
![Page 141: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/141.jpg)
JuanMartínez López 141
ejemplo2<?phpclass base_class{var $var1;function base_class ($value){$this->var1 = $value;}function calc_pow ($exp){return pow ($this->var1, $exp);}}class new_class extends base_class{var $var2;function new_class ($value){$this->var2 = $value;$this->var1 = $value * 10;}}$obj = new new_class (10);echo $obj->calc_pow (4);?>
![Page 142: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/142.jpg)
JuanMartínez López 142
Basar una clase en otra(Herencia)
La Herencia es el metodo que nos permite escribir todos metodos de una clase existente a una clase nueva.
Al usar usar la herencias,propiedades de la clase base tambien perteneceran al conjunto de metodos y clases derivadas de ella
Luego podremos personalizar las clases derivadas agregando los metodos y propiedades especifico para esa clase
![Page 143: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/143.jpg)
JuanMartínez López 143
Planteamiento
Tenemos una clase llamada Vehiculo que tiene implementado todo tipo de metodo para cualquier tipo de tarea relacionada como: color, arrancar, acelerar, girar y parar. Ahora queremos crear otras class que sean tipos de vehiculos: jeepeta, guagua, motores y otros.mas
![Page 144: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/144.jpg)
JuanMartínez López 144
ejemplo<?php class $vehiculo{ var $carro; Function set_name($text){ $this->carro=$text;}Function get_name(){Return $this->carro; }}class honda extends vehiculo { var $carro;Fuction alquilado() { echo “! “, $this->carro, “ esta alquilado <br>”; }}Echo “Su nuevo carro honda...<br>”;$civic = new honda;$civic->set_name(“Civic 2003”);$civic->alquilado ();?>
Esta cláusula se utiliza para derivar una clase desde otra.
Indicamos la clase va heredar, indicando de que clase va heredaremos
![Page 145: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/145.jpg)
JuanMartínez López 145
Sobrecargar metodos
Esto ocurre si queremos derivar una clase nueva desde una clase base y necesitamos usar un metodo en la nueva clase con el mismo nombre que uno de los metodos de la clase base.
Porque el metodo de la clase base, y los objeto de la nueva clase utilizaran el nuevo metodo en lugar del precedente de la clase base.
![Page 146: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/146.jpg)
JuanMartínez López 146
Ejemplo<?php class animal { var $nombre;function set_name($text){ $this->nombre =$text;}function get_name() { return $this->nombre; }}class Leon extends animal { var $name;function rugir(){ echo "! ",$this->name, "esta rugiendo <br>";}
function set_name($text){ $this->name = strtoupper($text);}} echo " Creando su nuevo felino...<br>"; $leon = new leon; $leon->set_name ("kiko "); $leon->rugir();?>
![Page 147: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/147.jpg)
JuanMartínez López 147
EjercicioQue imprime este script
<?phpclass a{var $c=5;function a ($pass){$this->c = $pass;}function print_data(){echo $this->$c;}}$a = new a(10);$a->print_data();?>
![Page 148: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/148.jpg)
JuanMartínez López 148
Que imprime este programa<?phperror_reporting(E_ALL);class a{var $c;function a(){$this->c = 10;}}class b extends a{function print_a(){echo $this->c;}}$b = new b;$b->print_a();?>
![Page 149: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/149.jpg)
JuanMartínez López 149
Ejercicio
Cree una clase llamada computadora esta tendra una variable llamada labtop
A la clase computadora le sacara una clases llamada estatu
En la clase statu tendra una variable llamda labtop y una funcion llamada estatu donde tu imprime que la labtop esta reparada.
Imprime el letrero “su computadora labtop dell inspiron esta reparada.
![Page 150: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/150.jpg)
JuanMartínez López 150
Las Cookies
Las Cookies son un mecanismo que sirve para almacenar datos en el navegador del usuario remoto, para así poder identificar al usuario cuando vuelva
Se pueden poner cookies usando la función setcookies().
Las Cookies son parte de la cabecera HTTP, por tanto la función setcookie() debe ser llamada antes de que se produzca cualquier salida al navegador
![Page 151: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/151.jpg)
JuanMartínez López 151
sintaxis setcookie(nombre,valor,expiracion,ruta,dominio,segura)Ejemplo<setcookie(“message”, “sin problema.”);?><html><head><title> genera una cookie</title><body> <h1>generar una cookie </h1> se ha generado una cooke! Mire en <A HREF=“cook.php”>cook.php</a> ahora</center></body></html>
![Page 152: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/152.jpg)
JuanMartínez López 152
Parametro de una cookie
Nombre el nombre de una cookie Valor – valor de la cookie. Este valor se
almacenara en el ordenador de cliente. (no es prudente almacenar informacion importante.
Expiracion- el tiempo en que expirara una cookie.(el tiempo se expresa en segundo)
Ruta – la ruta en el servidor donde estara disponible la cookie
![Page 153: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/153.jpg)
JuanMartínez López 153
Dominio- el dominio para el que la cookie es valida.
Segura – indica que la cookie se trasmitira a traves de una conexion segura HTTPS. Cuando tiene el valor 1, la cookie solo se enviara en que caso de que exista una conexion de esa caracteristicas. El valor por defecto es cero.(0).
![Page 154: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/154.jpg)
JuanMartínez López 154
Leer una Cookies
Despue de general una cookies podemos acceder a ella en un momento posterior acudiendo a la matriz $_COOKIES
SINTAXIS
$_COOKIE [“message”].
![Page 155: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/155.jpg)
JuanMartínez López 155
ejemploLa cookie dice:
<?php
if (isset($_COOKIE[“message”])){
echo $_COOKIE[“message”];
}
?>
![Page 156: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/156.jpg)
JuanMartínez López 156
Los nombres de las cookie
Tambien se pueden declarar como nombre de matrices y estaran disponible como matrices en nuestro scripts de php.
Por ejemplo.
setcookie(“cookie[uno]”, “Sin”);
setcookie(“cookie[dos]”, “Problemas”);
setcookie(“cookie[tres]”, “hoy.”);
![Page 157: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/157.jpg)
JuanMartínez López 157
Continuacion
Ahora que se genero esta cookies, las leeremos la proximas vez que el navegador nos envien los datos de esta forma:
If (isset($_COOKIE[“cookie”])){Foreach($_COOKIE[“cookie”] as value) { echo “$value <br>”; }}
![Page 158: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/158.jpg)
JuanMartínez López 158
Periodo de expiracion de las cookie
Este parametro es usado para determinar que tiempo existira una cookie en el ordenador de un usuario.
La hora almacenada en este parametro esta en formato de UNIX en segundo.
Ejemplo <?php setcookie(“micookie”, $value, time()+3600); ?>
![Page 159: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/159.jpg)
JuanMartínez López 159
Ejemplo <?php setcookie(“message”, “no tendra problema en 10 dias.”, time()
+60*60*24*10); ?><html><head><title>configura una cookie</title></head><body><h1>una cookie</h1> ! La cookie expirara en 10 dias, miren <A HREF=“cook.php”>cook.php</a>Ahora</body></html>
![Page 160: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/160.jpg)
JuanMartínez López 160
Eliminar una cookie
Para eliminar una cookie solo basta con establecer su valor a “ ” y llamar a setcookie con los mismos parametros que genero dicha cookies.
Sintaxis
<?php
setcookie (“message”, “ “);
?>
Es recomendado asegurarnos de que la fecha de expiracion se ha cumplido
![Page 161: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/161.jpg)
JuanMartínez López 161
Ejemplo <?php setcookie(“message”,” “,time() – 3600);?><html><head><title>eliminar cookie</title></head><body> <center> <h1>eliminar una cookie</h1> la cookie se ha eliminado. Mire en <a href=“cook.php”>cook.php</a></center></body></html>
Cuando Carguemos la pagina de nuevo, el script cook.php ya no sera capaz de encontrar la cookie
![Page 162: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/162.jpg)
JuanMartínez López 162
Trabajando con sesiones
Las sesiones se diseñaron para almacenar datos en el servidor. Cada usuario recibe una cookie con su identificador de sesion, lo que siginifica que PHP sera capaz de reenviar todos los datos correspondientes a la sesion de cada usuario automaticamente, incluso a traves de multiples acceso a pagina.
![Page 163: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/163.jpg)
JuanMartínez López 163
Session_start()
Esta claupsula da inicio a la creacion de una sesion,
Sintaxis
session_start(); Para almacenar datos dentro de una sesion
se utiliza la matriz global de $_session Sintaxis
$_SESSION[“NOMBRE”] = “VALOR”
![Page 164: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/164.jpg)
JuanMartínez López 164
EJEMPLO
session_start(); $_SESSION[“color”] = “verde”;A partir de este momento, cualquier otro
acceso a pagina (ya sea la misma u otra pagina distinta), podremos acceder a los datos bajo la clave “color”, si accedemos a $_SESSION de nuevo.
session_start();$color = $_SESSION[“color”];
![Page 165: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/165.jpg)
JuanMartínez López 165
Php.ini
El comportamiento de una sesion esta determinado por la configuracion que se detalla en este archivo de configuracion
session,save_path “*/tmp” Session.name “PHPSESSID” Session. Save_handler “file” Session. Auto_start “0” Session.cache_expire “180” Entre otros
![Page 166: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/166.jpg)
JuanMartínez López 166
Alamacenando datos en sesiones Ejemplo<html><body><?php session_start(); $_SESSION[“temperatura”] = “30”;?>Se almaceno la temperatura con el valor de 30 grado<br>Para leer la temperatura en una nueva pagina<a href =“leersesion.php”>Haga clic aqui</a></body></html>
![Page 167: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/167.jpg)
JuanMartínez López 167
Leer datos de una sesion
<?php
session_star();
if(isset($_SESSION[“temperatura”])){
echo “Bienvenido su temperatura es”,
$_SESSION[“temperatura”];
?>
Leersession.php
![Page 168: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/168.jpg)
JuanMartínez López 168
Creando un contador de visita Primer intento!<html><body>Bienvenido , Ha estado aqui <?php $count++; echo $count;?>Veces anteriormente.</body></html>
![Page 169: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/169.jpg)
JuanMartínez López 169
Contador de visita corregido Bienvenido. Ha estado aqui<?php session_start(); if(isset($_SESSIOn[“contador’])){ $_SESSION[“contador”] = 0;}else { $_SESSION[contador]++;}Echo $_SESSION[“contador”];?>Veces anteriormente.
![Page 170: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/170.jpg)
JuanMartínez López 170
Uso de sesiones sin cookie
Para poder guardar datos en una sesion sin cookie lo haremos utilizando la funcion session_id en una variable oculta llamada PHPESSID.
EJEMPLO
![Page 171: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/171.jpg)
JuanMartínez López 171
<?PHP session_start(); $_SESSION[“temperatura”]=“30”;?>Se guardo la temperatura<br>Para leer la temperatura en una pagina haga click en enviar.<br><FORM ACTION =“session4.php” METHOD=“POST”><INPUT TYPE =“HIDDEN” NAME =“PHPSESSID” VALUE=“<?PHP echo session_id();?>“>< INPUT TYPE =“SUBMIT” VALUE=“Enviar”></form></body>
![Page 172: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/172.jpg)
JuanMartínez López 172
Simple PHP Template ClassThe purpose of this tutorial is to show you how to implement a simple
class to handle page templates. It can be extended in any way you wish.
The Class (template.class.php)<?
class Template { public $template; function load($filepath) { $this->template = file_get_contents($filepath); } function replace($var, $content) { $this->template = str_replace("#$var#", $content, $this->template); } function publish() { eval("?>".$this->template."<?"); }}?>
![Page 173: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/173.jpg)
JuanMartínez López 173
The Template File (design.html)
This file will contain the design of your web site and the blank fields that will be merged with content data.
<html><head><title>#title#</title></head><body><h3>Hello #name#!</h3><p>The time is: #datetime#</p><? echo "<p>Embedded PHP works too!</p>"; ?></body></html>
![Page 174: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/174.jpg)
JuanMartínez López 174
Usage (index.php) Now we will create a script that load the template and
use the class to merge the data. <?
include "template.class.php"; $template = new Template;
$template->load("design.html");$template->replace("title", "My Template Class");$template->replace("name", "William");$template->replace("datetime", date("m/d/y"));$template->publish();?>
![Page 175: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/175.jpg)
JuanMartínez López 175
When you run the above script, index.php, it will output the following:
<html><head><title>My Template Class</title></head><body><h3>Hello William!</h3><p>The time is: 03/10/04</p><p>Embedded PHP works too!</p></body></html>
This code, as you can see, is very simple. It supports embedding PHP into the original template file (design.html). You could easily extend it to pull data from a database such as MySQL
![Page 176: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/176.jpg)
JuanMartínez López 176
Manipulando correo con php
PHP posee las herramientas necesarias para poder enviar correo electronico.
Para poder enviar un correo electronico debemos de configurar el archivo php.ini.
Nombre
Predeterminado Modificable
SMTP "localhost" PHP_INI_ALL
smtp_port "25" PHP_INI_ALL
sendmail_from NULL PHP_INI_ALL
sendmail_path DEFAULT_SENDMAIL_PATH PHP_INI_SYSTEM
![Page 177: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/177.jpg)
JuanMartínez López 177
Tabla completaNombre Default Descripción editable
SMTP "localhost"
Windows only: The DNS name or IP address of the SMTP server
PHP_INI_ALL
smtp_port "25" Windows only: The SMTP port number. Available since PHP 4.3
PHP_INI_ALL
sendmail_from
NULL Windows only: Specifies the "from" address to be used in email sent from PHP
PHP_INI_ALL
sendmail_path
NULL Unix systems only: Specifies where the sendmail program can be found (usually /usr/sbin/sendmail or /usr/lib/sendmail)
PHP_INI_SYSTEM
![Page 178: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/178.jpg)
JuanMartínez López 178
La función Mail
Esta funcion es utilizada para enviar correo electronico desde un script.
Sintaxis.
mail ( string para, string asunto, string mensaje [, string cabeceras_adicionales [, string parametros_adicionales]]).
![Page 179: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/179.jpg)
JuanMartínez López 179
ejemplo
<?php
$to = “[email protected]";
$subject = “clase php";
$message = “Adelante Houston desde el itla.";
$from = “[email protected]";
$headers = "From: $from";
mail($to,$subject,$message,$headers);echo "Mail Sent.";
?>
![Page 180: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/180.jpg)
JuanMartínez López 180
Ejemplo 2. de mail()<html><head><title>Envio de E-mail</title></head><body> <center> <h1>envio de E-mail</h1> <br> <FORM METHOD=“POST” ACTION=“prumail.php”>Escriba el mesaje y presion enviar <br><TEXTAREA NAME=“mensaje” COLS=“50” ROWS=“6”></TEXTAREA><BR><BR><INPUT TYPE =“SUBMIT” VALUE =“Envar”></form></center><body><html>
![Page 181: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/181.jpg)
JuanMartínez López 181
Se envio un correo electronico
<br>
<?php
$resultado = mail(“[email protected]”, “correo electronico de la web”,
$_REQUEST[“mensaje”]);
?>
![Page 182: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/182.jpg)
JuanMartínez López 182
Creacion de un formulario de retro-alimentacion tu sitio
EJEMPLO
Como funciona.
1- determina si se ha llenado el correo
2- el le mostrara la pagina como si fuera la primera vez
3- si esta lleno envia un e-mail desde el formulario
4 Cuando presiona el boton enviar el recarga la agina para deerminar si se ha llenado el formulario si es asi envia un correo
![Page 183: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/183.jpg)
JuanMartínez López 183
Base de datos
Una de las opciones más útiles de
PHP es la posibilidad de gestionar
bases de datos en ordenadores
remotos. Existen multitud de programas de
servidores de bases de datos y
PHP dispone de funciones para el
manejo de muchos de ellos tales
como:
![Page 184: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/184.jpg)
JuanMartínez López 184
Bloque para establecer una conexion
<?php$mysql_server=“localhost”;$mysql_login=“root”;$mysql_pass=“”; $link = mysql_connect ($mysql_server, $mysql_login,
$mysql_pass) { or die ("Could not connect"); } print ("Connected successfully"); mysql_close ($link);
?>
![Page 185: Php basico y avanzado](https://reader036.vdocuments.pub/reader036/viewer/2022081512/55889bded8b42a17268b4744/html5/thumbnails/185.jpg)
JuanMartínez López 185
Creacion de una base de datos
<?php
$query = “CREATE DATABASE prueba”;
mysql_query($query);
?>