ajax y php laboratorio de aplicaciones telemáticas · ajax y php laboratorio de aplicaciones...

38
Editedwith emacs + LAT E X+ prosper III U N I V E R S I D A D · C A R L O S I I I · D E M A D R I D : AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jes ´ us Arias Fisteus [email protected] Curso 2007/2008 Universidad Carlos III de Madrid AJAX y PHP– p. 1

Upload: others

Post on 11-Aug-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

AJAX y PHP

Laboratorio de Aplicaciones Telemáticas

Jesus Arias Fisteus

[email protected]

Curso 2007/2008

Universidad Carlos III de Madrid

AJAX y PHP– p. 1

Page 2: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

AJAX(Asynchronous JavaScript and XML)

AJAX y PHP– p. 2

Page 3: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

AJAX (Asynchronous JavaScript andXML)

Nombre que se aplica al uso combinado de:JavaScript.XMLHttpRequest.

AJAX y PHP– p. 3

Page 4: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Introducción a JavaScript

JavaScript:Lenguaje de programación interpretado.Débilmente tipado.Sintácticamente parecido a C, C++ y Java.Utilizado habitualmente en navegadores Web(client–side JavaScript) para mejorar lainteractividad de las páginas.Estandarizado bajo el nombre de ECMAScript.

AJAX y PHP– p. 4

Page 5: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Interactividad en el navegador con Ja-vaScript

Client–side JavaScript hace interactivo eldocumento (X)HTML mediante, principalmente:

Manejadores de eventos:Se puede ejecutar código específico(manejadores) cuando se cargue/cierre lapágina, el usuario interaccione conelementos de la misma o periódicamente.

Modificación dinámica del documento:document.write() permite escribirdirectamente el contenido del documento.API de DOM: acceso lectura/escritura a laestructura del documento (HTML/XML).

AJAX y PHP– p. 5

Page 6: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Inclusión de JavaScript en (X)HTML

<!-- directamente con el elemento script(en la cabecera o en el cuerpo del documento) -->

<script type="text/javascript">var d = new Date();document.write(d.toLocaleString());</script>

<!-- desde un recurso externo --><script src="scripts/util.js" type="text/javascript" / >

<!-- desde un manejador de eventos de (X)HTML --><input type="button" value="Change" onclick="changeNam e()" /><p onmouseover="showHelp(’p1’)">...</p>

AJAX y PHP– p. 6

Page 7: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Ejemplo: API DOM (I)

var n = document.documentElement; // objeto Nodevar children = n.childNodes; // objeto NodeListvar head = children[0];var body = children[1];

// contar el número de tablasvar tables = document.getElementsByTagName("table");alert("El documento contiene " + tables.length + " tablas." );

// acceso a un párrafo <p id="specialParagraph">...</p>var paragraph = document.getElementById("specialParagr aph");

AJAX y PHP– p. 7

Page 8: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Ejemplo: API DOM (II)

// modificar un atributo de un elementovar headline = document.getElementById("headline");// alternativa genérica:headline.setAttribute("align", "center");// alternativa para atributos estándar del elementoheadline.align = "center";

// añadir un elementovar p = document.getElementById("headline");var i = document.createElement("i");i.class = "resaltado";i.appendChild(document.createTextNode("Texto en cursi va"));p.appendChild(i);

AJAX y PHP– p. 8

Page 9: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Programación de HTTP desde JavaS-cript

En principio, es el navegador el que generapeticiones HTTP y procesa las respuestas:

JavaScript puede forzar peticiones estableciendoel atributo src en img, iframe y script, pero tieneproblemas de portabilidad entre navegadores.

La API XMLHttpRequest permite de forma mássencilla a JavaScript realizar peticiones HTTP yprocesar sus respuestas.

AJAX y PHP– p. 9

Page 10: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Uso de XMLHttpRequest

Proceso de tres etapas:1. Creación del objeto XMLHttpRequest.2. Especificación y envío del mensaje HTTP al

servidor.3. Recepción (síncrona o asíncrona) de la

respuesta del servidor.

A pesar del nombre, no es estrictamentenecesario que los mensajes HTTP intercambiadoscodifiquen los datos con XML.

AJAX y PHP– p. 10

Page 11: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Peticiones síncronas:

La función send retorna una vez se haya recibidola respuesta.

La página queda bloqueada hasta que se recibe larespuesta.

AJAX y PHP– p. 11

Page 12: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Ejemplo de petición síncrona

// creación de un objeto XMLHttpRequest (no portable)var request = new XMLHttpRequest();

// especificación de método, URL y petición síncronarequest.open("GET", url, false);

// envío (sin cuerpo de la petición por ser GET)request.send(null);

// obtención de la respuesta síncronaif (request.status == 200) {

var response = request.responseText;

