introducción a php -...

37
2003 © Resti MARTINEZ RISQUE 1 Introducción a PHP Resti Martinez Risque [email protected]

Upload: tranthu

Post on 30-Sep-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE 1

Introducción a PHP

Resti Martinez [email protected]

Page 2: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

Copyright (c) 2003 Resti MARTÍNEZ RISQUE Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.

A copy of the GNU Free Documentation License can be found in: http://www.gnu.org/licenses/licenses.html#FDL

2

Page 3: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPIntroducción

● Acrónimo de “Hypertext Pre-Processor”

● Concebido principalmente como herramienta para el desarrollo de aplicaciones web

● PHP permite diseñar páginas dinámicas del lado del servidor.

● “Lenguaje interpretado de alto nivel embebido en páginas HTML y ejecutado en el servidor”

● Ampliamente utilizado junto a ASP, JSP, Cold Fusion y Perl.

30.10.2003 3

Page 4: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPCaracteristicas

● Caracteristicas:– Software libre– Multiplataforma: U*x, Win32, Mac OS, etc ...– Soporte para multiples servidores: Apache, Microsoft IIS,

etc ...– Sigue la filosofia Open Source– Complemento ideal para el tandem LAMP (Linux-Apache-

MySQL-PHP)– Sencillez de uso para programadores principiantes– Potente para programación avanzada: BD, sockets,

gráficos, etc

30.10.2003 4

Page 5: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPASP vs PHP

30.10.2003 5

ASP PHPTecnología propietaria de microsoft Filosofía Software LibreSólo sobre plataformas Microsoft (*) Varias Plataformas

Gran rapidez de ejecución

Gran coste económico en softwareadicional (* *)

Muchas opciones incluidas de forma gratuita

Ejecucion Lenta debido a los comunicaciones COM

* - Existen soluciones como Sun ONE ASP que permiten su utilizacion sobre Linux/Unix pero conlleva un coste elevado.

* * - ASPEncrypt (componente encriptacion), - ServerObject's Qmail (componente para correo electronico),- Artisans SAFileUp (componente para descargas de ficheros)

Page 6: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPEstáticas vs Dinámicas

30.10.2003 6

● Ejemplo1 Estático : Listar Números del 1 al 10.http://gayuba2.datsi.fi.upm.es/~rmartinez/tutorial_php/ej1.html

Page 7: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPEstáticas vs Dinámicas

30.10.2003 7

● Ejemplo1 Dinámico: Listar Números del 1 al 10.http://gayuba2.datsi.fi.upm.es/~rmartinez/tutorial_php/ej1.php

Page 8: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPEstáticas vs Dinámicas

30.10.2003 8

Respuesta HMTL

Petición HMTL

Páginas EstáticasCliente Servidor

Páginas Dinámicas

Respuesta HMTL

Petición PHPMotor PHP

Go!

HTML

Cliente Servidor

Page 9: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE30.10.2003 9

Estructura de Datosy

Control de Flujo

Page 10: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPScript en PHP

30.10.2003 10

Para escribir código PHP dentro de una página html, tenemos varias alternativas:

* Incluir el código entre <? y ?> * Incluir el código entre <?PHP y ?> * Incluir el código entre bloques <SCRIPT LANGUAGE="php"> y </SCRIPT>

El resultado de la salida estándar de ese código será escrito en esa misma posición de la página html.

<HTML><BODY><?echo "¡Hola Mundo!<BR>";?></BODY></HTML>

Page 11: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPComentarios en PHP

30.10.2003 11

Los comentarios en PHP se escriben:

* Con // o # para comentarios de una sóla línea. * Entre /* y */ para comentarios de una o más líneas.

Ejemplo:<?/* Título: Mi Primera página PHP Autor: Yo*/

// Saludamosecho "¡Hola Mundo!<BR>";?>

Page 12: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPVariables - Declaracion

30.10.2003 12

