Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PHP
Contenido 1. Introduccin 2. Fundamentos de PHP - Tipos bsicos y variables - Operadores - Estructuras de Control - Arrays - Fechas - Funciones - Clases 3. Variables predefinidas en PHP - Parmetros enviados en la peticin - Cookies - Sesiones 4. Conexin con bases de datos
Introduccin
Caractersticas de PHP
PHP - (acr nimo de "PHP: Hypertext Preprocessor") es un lenguaje de script del lado del servidor. Cdigo incluido dentro de un documento xHTML (XML) que aade dinamismo a una pgina web esttica. Open Source (c digo libre) Funcionamiento
El navegador del cliente solicita el documento PHP. Llega la solicitud al servidor que localiza el documento, lanza el intrprete de PHP y ejecuta el c digo. Como resultado de la ejecucin se genera un documento xHTML y el servidor transfiere este documento al cliente que lo muestra en el navegador.
I. T. Informtica de Gestin
Universidad de Huelva
Programacin en Internet
Introduccin
Caractersticas de PHP
Inclusin en el c digo xHTML - <?php ?> - <? ?> </script> <html> <head> <title>Ejemplo de PHP</title> </head> <body> <h1>Mi Primer Ejemplo</h1> <?php // Ejemplo2 echo <p>Hola Mundo</p>; ?> </body> </html>
Universidad de Huelva Programacin en Internet
- <script languaje="php">
La funcin echo devuelve la cadena pasada por parmetros. Esta funcin es muy limitada, es posible usar la funcin printf , igual que C. printf(cadena, vars)
I. T. Informtica de Gestin
Tema 5. PHP
Contenido 1. Introduccin 2. Fundamentos de PHP - Tipos bsicos y variables - Operadores - Estructuras de Control - Arrays - Fechas - Funciones - Clases 3. Variables predefinidas en PHP - Parmetros enviados en la peticin - Cookies - Sesiones 4. Conexin con bases de datos
Fundamentos de PHP
Tipos de Datos
Enteros (int, long, numeric) N meros enteros positivos y negativos Real (float, double, real, numeric) N meros decimales o de coma flotante Boolean (bool) True o False Cadena (string) Cadenas de texto Array (array) Tipo especial de coleccin de valores Objetos (object) Tipo especial de dato
Variables
No es necesario declararlas y no tiene un tipo determinado Comienzan con el signo dlar ($) <?php // Ejemplo3 $a = 1; $b = 3.34; $c = "Hola Mundo"; echo $a . <br> . $b . <br> . $c; ?>
NOTA: Funciones tpicas is_xxxx(variable) : True / False Donde xxxx tipo de dato. P.ej. is_double gettype(variable) : Devuelve tipo settype(variable,'tipoVariable'): Cambia el tipo de la variable.
(Tambin se usa casting)
Programacin en Internet
I. T. Informtica de Gestin
Fundamentos de PHP
Operadores
Aritmticos Lgicos Comparacin
I. T. Informtica de Gestin
Universidad de Huelva
Programacin en Internet
Fundamentos de PHP
Estructuras de Control
I. T. Informtica de Gestin
Fundamentos de PHP
Estructuras de Control
Ejemplo
<?php $a = array (Uno', Dos', Tres', 'next', Cuatro', Cinco', 'stop', Seis'); foreach ($a as $val) { if ($val == 'stop') { break; } if ($val == 'next') { continue; } echo "$val<br>\n"; } ?>
[se salta el valor next] [El bucle finaliza con el valor stop]
I. T. Informtica de Gestin
Universidad de Huelva
Programacin en Internet
Fundamentos de PHP
Arrays
Lista de variables estructurada no necesariamente del mismo tipo. Indexados (comienzan en 0) Asociativos Declaracin
De forma implicita $a[ ] = primero; $a[ ] = segundo; Mediante el constructor array $a = array (primero, segundo); $a[0] $a[1] for($i=0; $i<max; $i++) echo $a[$i]
Utilizacin
foreach( $a as $dato) echo $dato while ($dato = each($a)) { echo $dato[0]; // clave. Uno, Dos echo $dato[1]; // valor: primero,
Programacin en Internet
La funcin each( array ) devuelve una matriz con dos posiciones, en 0 almacena la clave o ndice y en 1 el valor.
I. T. Informtica de Gestin
Universidad de Huelva
Fundamentos de PHP
[ m s informacin en http://www.php.net/manual/es/ref.array.php ]
Recorrido reset( array ) : Se posiciona en el primer elemento end( array ) : Se posiciona en el ltimo elemento next( array ) : Se posiciona en el siguiente elemento prev( array ) : Se posiciona en el elemento anterior current( array ) : Devuelve el contenido de la posicin actual o false cont ( array ) : Devuelve el nmero de elementos. Similar es sizeof ( array ) Otras funciones array_push(matriz,variable1,variableN): Aade elementos al final del array array_unshift(matriz,variable1,variableN): Aade elementos al principio del array array_shift(matriz) : Elimina el primer elemento de la matriz array_pop(matriz) : Elimina el ltimo elemento de la matriz
sort(matriz) : Ordenacin ascendente (matriz indexada) rsort(matriz) : Ordenacin descendente (matriz indexada) asort(matriz) : Ordenacin ascendente por valor (matriz asociativa) arsort(matriz): Ordenacin descendente por valor (matriz asociativa) ksort(matriz) : Ordenacin ascendente por clave (matriz asociativa) krsort(matriz) : Ordenacin descendente por clave (matriz asociativa)
I. T. Informtica de Gestin Universidad de Huelva Programacin en Internet
Fundamentos de PHP
Cadenas
Una cadena es una secuencia de caracteres comprendidos entre: - Comillas simples ' - Comillas dobles " " esto es una cadena: $i esto es otra cadena: $i
Principales funciones echo cadena : imprime la cadena printf(cadena_formato, valores) : imprime la cadena sustituyendo los valores strlen(cadena) : Devuelve el nmero de caracteres de la cadena. substr(cadena, inicio, longitud). Devuelve una subcadena de otra, empezando por inicio y de longitud longitud. chop(cadena). Elimina los saltos de lnea y los espacios finales de una cadena. strpos(cadena1, cadena2). Busca cadena2 en cadena1 devolviendo en ndice. str_replace(cadena1, cadena2, texto). Cambia cadena1 por cadena2 en el texto. ltrim(cadena), rtrim(cadena) y trim(cadena) : Elimina los espacios en blanco strtolower(cadena) : Convierte la cadena a minsculas strtoupper(cadena); Convierte la cadena a maysculas
Universidad de Huelva Programacin en Internet
I. T. Informtica de Gestin
Fundamentos de PHP
I. T. Informtica de Gestin
Universidad de Huelva
Programacin en Internet
Fundamentos de PHP
Funciones Declaracin
Ejemplos function sumar($v1,$v2){ $ suma=$v1+$v2 echo $v1."+".$v2."=".$suma; } sumar(6,4); function incrementa($v1){ return $v1+1; } A = incrementa(2);
Llamada
Valor de retorno (return) Parmetros por valor por referencia: & por defecto
Funciones: func_num_args() : Numero de par metros func_get_args(i) : Par metro i func_get_args () : Array de par metros
I. T. Informtica de Gestin
Universidad de Huelva
Fundamentos de PHP
// funciones.php
function unaFuncion($a) { function otraFuncion( ) { etc
I. T. Informtica de Gestin
Fundamentos de PHP
Clases
Declaracin class nombre_clase { // atributos var nombre_atributo; // mtodos (acceso a atributos this-> ) function nomb_metodo( par metros) { cuerpo } }
class num { var $numero; function num() { // CONSTRUCTOR $this->numero=10; } function mas($i=0) { $this->numero=$this->numero+$i; } function valor() { return $this->numero; } }
I. T. Informtica de Gestin
Universidad de Huelva
Tema 5. PHP
Contenido 1. Introduccin 2. Fundamentos de PHP - Tipos bsicos y variables - Operadores - Estructuras de Control - Arrays - Fechas - Funciones - Clases 3. Variables predefinidas en PHP - Parmetros enviados en la peticin - Cookies - Sesiones 4. Conexin con bases de datos
A partir de la versin 4.1 $_SERVER: Array asociativo con informacin sobre el servidor web $_ENV: Array asociativo con informacin sobre el entorno de ejecucin $_GET: Array asociativo con la informacin enviada por el usuario, si la peticin ha sido tipo GET. $_POST: Array asociativo con la informacin enviada por el usuario, si la peticin ha sido tipo POST. $_SESSION: Array asociativo con las variables de la sesin. $_COOKIE: Array asociativo con las cookies enviadas en la peticin. $_FILES: Array asociativo con la informacin de cada archivo enviado $_REQUEST: Array asociativo con la concatenacin de $_GET, $_POST, $_COOKIE Y $_FILES.
Tabla equivalencia entre versiones de PHP
I. T. Informtica de Gestin
Universidad de Huelva
Programacin en Internet
<%php echo $_GET[var1]; // mostrara val1 echo $_GET[var2]; // mostrara val2 %>
I. T. Informtica de Gestin
Universidad de Huelva
Programacin en Internet
Var1: <input type= text name= var1 ><br /> Var2: <input type= text name= var2 > <br /> <input type=submit value=Enviar >
</form>
<%php
// fichero.php
%>
I. T. Informtica de Gestin Universidad de Huelva Programacin en Internet
Cookies
Array $_COOKIE y funcin setcookie();
Asignacin de Cookies (forma parte de la cabecera de la peticin) setcookie( nombre, valor, caducidad, ruta, dominio, segura ); Ejemplo: setcookie(contador, $cont, time()+60 )
I. T. Informtica de Gestin
Universidad de Huelva
Programacin en Internet
Cookies
Ejemplo: <?php // ATENCIN: Debe ser lo primero incluido en el fichero $cont = $_COOKIE[contador]; $cont++; setcookie(contador, $cont, time()+60); ?> <html> <head> <title>Ejemplo Cookies</title> </head> <body> <h1>Ejemplo con una Cookie contador</h1> <h2>Nmero de accesos: <?php echo $cont; ?> </h2> </body> </html>
I. T. Informtica de Gestin
Universidad de Huelva
Programacin en Internet
Ej. session_register(contador)
$_SESSION[contador]
I. T. Informtica de Gestin
Universidad de Huelva
Programacin en Internet
Sesiones Ejemplo
<?php session_start(); if (!isset($_SESSION['count'])) { $_SESSION['count'] = 0; } else { $_SESSION['count']++; } ?> <html> <head> </head> <?php if ($_SESSION['count] ==0) { ?> <p>Es la primera vez que accedes</p> <?php } else { ?> <p>ya has accedido ms veces</p> <?php } ?> </html> Esto es cdigo HTML
I. T. Informtica de Gestin
Universidad de Huelva
Programacin en Internet
Tema 5. PHP
Contenido 1. Introduccin 2. Fundamentos de PHP - Tipos bsicos y variables - Operadores - Estructuras de Control - Arrays - Fechas - Funciones - Clases 3. Variables predefinidas en PHP - Parmtros enviados en la peticin - Cookies - Sesiones 4. Conexin con bases de datos
MySQL
int mysql_connect ( string host, string usuario, string password) Conecta con el servidor de base de datos indicado, devolviendo el enlace de la conexin o falso en caso de error. int mysql_select_db (string bd, [int enlace]) Conecta con la base de datos bd, el par metro enlace es opcional si no se indica se utiliza el obtenido en la ltima llamada a mysql_connect. Devuelve cierto si tiene xito y falso en caso de error. Ejemplo: $enlace = mysql_mysql_connect( mi servidor, usario ,password) or die( Fallo en la conexin . mysql_error()); mysql_select_db( mi base de datos ) or die(Fallo al seleccionar la BD . msyql.error());
I. T. Informtica de Gestin
Universidad de Huelva
Programacin en Internet
MySQL
Estableciendo la sentencia a ejecutar sobre la base de datos Para poder ejecutar alguna sentencia sobre la base de datos es necesario tener permisos para ello. Las sentencias bsicas son:
SELECT campos FROM basedatos WHERE condiciones INSERT INTO basedatos VALUES ( valoresCampos ) DELETE FROM basedatos WHERE condiciones
Ejemplo.
$sql1 = SELECT * FROM clientes WHERE dni=11111111 ; $sql2 = INSERT INTO cliente VALUES ( 11111111,PEPE, 30) ; $sql3 = DELETE FROM cliente WHERE dni=11111111 ;
I. T. Informtica de Gestin
Universidad de Huelva
Programacin en Internet
MySQL
Ejecucin de la sentencia resource mysql_query (string cta, [int enl]) Ejecuta la consulta cta sobre la base de datos cuyo enlace de conexi n es enl, si se omite se utiliza el obtenido en la ltima llamada a mysql_connect. Devuelve un resource con el resultado o falso si ha fallado.
Ejemplos: $resultado = mysql_query( $sql1); // Tratamiento del resource para mostrar los datos consultados $resultado = mysql_query( $sql2); // siendo $sql2 un INSERT if ($resultado) echo Insercin realizada correctamente ; else die(La insercin no ha podido realizarse por: . mysql_error()); $resultado = pq_query($sql3); // siendo $sql2 un DELETE if ( | $resultado) die(El borrado no ha podido realizarse por: mysql_error() ; else echo Se han eliminado . mysql_affected_rows() . registros;
I. T. Informtica de Gestin
Universidad de Huelva
Programacin en Internet
MySQL
array mysql_fetch_array ( int resultado, [int tipo_de_resultado] ) Devuelve un array indexado (comenzando en 0) y/o asociativo (campos de la base de datos) del siguiente resultado del resource resultado o falso si ya no quedan ms. El array devuelto depender de valor del par metro tipo_de_resultado:
MYSQL_ASSOC Las columnas son devueltas en el array usando el nombre del campo como ndice. MYSQL_BOTH Las columnas son devueltas en el array teniendo tanto un ndice numrico como un ndice correspondiente al nombre del campo. (VALOR POR DEFECTO) MYSQL_NUM Las columnas son devueltas en el array teniendo un ndice numrico a los campos. Este ndice comienza en 0, el primer campo del resultado.
I. T. Informtica de Gestin
Universidad de Huelva
Programacin en Internet
MySQL
array array_fetch_row ( int resultado ) Devuelve un array indexado del siguiente resultado del resource resultado o falso si ya no quedan ms. object array_fetch_object ( int resultado ) Devuelve un objeto, cuyos atributos son los campos de la base de datos, del siguiente elemento del resource resultado o falso si ya no quedan ms.
Ejemplos. Suponer una base de datos con los campos dni, nombre y edad $r1 = mysql_fetch_array ( $resultado ); echo Bienvenido $r1[nombre]; for ($i=1; i<mysql_num_rows( $resultado )-1; i++) { $r2 = mysql_fetch_row($resultado); $obj = mysql_fetch_object($resultado); echo $obj->nombre . con . obj->dni . tiene . $obj->edad . aos ;
I. T. Informtica de Gestin
Universidad de Huelva
Programacin en Internet
MySQL
Liberando recursos y cerrando la conexin bool mysql_free_result ( resource resultado ) Libera los recursos que utiliza un resource resultado de una consulta previa. bool mysql_close ( int enlace ) Cierra una conexin con el servidor de base de datos. Ejemplo mysql_free_result($resultado); mysql_close($enlace);
I. T. Informtica de Gestin
Universidad de Huelva
Programacin en Internet
MySQL
int mysql_connect ( string host, string usuario, string password ) : Conexin con una servidor de base de datos int mysql_select_db (string bd): Conexi n con una base de datos bool mysql_close ( int enlace) : Cerrar conexin con un servidor de base de datos resource mysql_query (string query ) : Ejecuta una sentencia sobre una base de datos. array mysql_fetch_array ( int resultado) : Array de una fila de la consulta array mysql_fetch_row ( int resultado ) : Array de una fila de la consulta object mysql_fetch_object ( int resultado ) : Objeto de una fila de la consulta int mysql_num_fields ( int resultado ) : Nmero de campos obtenidos en la consulta int mysql_num_rows ( int resultado ) : Nmero de filas de la consulta int mysql_affected_rows ( ): Filas de la base de datos afectadas de la ltima sentencia INSERT, DELETE, UPDATE ejecutada bool mysql_free_result ( resource resultado ) : Libera los recursos de una consulta. string mysql_error (): Devuelve el texto del mensaje de error de la ltima operaci n MySQL
I. T. Informtica de Gestin
Universidad de Huelva
Programacin en Internet
MySQL
I. T. Informtica de Gestin
Universidad de Huelva
Programacin en Internet