// como alternativa, si es una respuesta XMLvar responseXML = request.responseXML;

} else {// manejar el error...

}

AJAX y PHP– p. 12

Page 13: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Peticiones asíncronas:

La función send retorna inmediatamente, sinesperar la respuesta.

Se registra una función de callback que se invocacada vez que cambia el estado de la petición(propiedad readyState ):

readyState == 0 : sin inicializar.readyState == 1 : conexión establecida.readyState == 2 : petición recibida.readyState == 3 : respuesta en proceso.readyState == 4 : respuesta recibida.

AJAX y PHP– p. 13

Page 14: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Ejemplo de petición asíncrona

// creación de un objeto XMLHttpRequest (no portable)var request = new XMLHttpRequest();

// establecimiento de una función de callbackrequest.onreadystatechange = function(){

if(request.readyState == 4) {if(request.status == 200) {

alert("Received: " + req.responseText);} else { {

alert("Error: returned status code " + request.status+ " " + request.statusText);

}}

};

// especificación de método, URL y petición asíncronarequest.open("GET", url, true);

// envío (sin cuerpo de la petición por ser GET)request.send(null);

AJAX y PHP– p. 14

Page 15: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Creación de XMLHttpRequest porta-ble

var request = null;try {

request = new ActiveXObject("Msxml2.XMLHTTP");} catch (b) {

try {request = new ActiveXObject("Microsoft.XMLHTTP");

} catch (c) {request = null;

}}if(!request && typeof XMLHttpRequest!="undefined") {

request = new XMLHttpRequest;}

AJAX y PHP– p. 15

Page 16: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Referencias

David Flanagan. “JavaScript: The Definitive Guide”(5th Ed.) O’Reilly.

AJAX y PHP– p. 16

Page 17: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

PHP

AJAX y PHP– p. 17

Page 18: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

PHP

Lenguaje interpretado.

Desarrollo rápido.

API muy extensa.

Código libre

AJAX y PHP– p. 18

Page 19: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Usos de PHP

Aplicaciones Web ejecutadas en el servidor Web(código incrustado en documentos HTML).

Aplicaciones Web como scripts CGI.

Scripts de línea de comandos.

Aplicaciones gráficas.

AJAX y PHP– p. 19

Page 20: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

PHP en HTML

Permite programar aplicaciones Web que seejecutan en el servidor.

Normalmente se ejecuta en un servidor Apache.

Admite cualquiera de los principales gestores debases de datos (aunque MySQL es el preferido).

AJAX y PHP– p. 20

Page 21: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Ejemplo: hola mundo

<html><head>

<title>PHP Test</title></head><body>

<?php echo ’<p>Hello World</p>’; ?></body>

</html>

AJAX y PHP– p. 21

Page 22: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Resultado del ejemplo

<html><head>

<title>PHP Test</title></head><body>

<p>Hello World</p></body>

</html>

AJAX y PHP– p. 22

Page 23: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Dos tipos de comillas

Las cadenas entre comillas simples se vuelcanliteralmente.

En las cadenas entre comillas dobles se evalúanvariables, caracteres especiales tipo \n , etc.

$txt="Juan";

/ * La siguiente línea vuelca "Yo me llamo Juan :)" * /echo "Yo me llamo $txt :)";

/ * Pero esta línea vuelca "Yo me llamo $txt :)" * /echo ’Yo me llamo $txt :)’;

AJAX y PHP– p. 23

Page 24: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Ejemplo: variables

<html><body><?php

/ * asigna valores a dos variables * /$txt1="Hello World";$txt2="1234";

/ * escribe la concatenación de las variables * /echo $txt1 . " " . $txt2 ;

/ * equivalente a: * /echo "$txt1 $txt2";

?></body></html>

AJAX y PHP– p. 24

Page 25: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Ejemplo: sentencias condicionales

<html><body><?php

$d=date("D");if ($d=="Fri") {

echo "Hello!<br />";echo "Have a nice weekend!";echo "See you on Monday!";

} elseecho "Have a nice day!";

?></body></html>

AJAX y PHP– p. 25

Page 26: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Ejemplo: arrays numéricos

<?php/ * una forma de inicializar el array * /$names = array(’Peter’,’Quagmire’,’Joe’);

/ * otra forma equivalente de hacerlo * /$names[0] = ’Peter’;$names[1] = ’Quagmire’;$names[2] = ’Joe’;

/ * acceso a posiciones del array * /echo $names[1] . " and " . $names[2] . " are

". $names[0] . "’s neighbors";?>

AJAX y PHP– p. 26

Page 27: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Ejemplo: arrays asociativos

<?php/ * una forma de inicializar el array * /$ages = array(’Peter’=>32, ’Quagmire’=>30, ’Joe’=>34);