Todas las variables en PHP empiezan con el caracter dólar

"$"

Las variables se declaran simplemente inicializándolas:

<?$strCadena = "Hola Mundo";echo($strCadena);?>

Page 13: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPVariables - Tipos

30.10.2003 13

Los tipos básicos de PHP son : Integer, Double, String, Array y Object.

Las variables booleanas no existenCualquier valor numérico distinto de 0 es TRUECualquier cadena no vacía se considera TRUE

Las variables PHP no tienen un tipo fijo, dependen de la última asignación realizada.

La función gettype($nombrevar) permite obtener el tipo de esa variable en forma de cadena:

Page 14: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPVariables - Tipos

30.10.2003 14

Ejemplo:<?$variable = "Una cadena";echo(gettype($variable));$variable = 0;echo(gettype($variable));?>

Is_Double($varname), Is_Array($varname), Is_String($varname) y Is_Object($varname) también nos permiten saber el tipo de una variable.

Page 15: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPVariables - Cadenas

30.10.2003 2003© Resti MARTINE 15

Las cadenas en PHP se especifican rodeadas por comillas simples o por comillas dobles:

<?$strCadena1 = "Hola Mundo<BR>";echo($strCadena1);$strCadena2 = 'Hola Inmundo<BR>';echo($strCadena2);?>

Page 16: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPVariables - Cadenas

30.10.2003 16

Existe un pequeño matiz entre una y otra:http://gayuba2.datsi.fi.upm.es/~rmartinez/tutorial_php/ej2.php

<?$strMsg = "Hola Mundo";$strMsgIn ="$strMsg<BR>";echo($strMsgIn);$strMsgIn = '$strMsg<BR>';echo($strMsgIn);?>

Page 17: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPVariables - Cadenas

30.10.2003 17

El operador para concatenar cadenas es el punto ".":http://gayuba2.datsi.fi.upm.es/~rmartinez/tutorial_php/ej3.php

<?$strCadena = "Hola";$strCadena = $strCadena . " Mundo";echo($strCadena);?>

Page 18: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPVariables - Cadenas

30.10.2003 18

Las comillas pueden abarcar más de una línea sin ningún problema:

http://gayuba2.datsi.fi.upm.es/~rmartinez/tutorial_php/ej4.php<?$strConsulta = 'SELECT * FROM users WHERE

login = \'Paco\' and pass=\'Pass\' ';echo $strConsulta;?>

Para escapar las comillas se utiliza la combinación \'.

Page 19: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPVariables - Arrays

30.10.2003 19

Los arrays en PHP son bastante potentes y flexibles:http://gayuba2.datsi.fi.upm.es/~rmartinez/tutorial_php/ej5.php<?$arrVal[0] = 1;$arrVal[1] = "Una cadena";echo("\$arrVal[0]=$arrVal[0]<br>" . "\$arrVal[1]=$arrVal[1]<BR>");?>

Page 20: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPVariables - Arrays

30.10.2003 20

Si no ponemos subíndices, el valor asignado se asigna a las siguiente posición libre del array.

Al comenzar en la posición 0 el codigo anterior quedaria:<?$arrVal[] = 1;$arrVal[] = "Una cadena";echo("\$arrVal[0]=$arrVal[0]<br>" . "\$arrVal[1]=$arrVal[1]<BR>");?>

Page 21: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPVariables - Arrays

30.10.2003 21

Otra forma de crear arrays es mediante la construcción Array():

<?$arrVal = Array(1, "Una cadena");echo("\$arrVal[0]=$arrVal[0]<BR>" . "\$arrVal[1]=$arrVal[1]<BR>");?>

Page 22: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPVariables - Arrays

30.10.2003 22

Arrays Asociativos.En vez de accederse por índice, se accede por clave o key

