Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Por
Juan Martínez López
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
JuanMartínez López 2
CONTENIDO
CONCEPTO SOBRE
PHP.
Mi primer programa en
php.
Instalacion y
configuracion de wamp
Tag de PHP
Variables en PHP
JuanMartínez López 3
¿Qué es PHP?
JuanMartínez López 4
EJEMPLO
<html>
<head>
<title>Prueba </title>
</head>
<body>
<?php
echo “Bienvenido al curso de PHP básico!";
?>
</body>
</html>
JuanMartínez López 5
PODER DE PHP
Adabas Msql
DIngresOracle (OCI7 and SolidHyperwave
OCI8) Direct MS-SQL
dBase Sybase
InterBase IBM DB2
Ovrimos MySQL
Empress Velocis
FrontBase Informix
Postgre ODBC
SQL Unix dbm
FilePro (read-only)
JuanMartínez López 6
Versiones de PHP
PHP/FI
PHP/FI 2.0
PHP 3
PHP 4
PHP 5
JuanMartínez López 7
Requerimiento para Instalar
PHP
Servidor web (apache, IIS, otros)
Appserver
Foxserv
Wamp, map y lamp
Instalación
Localhost o 127.0.0.1
JuanMartínez López 8
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
JuanMartínez López 9
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>
JuanMartínez López 12
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>
JuanMartínez López 13
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
JuanMartínez López 14
Comparación
JuanMartínez López 15
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:
JuanMartínez López 16
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>
JuanMartínez López 17
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.
JuanMartínez López 18
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. ?>
JuanMartínez López 19
Lógicos
Los operadores lógicos son usados para evaluar varias
comparaciones, combinando los posibles valores de
estas
JuanMartínez López 20
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>
JuanMartínez López 21
Operadores de
Incremento/Decremento
PHP ofrece soporte de operadores de pre- y post-incremento y
decremento, estilo-C.
JuanMartínez López 22
EJEMPLO
JuanMartínez López 23
Condicionales
JuanMartínez López 24
sintaxis
<?php
if (condición)
{
Sentencias a ejecutar cuando la
condición es cierta.
}
else
{
Sentecias a ejecutar cuando la
condición es falsa.
}
?>
JuanMartínez López 25
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>
JuanMartínez López 26
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>
JuanMartínez López 27
Operadores de Lógica
JuanMartínez López 28
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.
JuanMartínez López 29
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:
JuanMartínez López 30
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";
}
?>
JuanMartínez López 31
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>
JuanMartínez López 32
La Sentencia Switch
podemos ejecutar unas u otras instrucciones
dependiendo del valor de una variable
JuanMartínez López 33
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>
JuanMartínez López 34
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>
JuanMartínez López 35
Sentencia while
repetir la ejecución de un conjunto de
instrucciones mientras se cumpla una
condición.
JuanMartínez López 36
Sintaxis de While
<?php
while (condición)
{
intrucciones a ejecutar.
}
?>
JuanMartínez López 37
Ejemplo 1 de while
<html>
<body>
<?php
$i=1;
while($i<=5) {
echo "The number is " . $i . "<br />";
$i++;
}
?>
</body>
</html>
JuanMartínez López 38
Ejemplo 1 de while
<html>
<body>
<?php
$i=10;
while($i>=1) {
echo "The number is " . $i . "<br />";
$i=$i - 1
}
?>
</body>
</html>
JuanMartínez López 39
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>
JuanMartínez López 40
Do.. while
JuanMartínez López 41
Ejemplo
<?php Crea un bucle de los numeros del
1 al 14.
$i = 1;
do {
<?php
Este ejemplo
echo $i; $i = 0; solo se
ejecutara una
$i++; do {
sola vez
print $i;
} while ($i< 15);
} while ($i>0);
?> ?>
JuanMartínez López 42
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++)
JuanMartínez López 43
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>
JuanMartínez López 44
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 ...)
JuanMartínez López 45
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")
);
JuanMartínez López 46
foreach
JuanMartínez López 47
Sintaxis de foreach
foreach(expresion_array as $value)
sentencia
JuanMartínez López 49
DEFINE
Define una constante con nombre, que es similar a una variable.
Descripción
int define ( string name, mixed value [, int case_insensitive])
.
EJEMPLO
<?php
define("CONSTANT", "HOLA php.");
echo CONSTANT; // outputs "HOLA PHP.“
?>
JuanMartínez López 50
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
JuanMartínez López 51
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.
JuanMartínez López 52
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=juan5654@gmail.com
Split(@,email)
JuanMartínez López 53
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.
JuanMartínez López 54
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>
JuanMartínez López 55
Ejemplos de matrices
<?php
$carro [0] = “cepillo”;
$carro [1] = “BMW”;
$carro [2]= “Toyota”;
for ($index = 0; $index <count($carro); $index++) {
Echo $carro[$index],”<br>”;
}
?>
JuanMartínez López 56
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
JuanMartínez López 57
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
JuanMartínez López 58
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
JuanMartínez López 59
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
JuanMartínez López 60
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()
JuanMartínez López 61
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
JuanMartínez López 62
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
JuanMartínez López 63
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
JuanMartínez López 64
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
JuanMartínez López 65
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.
JuanMartínez López 66
Otro ejemplo de matrices
<?php
$carro = array (“Toyota”, “suzuky”,”volvo”);
print_r($carro);
sort($carro);
echo “<hr>”;
print _r($carro);
?>
JuanMartínez López 67
<?php
$fruta[0] = "pina";
$fruta[1] = "manzana";
$fruta[2] = "coco";
$fruta[3] = "mango";
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;
?>
JuanMartínez López 68
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
JuanMartínez López 69
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)
JuanMartínez López 70
La funcion end lleva el puntero al final de la
matriz
end(variable)
reset va al inicio de la matriz.
reset(variable)
JuanMartínez López 71
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
JuanMartínez López 72
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.
JuanMartínez López 73
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.
JuanMartínez López 74
SINTAXIS
<?php
function Hiperlink () {
JuanMartínez López 75
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
JuanMartínez López 76
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.
JuanMartínez López 77
El código que puedes incluir
EJEMPLO en una función es cualquier
código php válido
<?php
function TradicionalHolaMundo (){
echo "hola mundo";
}
JuanMartínez López 78
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:
JuanMartínez López 79
<?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 ?"
<?php
function TradicionalHolaMundo ($msg = "Hola como
estás") { ...}
JuanMartínez López 82
Return
JuanMartínez López 83
Como ya está bien de
TradicionalHolaMundo() vamos a ver una
ejemplo función sencilla pero algo mas útil: la
función hiperlink() que buscará urls dentro
de una cadena de texto, convirtiendolas en
enlaces
<?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;
}
JuanMartínez López 84
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.
JuanMartínez López 85
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>
?>
JuanMartínez López 86
¿ Desventajas ?
JuanMartínez López 87
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.
JuanMartínez López 88
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.
JuanMartínez López 89
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>
JuanMartínez López 90
Elementos de un formularios
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.
JuanMartínez López 91
El method GET y el POST
GET Muestra las informaciones que estan
siendo enviada por un formulario en la barra
de direccion.
JuanMartínez López 92
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>
JuanMartínez López 93
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> JuanMartínez López 94
JuanMartínez López 95
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>
JuanMartínez López 96
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>";
?>
JuanMartínez López 97
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
JuanMartínez López 98
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
} JuanMartínez López 99
?>
Funciones
Empecemos con el ejemplo más difícil y el causante de que tuviera que
programar
estas funciones.
<SELECT>
Crear elementos de selección <select></select>
Con php es muy habitual trabajar con arrays, ya sea con datos que nos
proporcione una
consulta SQL o simples valores.
Veamos un ejemplo en el que queremos mostrar un <select> para que el
usuario
seleccione 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/>
JuanMartínez López 100
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 mostrar
http://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, como
por ejemplo $extra_tag=” class=cssazul ” o $extra_tag=”
onChange=alert()”
<?PHP
$clave = $_REQUEST[‘clave’];
print ($clave);
?>
formulario
<INPUT TYPE=”HIDDEN” NAME=”MAX_FILE_SIZE” VALUE='102400'>
<INPUT TYPE=”FILE” NAME="archivo">
JuanMartínez López 115
Subida de archivos al servidor
<INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="102400">
<INPUT TYPE="FILE" SIZE="44" NAME="imagen">
ejemplo
Creamos la clases
class carro llamada carro
{
var $name;
Function set_name($text)
{ Funciones dentro de
$this->name = $text; una clase son los
} métodos
Function get_name()
{
return $this->name; Name es la variable interna
} llamada en POO propiedad
}
$honda = new carro;
New crea objeto de esta clase
$honda->set_name(“accord”);
Echo “el modelo de su nuevo carro es”,$honda->get_name(), “.”;
?>
function set_name($text)
{
$this->name = strtoupper($text);
}
}
echo " Creando su nuevo felino...<br>";
$leon = new leon;
$leon->set_name ("kiko ");
$leon->rugir();
?>
JuanMartínez López 146
Ejercicio
Que imprime este script
<?php
class a
{
var $c=5;
function a ($pass)
{
$this->c = $pass;
}
function print_data()
{
echo $this->$c;
}
}
$a = new a(10);
$a->print_data();
?>
JuanMartínez López 147
Que imprime este programa
<?php
error_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();
?>
JuanMartínez López 148
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.
JuanMartínez López 149
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
JuanMartínez López 150
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>
setcookie(“cookie[uno]”, “Sin”);
setcookie(“cookie[dos]”, “Problemas”);
setcookie(“cookie[tres]”, “hoy.”);
<?php
setcookie (“message”, “ “);
?>
JuanMartínez López 160
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 Cuando Carguemos la
pagina de nuevo, el script
<a href=“cook.php”>cook.php</a> cook.php ya no sera capaz
</center> de encontrar la cookie
</body>
</html>
Leersession.php
JuanMartínez López 167
Creando un contador de visita
Primer intento!
<html>
<body>
Bienvenido , Ha estado aqui
<?php
$count++;
echo $count;
?>
Veces anteriormente.
</body>
</html>
JuanMartínez López 168
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.
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>
JuanMartínez López 173
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();
?>
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
JuanMartínez López 182
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
mysql_query($query);
?>