/ * otra forma equivalente de hacerlo * /$ages[’Peter’] = 32;$ages[’Quagmire’] = 30;$ages[’Joe’] = 34;

/ * acceso a una posición del array * /echo "Peter is " . $ages[’Peter’] . " years old.";?>

AJAX y PHP– p. 27

Page 28: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Ejemplo: bucles

Proporciona bucles for, while y do/while similaresa C, C++ y Java.

Adicionalmente, proporciona un bucle foreach vararecorrer datos de tipo array :

<?php$arr=array("one", "two", "three");foreach ($arr as $value){

echo "Value: " . $value . "<br />";}?>

AJAX y PHP– p. 28

Page 29: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Ejemplo: funciones

<?phpfunction writeMyName($fname,$punctuation)

{echo $fname . " Refsnes" . $punctuation . "<br />";}

echo "My name is ";writeMyName("Kai Jim",".");echo "My name is ";writeMyName("Hege","!");echo "My name is ";writeMyName("Ståle","...");?>

Resultado:

My name is Kai Jim Refsnes.My name is Hege Refsnes!My name is Ståle Refsnes...

AJAX y PHP– p. 29

Page 30: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Ejemplo: funciones con valor de re-torno

<?phpfunction add($x,$y)

{$total = $x + $y;return $total;}

echo "1 + 16 = " . add(1,16)?>

AJAX y PHP– p. 30

Page 31: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Contenedores de variables útiles (I)

$_GET[’varname’] : variables de la peticiónGET.

$_POST[’varname’] : variables de la peticiónPOST.

$_REQUEST[’varname’] : variables de lapetición (independiente del método).

$_SESSION[’varname’] : variables de sesión.

$_COOKIE[’varname’] : variables almacenadasen cookies.

AJAX y PHP– p. 31

Page 32: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Contenedores de variables útiles (I)

$_SERVER[’varname’] : variables almacenadasdesde el servidor.

$_FILE[’varname’] : variables almacenadas apartir de un fichero externo.

AJAX y PHP– p. 32

Page 33: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Ejemplo: formularios

<!-- HTML del formulario --><html><body><form action="welcome.php" method="post">Name: <input type="text" name="name" />Age: <input type="text" name="age" /><input type="submit" /></form></body></html>

<!-- welcome.php --><html><body>Welcome <?php echo $_POST["name"]; ?>.<br />You are <?php echo $_POST["age"]; ?> years old.</body></html>

AJAX y PHP– p. 33

Page 34: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Ejemplo: sesiones

<?php

session_start();if(isset($_SESSION[’views’]))

$_SESSION[’views’]=$_SESSION[’views’]+1;else

$_SESSION[’views’]=1;echo "Views=". $_SESSION[’views’];?>

AJAX y PHP– p. 34

Page 35: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Ejemplo: acceso a MySQL (I)

<?php$con = mysql_connect("localhost","peter","abc123");if (!$con)

{die(’Could not connect: ’ . mysql_error());}

mysql_select_db("my_db", $con);$sql="INSERT INTO person (FirstName, LastName, Age)VALUES(’$_POST[firstname]’,’$_POST[lastname]’,’$_POST[age ]’)";if (!mysql_query($sql,$con))

{die(’Error: ’ . mysql_error());}

echo "1 record added";mysql_close($con);?>

AJAX y PHP– p. 35

Page 36: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Ejemplo: acceso a MySQL (II)

<?php$con = mysql_connect("localhost","peter","abc123");if (!$con)

{die(’Could not connect: ’ . mysql_error());}

mysql_select_db("my_db", $con);

$result = mysql_query("SELECT * FROM person");

/ * continúa en la siguiente transparencia * /

AJAX y PHP– p. 36

Page 37: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Ejemplo: acceso a MySQL (III)

/ * continuación de la transparencia anterior * /

echo "<table border=’1’><tr><th>Firstname</th><th>Lastname</th></tr>";while($row = mysql_fetch_array($result))

{echo "<tr>";echo "<td>" . $row[’FirstName’] . "</td>";echo "<td>" . $row[’LastName’] . "</td>";echo "</tr>";}

echo "</table>";mysql_close($con);?>

AJAX y PHP– p. 37

Page 38: AJAX y PHP Laboratorio de Aplicaciones Telemáticas · AJAX y PHP Laboratorio de Aplicaciones Telemáticas Jesu´s Arias Fisteus jaf@it.uc3m.es Curso 2007/2008 Universidad Carlos

Edi

ted

with

emac

s+

LAT E

X+

pros

per

III

UNIVE

RS

IDA

D·C A R L OS I I I ·

DE

MA

DR

ID:

Referencias

http://www.php.net/

http://www.php.net/manual/en/

http://www.w3schools.com/php/

AJAX y PHP– p. 38