http://gayuba2.datsi.fi.upm.es/~rmartinez/tutorial_php/ej6.php<?$arrVal["nombre"] = "Resti";$arrVal["Apellidos"] = array("Martinez", "Risque");echo("\$arrVal[\"nombre\"]=$arrVal[nombre]<BR>" .

"\$arrVal[\"Apellidos\"]=" . $arrVal["Apellidos"][0] . "&nbsp;" . $arrVal["Apellidos"][1] . "<BR>");

?>

Page 23: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPVariables - Arrays

30.10.2003 23

Arrays Asociativos.La construcción Array() también puede usarse con arrays asociativos:

http://gayuba2.datsi.fi.upm.es/~rmartinez/tutorial_php/ej7.php<?$arrValores=array( "nombre" => "Resti", "Apellidos" => array("Martinez","Risque"));echo "<xmp>";print_r ($arrValores);echo "</xmp>";?>

Page 24: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPVariables - Arrays

30.10.2003 24

La construcción List() nos permite asignar los valores de un array a una serie de variables de una sola vez:

http://gayuba2.datsi.fi.upm.es/~rmartinez/tutorial_php/ej8.php<?$arrVal=Array(1, "Una cadena", 1.2);List($intNumber, $strCadena, $floNumber) = $arrVal;echo("\$intNumber=$intNumber,<br>

\$strCadena='$strCadena',<br> \$floNumber=$floNumber<br>");

?>

Page 25: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPVariables - Conversiones

30.10.2003 25

Para convertir una variable de un tipo a otro se emplea el casting mediante paréntesis:

<?$strVariable = "5";$valor = (integer) $strVariable;echo $valor+2;?>

También podemos emplear la función SetType($varname, "vartype") para forzar que la variable $varname sea del tipo vartype.

Page 26: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPVariables - Conversiones

30.10.2003 26

PHP es bastante consecuente en cuanto a los tipos, de manera que si sumamos un número a una cadena, esa cadena se convierte en un número:

http://gayuba2.datsi.fi.upm.es/~rmartinez/tutorial_php/ej9.php

<?$strVariable = "5";$valor = (integer) $strVariable;echo (($valor+2)." - ".($strVariable+3));?>

Page 27: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHP Constantes

30.10.2003 27

Las constantes en PHP son literales que no comienzan por "$" y que se inicializan con la construcción define(nomconst):

http://gayuba2.datsi.fi.upm.es/~rmartinez/tutorial_php/ej10.php

<?define("MAX_CLIENTS", 25);echo(MAX_CLIENTS)."<br>”;echo(__LINE__)."<br>”;echo(__FILE__)."<br>”;?>

Las constantes predefinidas __FILE__ y __LINE__ nos dan el nombre del fichero y el número de línea actual

Page 28: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHP Sentencias de Control - IF

30.10.2003 28

Las estructuras de control de PHP son iguales a las de CCondicional IFhttp://gayuba2.datsi.fi.upm.es/~rmartinez/tutorial_php/ej11.php

<?$intEdad=45;if ($intEdad<=18){

echo “Menor de Edad”;}elseif ($intEdad<=65){

echo “Adulto”;}else{

echo “Jubilado”;}?>

Page 29: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPSentencias de Control -

SWITCH

30.10.2003 29

Condicional SWITCH

<?$intNumber=1;switch ($intNumber){

case 0:echo “Cero”;

break;case 1:

echo “Uno”;break;default:

echo “Mayor de Uno”;}?>

Page 30: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPSentencias de Control - Bucles

30.10.2003 30

Bucle FOR<?for ($i=0;$i<=10;$i++){

echo $i.”<BR>”;}?>

Bucle WHILE Bucle DO...WHILE<? <?$i=0; $i=0;while ($i<=10){ do {

echo $i.”<BR>”; echo $i.”<BR>”;$i++; $i++;

} }while ($i<=10);?> ?>

Page 31: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPFunciones - Esqueleto

30.10.2003 31

Un esqueleto tipico para las funciones es el siguiente:

