Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PHP es un lenguaje de alto nivel que se ejecuta en el servidor; donde estn alojadas las
pginas, al contrario de otros lenguajes que son ejecutados en el navegador.
Php es un lenguaje que se presenta embebido dentro de las pginas web. Esto quiere
decir que el cdigo se incrusta en el mismo documento en el que aparecen las etiquetas
HTML. Al ejecutarse un programa escrito en este lenguaje, se obtiene una pgina
HTML compuesta por una parte de las etiquetas originales y por otra generadas
dinmicamente por el cdigo PHP.
La principal ventaja de php, es que al ejecutarse en el servidor, todas nuestras pginas
van a poder ser vistas en cualquier ordenador, independientemente del ordenador que se
tenga. A diferencia del cdigo que se ejecuta en el navegador, que muchos navegadores
no son capaces de entender todo el cdigo, lo que presentara errores al mostrar el
resultado de las pginas.
Otra ventaja que presenta PHP, es que es un lenguaje de programacin gratuito y, por
tanto, todo el mundo puede utilizarlo sin ningn costo, frente a otros lenguajes cuyo
software es necesario comprar para su utilizacin.
Cdigo de fuente abierto: toda persona puede mejorar o hacer sugerencias de su
desarrollo
Portable y multiplataforma: el lenguaje PHP pude ser ejecutado en cualquier plataforma
sin necesidad de modificar una lnea de cdigo
Permite realizar rpidamente sitios web dinmicos; alta velocidad de desarrollo
PHP se contruy para ser utilizado conjuntamente con la base de datos MySQL, pero
actualmente soporta la mayora de bases de datos (Oracle, Informix, ODBC, SQl Server,
etc.).
SOLICITUD
SERVIDOR
WWW
1
2
4
RESPUESTA
DOCUMENTO
ESTTICO
(HTML,JPG)
SERVIDOR
WWW
SOLICITUD
1
4
RESPUESTA
PHP
DOCUENTO
ESTTICO
(HTML,JPG)
Delimitadores
PHP esta muy relacionado con el lenguaje de hipertexto HTML; tanto as que el cdigo
PHP aparece normalmente insertado dentro de un documento HTML
Las etiquetas de comienzo y final del cdigo PHP son:
a) <?php
instrucciones
>
b) <?
instrucciones
>
c) <%
instrucciones
%>
d) <script lenguaje=php>
instrucciones
</script>
Comentarios
// (C,C++,Java, JavaScript), #(Perl, Shell) comentarios de una sola lnea
/* comentarios */ comentarios de varias lneas
Fin de lnea
Php ignora cualquier carcter de espaciado presente en el cdigo (espacios en blanco,
tabulaciones, saltos de lneas, excepto si se encuentra en una cadena de texto).
El fin de sentencia se marca ; o bien aprovechando la etiqueta de cierre ?>
Variables
Es el nombre que se le da a una posicin de memoria del ordenador en la cual se
almacena la informacin, en php no es necesario declarar las variables antes de su
utilizacin; se crean al instante, no tienen asociado el tipo de dato, puede almacenar
diferentes tipos de datos
$_sueldo, $sueldo2012
Constantes
Las constantes son contenedores de php que nunca cambian su valor, se utilizan para
valores bien conocidos y que se sabe que se van a utilizar.
En php las constantes se definen con la funcin define(), la cual acepta dos argumentos:
el nombre de la constante y su valor. Los nombres de constantes deben seguir las
mismas reglas que las variables, con una sola excepcin el prefijo $ no se requiere.
Sintaxis
define(nombreconstante,valor);
Ejemplo:
define(texto,bienvenido);
define(pi,3.1416);
define(precio,20);
EXPRESIONES Y OPERADORES
Operadores aritmticos
+
suma
resta
*
producto
/
divisin
%
resto
++
incremento (si se coloca antes de la variable es un preincremento,
despus de la variable postincremento)
-decremento(si se coloca antes de la variable es un predecremento,
despus de la variable postdecremento)
Operadores de cadena
. concatenacin
Operadores de asignacin
=
$a=$a+5
$a=$a-5
$a=$a*5
$a=$a/5
$a=$a%5
$a=8
$a=-2
$a=15
$a=0.6
$a=0
2. si se tiene $a=hola
$a.=mundo
$a=$a . mundo
$a=hola mundo
Operadores de comparacin
==
$a= =$b
===
$a= = = $b
!=
$a != $b
!= =
$a != = $b
<
>
<=
>=
$a < $b
$a >$b
$a <= $b
$a >= $b
True si $a es menor $b
True si $a es mayor $b
True si $a es menor o igual $b
True si $a es mayor o igual $b
Operadores Lgicos
and &&
or
||
$a and $b
$a && $b
True si lo son $a y $b
$a or $b
$a || $b
True si lo son $a o $b
xor
$a xor $b
!$a
DOBLE
<?php
if (condicin)
{
Sentencias a ejecutar cuando la
condicin es cierta.
}
else
{
Sentecias a ejecutar cuando la
condicin es falsa.
}
?>
EJEMPLO:
<html>
<head>
<title>uso de la sentencia if</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>
MULTIPLE SELECCIN
IF / ELSEIF
Esta estructura evala una condicin y en caso de que se cumpla realiza las sentencias
dentro de su ciclo y se sale de la estructura; de no cumplirse la primera condicin pasar
a evaluar la segunda y as sucesivamente
<?php
if (condicion)
{
Sentencias a ejecutar cuando la
condicin es cierta.
}
elseif (condicion1)
{
Sentencias a ejecutar cuando la
condicin es cierta.
}
elseif (condicion2)
{
Sentencias a ejecutar cuando la
condicin es cierta.
}
else
{
Sentencias a ejecutar cuando la
condicin es cierta.
}
?>
// Bloque 1
sentencias
break;
case "texto2":
// Bloque 2
sentencias
break;
default:
// Bloque 3
sentencias
break;
Mientras la condicin sea cierta se reiterar la ejecucin de las instrucciones que estn
dentro del while.
En el siguiente ejemplo, el valor de $i al comienzo es 0, durante la ejecucin del bucle,
se va sumando 1 al valor de $i de manera que cuando $i vale 10 ya no se cumple la
condicin y se termina la ejecucin del bucle.
<html>
<head>
<title>uso de la sentencia while</title>
</head>
<body>
<?php
$i=0;
while ($i<10)
{
echo "El valor de i es ", $i,"<br>";
$i++;
}
?>
</body>
</html>
Sentencia for
La instruccin for es la instruccin de bucles ms completa. En una sola instruccin nos
permite controlar todo el funcionamiento del bucle.
El primer parmetro del for, es ejecutado la primera vez y sirve para inicializar la
variable del bucle, el segundo parmetro indica la condicin que se debe cumplir para
que el bucle siga ejecutndose y el tercer parmetro es una instruccin que se ejecuta al
final de cada iteracin y sirve para modificar el valor de la variable de iteracin.
<?php
for (inicial ; condicin ; ejecutar en iteracin)
{
intrucciones a ejecutar.
}
?>
}
?>
</body>
</html>
Salida (echo)
echo mensajes muestra una o ms cadenas
printf muestra una cadena
Hasta ahora hemos usado la instruccin echo para realizar salida a pantalla, esta
instruccin es bastante limitada ya que no nos permite formatear la salida. La
instruccin printf nos da mucha ms potencia.
Sentencia printf
<?php
printf(cadena formato, variable1, variable2...);
?>
La cadena de formateo indica cmo se han de representar las valores que se le indiquen.
La principal ventaja es que adems de poder formatear los valores de salida, nos permite
intercalar texto entre ellos.
<html>
<head>
<title>uso de printf</title>
</head>
<body>
<?php
printf("El numero dos con diferentes formatos: %d %f %.2f",2,2,2);
?>
</body>
</html>
La cadena de formato puede incluir una seria de caracteres especiales que indican como
formatear las variables que se incluyen en la instruccin. Entre ellos tenemos:
Elemento
Tipo de variable
%s
Cadena de carcteres.
%d
%f
%c
Carcter ASCII.
<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
<?php
$var="texto";
$num=3;
printf("Puede fcimente intercalar <b>%s</b> con nmeros <b>%d</b>
<br>",$var,$num);
printf("<TABLE BORDER=1 CELLPADDING=20>");
for ($i=0;$i<10;$i++)
{
printf("<tr><td>%10.d</td></tr>",$i);
}
printf("</table>");
?>
</body>
</html>
FORMULARIOS
Los formularios es la herramienta que disponemos a la hora de hacer nuestras pginas
web interactivas, en el sentido de que nos permiten recopilar informacin de la persona
que ve la pgina, procesarla y responder a ella,.
Los formularios estn formados por una serie de controles distintos, cada uno de los
cuales est asociado a un tipo concreto de datos o una accin predeterminada: botones
de envo y borrado de datos, listas de seleccin, cajas de entrada de texto, entre otros.
Etiquetas <FORM>...</FORM>
Estas etiquetas son las que delimitan el comienzo y el final de un formulario. Si
queremos mostrar en una pgina un elemento aislado de un formulario, cualquier
elemento que se desee colocar dentro de una pgina debe estar delimitado por estas
etiquetas para que sea interpretado.
La pareja de etiquetas se introduce en el cdigo HTML dentro del BODY de la pgina,
en el lugar en que queramos que nos aparezcan los elementos del formulario.
Principales Atributos o Parmetros de <FORM>
action = "ruta_programa". Indica el programa del servidor que va a "tratar" las
variables que se enven con el formulario o el envo de los datos mediante correo
electrnico mediante el valor "mailto: direccion_de_correo", en cuyo caso deberemos
aadir el parmetro ENCTYPE="text/plain" para que lo que recibamos resulte legible.
En el caso de que definamos aqu un programa para el tratamiento de datos deberemos
especificar su ruta relativa respecto al directorio de carpetas del servidor en dnde
tengamos situado nuestra aplicacin web o bien una URL completa, si el programa est
en otra direccin de Internet.
method = " POST / GET " . Indica el mtodo segn el que se van a transferir las
variables del formulario. POST enva los datos, normalmente al programa CGI definido
en action o por correo si en action hemos utilizado mailto. El mtodo GET aade los
argumentos del formulario al URL recogido en.
El mtodo de uso ms normal es POST, y en el caso de que estemos mandando el
formulario a nuestra direccin de correo electrnico es obligado usarlo.
Con GET los datos son encadenados al URL especificado en action , utilizando el tipo
de codificacin especificado en el atributo enctype. Este mtodo se utiliza cuando los
datos no modifican la base de datos, por ejemplo, al realizar una bsqueda, y los
caracteres a enviar tienen que pertenecer obligatoriamente al conjunto ASCII.
Con el mtodo POST se realiza una transaccin mediante el protocolo HTTP, utilizando
la codificacin enctype. Se utiliza para aplicaciones que modifican la base de datos de
destino.
enctype =" tipo ". Indica al explorador web el mtodo de cifrado utilizado para pasar
los datos del formulario a la secuencia de comandos CGI en el servidor. Normalmente,
el valor del atributo encitype se define como "application/x-www-form-urlencoded".
accept =" tipo MIME ", que indica al servidor qu tipos de archivo MIME se van a
aceptar en el envo. Normalmente no se usa, pero si nos es necesario el administrador de
nuestro servidor web nos puede indicar cuales son aceptados.
accept-charset = "charset ", que especifica la lista de caracteres permitidos que deben
ser interpretados correctamente por el servidor receptor. Por ejemplo, si el servidor
admite como caracteres permitidos cdigo HTML, en valor de charset ser "text/html".
target= " nombre ".. Este atributo indica en qu ventana de una pgina con frames se
debe mostrar el resultado del proceso de datos mediante el programa CGI.
title= texto que mostrar el explorador al colocar el puntero del mouse sobre una zona
de la pgina
id= se utiliza para asignarle un nombre nico por el cual se puede hacer referencia al
formulario en una secuencia de comandos.
name= coloca un texto para hacer referencia a un formulario por su nombre
ELEMENTOS DE UN FORMULARIO
Cuadro de textos (text)
Atributos:
type= text, permite definir qu tipo de elemento se va a crear
name= nombre se utiliza para identificar el campo de entrada, el valor que se ingresa
en el cuadro de texto se enva al servidor dentro del nombre del atributo name.
size=valor, ancho de caracteres del cuadro de texto
value=valor texto que aparecer asignado cuando se dibuje el formulario
maxlength=valor, nmero mximo de caracteres que el visitante puede escribir en el
campo de texto de entrada.
Id=valor, se utiliza para asignarle un nombre nico por el cual se puede hacer
referencia al campo de entrada en una secuencia de comandos
Atributos
id=valor, se utiliza para asignarle un nombre nico por el cual se puede hacer
referencia al campo de entrada en una secuencia de comandos
name=nombre se utiliza para identificar el campo de entrada,.
value=valor valor que se llevara el nombre del botn de opcin
checked
Atributos <select>:
size=valor, nmero de elementos del men de opciones que aparecer en pantalla al
mismo tiempo
id=valor, se utiliza para asignarle un nombre nico a la lista desplegable, por el cual
se puede hacer referencia al campo de entrada en una secuencia de comandos
name=nombre, se utiliza para identificar un elemento de la lista desplegable en el
formulario.
Multiple, al estar este atributo presente en la etiqueta select , el explorador web
permitir al visitante seleccinar ms de un elemento a la vez
Atributos <option>
value=valor, cadena de texto que se pasa al servidor web como la parte de la pareja
nombre/valor
selected, al incluir este atributo en la etiqueta option, indica al explorador web que
seleccione el elemento al dibujar la lista.
Boton
Permiten al usuario ejecutar una accin de envi de datos, la etiqueta para generarlo es
<input>
type=submit, incorpora al formulario un botn de envo de datos. Cuando el usuario
pulsa este botn los datos que ha introducido en los diferentes campos del formulario
son enviados al programa del servidor o a la direccin de correo indicada en action. Sus
atributos son:
name=nombre, permite asociar un nombre con el botn
value=" valor ", que define el texto que va a aparecer en el botn de envo.
disabled, desactiva el botn, de tal forma que no se produce ninguna accin cuando se
pulsa, pues permanece inactivo.
tabindex = " n ", que especifica el orden de tabulador que tendr el campo respecto
todos los elementos que incluye el formulario.
Otro botn que tambin permite enviar datos del formulario es el de image
type=image
src=archivo de imagen.jpg //imagen del botn de enviar
Boton
Permiten al usuario ejecutar una accin de borrar los datos que se han ingresado en el
formulario, la etiqueta para generarlo es <input>
type=reset, define un botn que al ser pulsado por el usuario borra todos los datos
que hubiera introducido en cualquiera de los campos del formulario. Sus atributos son
los mismos que los de submit.
Etiquetas <LABEL>...</LABEL>
Hasta hora, el texto que acompaaba a los campos de entrada no estaba asociado a los
mismos de ninguna manera. As, por ejemplo, si pulsbamos en el texto que
acompaaba a un control de confirmacin, no suceda nada. Ahora, en cambio, si
utilizamos la etiqueta LABEL, el control cambiar de estado
Para asociar la etiqueta a un elemento del formulario, dentro de las etiquetas
<label>...</label>, colocamos el elemento
Ejemplo
<label>
<input type="text" name="nombre">
</label>
Etiquetas <FIELDSET>...</FIELDSET>
Hasta ahora, no disponamos de ninguna manera de agrupar visualmente varios
controles, si no echbamos mano de elementos que no son del formulario, como tablas o
imgenes.
Ahora, si encerramos una parte de un formulario dentro de la etiqueta FIELDSET se
mostrar un rectngulo alrededor de los mismos.
Adems, podemos indicar un ttulo por medio de la etiqueta <LEGEND>, que admite el
atributo align="left / center / right / top /bottom", lo que nos permite alinear el ttulo
horizontal y verticalmente..
PROCESANDO FORMULARIO
Envo y recepcin de datos
El lenguaje PHP nos proporciona una manera sencilla de manejar formularios,
permitindonos de esta manera procesar la informacin que el usuario ha introducido.
Al disear un formulario debemos indicar la pgina PHP que procesar el formulario,
as como en mtodo por el que se le pasar la informacin a la pgina.
<html>
<head>
<title>formulario</title>
</head>
<body>
<H1> proceso de formularios</H1>
Introduzca su nombre:
<FORM ACTION="procesa.phtml" METHOD="GET">
<INPUT TYPE="text" NAME="nombre"><BR>
<INPUT TYPE="submit" VALUE="Enviar">
</FORM>
</body>
</html>
procesa2.phtml
<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
El resultado final es el mismo, solo que con el mtodo GET podemos ver los parmetros
pasados ya que estn codificados en la URL.
Arrays en php
Un array en PHP es en realidad un mapa ordenado. Un mapa es un tipo de datos que
asocia valores con claves. Este tipo se optimiza para varios usos diferentes; se puede
emplear como un array, lista (vector), tabla asociativa (tabla hash - una implementacin
de un mapa), diccionario, coleccin, pila, cola, entre otros.
Tipos de Arreglos:
Unidimensional
Bidimensional
Multidimensional
Aparte de los tipos de arreglos tradicionales, en php se utiliza otra divisin de los
arreglos, Indexado y Asociativos.
Vectores (Arrays De Una Dimensin)
Los vectores son los arrays que slo contienen una dimensin (un ndice).
Para declarar un vector en php, se pude realizar de diferentes formas
<?php
$mes[0] = "enero";
$mes[1] = "febrero";
$mes [2] = "marzo";
$mes [3] = "abril";
?>
<?php
$mes[] = "enero";
$mes[] = "febrero";
$mes [] = "marzo";
$mes [] = "abril";
?>
En una matriz normalmente hablamos de filas y columnas y decimos que la matriz tiene
M filas y N columnas. As, cada elemento queda identificado por su fila i y su columna
j.
Tomando en cuenta
la matriz anterior, se
columnas. Para hacer referencia a un elemento, se llama al vector por su fila y columna,
ejemplo:
$valor [0] [0] = 1; $valor [0] [1] = 14; $valor [0] [2] = 8; $valor [0] [3] = 3;
$valor [1] [0] = 6; $valor [1] [1] = 19; $valor [1] [2] = 7; $valor [1] [3] = 2;
$valor [2] [0] = 3; $valor [2] [1] = 13; $valor [2] [2] = 4; $valor [2] [3] = 1;
Al igual que se denotan los vectores, se hace el mismo trabajo con las matrices.
Ejemplo:
<?php
$animal[0][0] = "Perro";
$animal[0][1] = "Gato";
$animal[1][0] = "Lombriz";
$animal[1][1] = "Burro";
$animal[2][0] = "Murcilago";
$animal[2][1] = "Cocodrilo";
?>
el
Recorridos Arrays
Funcin count($nombreArray);
Esta funcin cuenta el nmero de elementos de un array.
Estructura for
for($i=0;$i<count($nombreArray);$i++){
Procesos;
}
Estructura while
$i=0;
while($i<count($nombreVector){
Procesos;
}
$i=0;
do{
Procesos;
}while($i<count($nombreVector);
Estructura foreach( )
foreach($nombreVector,$valor){
echo $valor[indice];
}
Recorridos Array Asociativos
Funciones para trabajar con array asociativos
current
Recorridos Array indexados
pos
Recorridos Array indexados
reset
mueve el puntero al primer elemento de la tabla
end
mueve el puntero al ltimo elemento de la tabla
next
mueve el puntero al elemento siguiente
prev
mueve el puntero al elemento anterior
count
devuelve el nmero de elementos de una vector o tabla.
Funciones en Php
Una funcin es un conjunto de instrucciones que a lo largo del programa van a ser
ejecutadas varias veces. Es por ello, que este conjunto de instrucciones se agrupan en
una funcin. Las funciones pueden ser llamadas y ejecutadas desde cualquier punto del
programa.
Sintaxis
function nombreFuncion (parmetro1, parmetro2, , parmetroN) {
instruccin1
instruccin2
.
.
instruccinN
}
Para ejecutar la funcin
nombreFuncion(dato1, dato2, dato3, , datoN);
donde dato1, dato2, dato3, , datoN, son los datos que le pasamos a la funcin.
Una funcin puede necesitar de ningn, uno o varios parmetros para ejecutarse.
Ejemplo 1
<?php
//Declaracin de funcion
function mostrarContenido($texto) {
echo "<strong>$texto </strong>";
} //Fin de declaracin de funciones
//valor a pasar a la funcin
$mensaje= Curso de PIV;
// llamado de la funcin
mostrarContenido($mensaje);
?>
Ejemplo 2
<?php
function operaciones($n1, $n2, $tipoOperacion) {
$respuesta = 0;
if($tipoOperacion == "+") {
$ respuesta = $n1 + $n2;
}else if($tipoOperacion == "-") {
$ respuesta = $n1 - $n2;
}else if($tipoOperacion == "*") {
$ respuesta = $n1 * $n2;
}
return $respuesta; // Valor que devuelve la funcin
}
// Llamado de la funcin
$dato1=8;
$dato2=5;
$simbolo=*;
$r = operaciones($dato1, $dato2,"$simbolo);
echo $r . "<br>";
?>
Parmetros de una funcin
Existen dos formas de pasar parmetros a una funcin, por valor o por referencia.
Cuando pasamos una variable por valor a una funcin, esta nunca afectar el contenido
de la variable que paso el valor.
Mientras que si el paso de parmetros es por referencia, cualquier cambio que se
produzca en la funcin (con respecto a la variable declarada por referencia), afectar a
la variable que pas el valor.
Para indicar que la variable se pasa por referencia se antepone el smbolo & a el nombre
de la variable en la definicin de la funcin.
Tambin ocurre que hay funciones donde nos interesa pasar un valor por defecto, estos
valores deben ser constantes y estos se declaran a la derecha de cualquier parmetro sin
valor.
Ejemplo
<?php
function sumar($x,$y){
$x=$x+$y;
return $x;
}
Sa=3;
$b=5;
//caso de parmetro por valor
echo sumar($a,$b); mostrar 8;
echo $a; // mostrar 3
echo $b;// mostrar 5
//caso de parmetro por referencia
echo sumar(&$a,$b); mostrar 8;
Generalmente los script dentro de un programa tienen partes de cdigo que se repiten,
existen unas funciones que permiten llamar a los archivos donde se encuentran
almacenadas las funciones que se utilizarn dentro de un script php.
Estas funciones son:
include()
//incluye el fichero functions.php
include("functions.php");
Esta funcin nos permite incluir el archivo tantas veces como lo pidamos, sin importar
que est incluido con anterioridad o no, simplemente evala el archivo y lo incluye en
nuestro documento. En caso de que el archivo no exista, nos devolver un warning pero
el script continuar ejecutndose.
include_once():
//evala si functions.php est incluido, si no lo est lo incluye
include_once("functions.php");
La diferencia respecto a la funcin include() y tal y como muestra su nombre, evaluar
si el archivo ya ha sido incluido y si es as, no volver a incluirlo, es decir, se incluye
una nica vez. En el caso de error por no encontrar el archivo se comporta igual que
include().
require():
//incluye y obliga a que functions.php est incluido
require("functions.php");
Posee el mismo comportamiento que include(), la nica diferencia reside en el caso de
error, pues cuando usamos require(), si el archivo no existe lanza un error fatal que para
la ejecucin del script.
require_once():
//evala y obliga a estar incluido, si lo est, no hace nada
require_once("functions.php");
Al igual que ocurre entre include() y include_once(), el comportamiento de
require_once() es el mismo que el de require(), tan slo que el primero evala si el
archivo ya ha sido incluido y si es as, no vuelve a incluirlo de nuevo. El tratamiento del
error es igual al que realiza require().
FILTROS PARA VALIDACIN
filter_var($variable, TipoDeFiltro,$options);
TIPODEFILTRO
BANDERAS
FILTER_VALIDATE_INT
FILTER_FLAG_ALLOW_OCTAL
FILTER_FLAG_ALLOW_HEX
FILTER_VALIDATE_FLOAT
FILTER_VALIDATE_BOOLEAN
FILTER_FLAG_ALLOW_THOUSAND
FILTER_NULL_ON_FAILURE
DESCRIPCIN
Valida un valor como integer, opcionalmente
desde el rango especificado.
min_range: Especifica el mnimo entero
permitido.
max_range: Especifica el mximo entero
permitido
Valida si el valor it float un.
Devuelve TRUE para "1", "true", "on" y "yes".
Devuelve FALSE en caso contrario..
FILTER_VALIDATE_EMAIL
FILTER_VALIDATE_URL
FILTER_FLAG_PATH_REQUIRED
FILTER_FLAG_QUERY_REQUIRED
FILTER_VALIDATE_IP
FILTER_FLAG_IPV4
FILTER_FLAG_IPV6
FILTER_FLAG_NO_PRIV_RANGE
FILTER_FLAG_NO_RES_RANGE
Si FILTER_NULL_ON_FAILURE est
declarado, se devolver FALSE slo para
"0", "false", "off", "no", y "", y NULL para
cualquier valor no booleano.
Valida Una Direccin de Correo electrnico.
En general se valildan Direcciones de Correo
electrnico con la sintaxis de RFC 822, con
La Excepcin de no admitir el plegamiento
de comentarios y Espacios en blanco.
Valida si su valor es una URL (de acuerdo
con http://www.faqs.org/rfcs/rfc2396),
opcionalmente con componentes necesarios.
Se ha de tener cuidado ya que una URL
vlida podra no especificar el protocolo
HTTP http://, por lo que podran ser
necesarias validaciones posteriores para
determinar que la URL utiliza un protocolo
esperado, p.ej., ssh:// o mailto:. Ntese que
esta funcin slo buscar para ser validadas
URLs ASCII; los nombres de dominio
internacionales (que contienen no-ASCII
caracteres) fallarn en la validacin.
Valida si es valor es una direccin IP,
opcionalmente se puede indicar que sea slo
IPv4 o IPv6 o que no sea de rangos privados
o reservados.
FILTROS DE SANEAMIENTO
ID
FILTER_SANITIZE_EMAIL
Nombre
"email"
FILTER_SANITIZE_ENCODED
"encoded"
FILTER_SANITIZE_MAGIC_QUOTES
"magic_quotes"
FILTER_SANITIZE_NUMBER_FLOAT
"number_float"
FILTER_SANITIZE_NUMBER_INT
"number_int"
FILTER_SANITIZE_SPECIAL_CHARS
"special_chars"
FILTER_SANITIZE_FULL_SPECIAL_CH
"full_special_chars"
ARS
FILTER_SANITIZE_STRING
Banderas
"string"
FILTER_FLAG_STRIP_LOW
FILTER_FLAG_STRIP_HIGH
FILTER_FLAG_ENCODE_LOW
FILTER_FLAG_ENCODE_HIGH
FILTER_FLAG_ALLOW_FRACTION
FILTER_FLAG_ALLOW_THOUSAND
FILTER_FLAG_ALLOW_SCIENTIFIC
FILTER_FLAG_STRIP_LOW
FILTER_FLAG_STRIP_HIGH
FILTER_FLAG_ENCODE_HIGH
FILTER_FLAG_NO_ENCODE_QUOTES,
FILTER_FLAG_NO_ENCODE_QUOTES
FILTER_FLAG_STRIP_LOW
Descripcin
Elimina todos los caracteres menos
letras, dgitos
y !#$%&'*+-/=?^_`{|}~@.[].
String URL-encode, opcionalmente
elimina o codifica caracteres especiales.
Aplica addslashes().
Elimina todos los caracteres a
excepcin de los dgitos, +- y,
opcionalmente, .,eE.
Elimina todos los caracteres excepto
dgitos y los signos de suma y resta.
Escapa caracteres HTML '"<>& y
caracteres con valores ASCII
menores que 32, opcionalmente
elimina o codifica caracteres
especiales.
Equivalente a llamar a
htmlspecialchars()
con ENT_QUOTES establecido.
Las comillas de codificacin pueden
ser desactivadas mediante el
establecimiento de FILTER_FLAG_
NO_ENCODE_QUOTES.
Al igual que html specialchars(),
este filtro tiene en cuenta el default_charset y si
en una
secuencia de bytes se detecta
que contiene un carcter no vlido
en el conjunto de caracteres actual
entonces el string completo es
rechazado lo que resulta en un
string de longitud 0. Cuando se
utiliza este filtro como un filtro
predeterminado, vea la advertencia de abajo
sobre establecer las banderas predeterminadas
a0.
Elimina etiquetas, opcionalmente
elimina o codifica caracteres
ID
Nombre
FILTER_SANITIZE_STRIPPED
"stripped"
FILTER_SANITIZE_URL
"url"
FILTER_UNSAFE_RAW
"unsafe_raw"
Banderas
FILTER_FLAG_STRIP_HIGH
FILTER_FLAG_ENCODE_LOW
FILTER_FLAG_ENCODE_HIGH
FILTER_FLAG_ENCODE_AMP
Descripcin
especiales.
Alias del filtro "string".
Elimina todos los caracteres excepto
letras, dgitos y
$-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
FILTER_FLAG_STRIP_LOW
FILTER_FLAG_STRIP_HIGH
FILTER_FLAG_ENCODE_LOW
FILTER_FLAG_ENCODE_HIGH
FILTER_FLAG_ENCODE_AMP
Otra manera de Filtrar el dato que ingresa del formulario es creando funciones que
eviten los datos errados1)Validar Campo numrico
funcin empty()
Bool empty (mixed $var)
Determina si una variable es considerada vaca. Una variable se considera vaca si no
existe si su valor es igual a FALSE. empty() no genera una advertencia si la variable no
existe; de otro modo devuelve TRUE
Las siguientes expresiones son consideradas como vacas:
"" (una cadena vaca)
0 (0 como un integer)
0.0 (0 como un float)
"0" (0 como un string)
NULL
FALSE
array() (un array vaco)
$var; (una variable declarada, pero sin un valor)
funcin ctype_digit()
bool ctype_digit (string $text)
Verifica si todos los caracteres en la string entregada, text, son numricos.
Devuelve TRUE si cada caracter del texto es un dgito decimal, o FALSE de lo
contrario.
<?php
$dato_string = '42';
$integer
= 42;
ctype_digit($ato_string); // true
ctype_digit($integer);
// false (ASCII 42 es el caracter *)
?>
Nota:
Esta funcin espera un string para ser til, por ejemplo si pasamos un integer no puede
devolver el resultado esperado. Sin embargo, ntese tambin los formularios HTML
resultarn en strings numricos y no en integers. Ver tambin la seccin del
manual tipos.
Si se proporciona un integer entre -128 y 255 inclusive, se interpreta como el valor
ASCII de un simple carter (a los valores negativos se le aade 256 para permitir
caracteres en el rango ASCII Extendido). Cualquier otro entero se interpreta como una
cadena que contiene los dgitos decimales del entero.
Ejemplo: validar campo numerico
<?php
function valorEntero($dato){
if(empty($dato)){
return false; //campo vacio
}
else{
if(ctype_digit($valor)){
return false; //si es un numero
}
else{
return true; //error no es nmero
}
}
}
?>
2) Validar campo Alfabtico
<?php
function valorAlfabetico($dato){
$valores_alfabeticos=/ ^[A-Z ]{1,25}/i;
if(empty($dato)){
return false; //campo vacio
}
else{
if(preg_match($valores_alfabeticos ,$dato)){
return false; //Campo permitido
}
else{
return true; //error uno de los caracteres no pertenece a la expresin
permitida
}
}
}
?>
Funcion preg_match()
Realiza una comparacin con una expresin regular
Sintaxis
entero preg_match (exp_regular , cadena [, coincidencias[, flags [,
comienzo ]]])
Parmetros:
comparacin.
comparacin.
Hay varios caracteres que son delimitadores del patrn::
Ejemplo:
Pgina que recibe un dato y si no se cumple devuelve automticamente a la pgina de
donde fue enviado
FORMULARIO
<HTML>
<HEAD>
<TITLE>New Document</TITLE>
</HEAD>
<BODY>
<form method="POST" action="regresar.php">
<input type="text" name="valor"size="20">
<input type="submit" value="enviar">
</form>
</BODY>
</HTML>
ARCHIVO QUE REGRSA EL RESULTADO (regresar.php)
<HTML>
<HEAD>
<TITLE>New Document</TITLE>
</HEAD>
<BODY>
<?php
include('funciones1.php');
$error=array();
if(validarEntero($valor)){
$error[]='Campo no valido';
}
if(!$error){
header('Location:pruebaheader.htm');
exit;
}
echo "El valor ingresado es correcto";
?>
</BODY>
</HTML>
ARCHIVO DE FUNCIONES (funciones1.php)
$valor=$_POST['valor'];
function validarEntero($x){
if(filter_var($x,FILTER_VALIDATE_INT)===FALSE){
return false;
}else
{
return true;
}
}