http://gayuba2.datsi.fi.upm.es/~rmartinez/tutorial_php/ej12.php

<? function voidColorear($strCadena, $strColor) { // Saca una cadena con el color deseado echo("<FONT COLOR=\"$strColor\">$strCadena</FONT>"); } voidColorear("Verde","green"); echo "<br>"; voidColorear("Azul","blue");?>

Page 32: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPFunciones - Parametros

30.10.2003 32

Parametros por Defecto.Siempre que una función tenga n parámetros por defecto, éstos deberán ser los n últimos parámetros declarados.

http://gayuba2.datsi.fi.upm.es/~rmartinez/tutorial_php/ej13.php

<? function voidColorear($strCadena, $strColor=”blue”) { // Saca una cadena con el color deseado echo("<FONT COLOR=\"$strColor\">$strCadena</FONT>"); } voidColorear("Verde","green"); echo "<br>"; voidColorear("Defecto");?>

Page 33: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPFunciones - Parametros

30.10.2003 33

Parametros por Referencia.En PHP por defecto los parámetros se pasan por valor.Si queremos que los valores se modifiquen en la funcion tendremosque pasarlo por refencia.http://gayuba2.datsi.fi.upm.es/~rmartinez/tutorial_php/ej14.php<?function voidConcatena(&$strDes, $strOrg) { // Concatena $strOrg con $strDes

$strDes = $strDes.$strOrg; } $strCad1="Hola"; $strCad2="Mundo"; voidConcatena($strCad2,$strCad1); echo "\$strCad1=$strCad1<br>\$strCad2=$strCad2<br>";?>

Page 34: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPFormularios

30.10.2003 34

Los formularios sirven para enviar informacion del Cliente al Servidor

Existen varias formas de creacion de paginas PHP para procesar la informacion que llega de los clientes.

● 1 archivo HTML para Enviar y 1 archivo PHP para recibir● 1 archivo PHP para Enviar y 1 archivo distinto PHP para recibir● 1 archivo PHP para Enviar y el mismo archivo para recibir.

Page 35: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPFormularios

30.10.2003 35

Ejemplo de un formulario con una sola pagina Web.<html><head></head><body><?if (isset($_POST["login"])&&isset($_POST["pass"])){

echo "SELECT * FROM USERS WHERE LOGIN='".$_POST["login"]."' AND PASS='".$_POST["pass"]."'";}else{?><form method="post"><table>

<tr> <td>Login:</td><td><input type="text" name="login"></td>

<tr> <td>Password:</td><td><input type="text" name="pass"></td> </tr> <tr> <td colspan="2"><input type="submit" value="Enviar"></td> </tr>

</table></form><?}?></body></hmtl>

Page 36: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPFormularios

30.10.2003 36

Mismo ejemplo utilizando el metodo GET.

<html><head></head><body><?if (isset($_GET["login"])&&isset($_GET["pass"])){ echo "SELECT * FROM USERS WHERE LOGIN='".$_GET["login"]."' AND PASS='".$_GET["pass"]."'";}else{?><form method="get"><table> <tr> <td>Login:</td><td><input type="text" name="login"></td> <tr> <td>Password:</td><td><input type="text" name="pass"></td> </tr> <tr> <td colspan="2"><input type="submit" value="Enviar"></td> </tr></table></form><?}?></body></hmtl>

Page 37: Introducción a PHP - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/~ssoo/DAW/PresentaDAW05-06/10_php.pdfpara el desarrollo de aplicaciones web ... – Multiplataforma: U*x, ... Array

2003 © Resti MARTINEZ RISQUE

PHPFormularios

30.10.2003 37

Hay que destacar la importancia de validar en Servidor todos los datos que recibimos por parte del Cliente.

Un dato que no validemos supondra un agujero de seguridad bastante facil de atacar.

Típicos ataques por no validar:● Ataque de “Inyeccion SQL”● Ataque de “Cross-Site-Scripting”