Vous êtes sur la page 1sur 51

PROGRAMACION DEL

LADO DEL SERVIDOR


Objetivo

Utilizar un lenguaje de programacin del lado del servidor,


para la construccin de aplicaciones web.

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

5.1 Introduccin al lenguaje


PHP es uno de los lenguajes de lado servidor ms extendidos en la
web. Nacido en 1994, se trata de un lenguaje de creacin que ha
tenido una gran aceptacin en la comunidad de webmasters debido
sobre todo a la potencia y simplicidad que lo caracterizan.

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

PHP se encuentra instalado en ms de 20 millones de sitios web y en


ms de 1 milln de servidores web.

Instalacin de PHP

wampserver.com

apachefriends.org

mamp.info

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Para poder ejecutar los programas creados en PHP, debemos de guardar estos
archivos dentro de la carpeta de www, que se encuentra en la carpeta wamp,
y
despus
poder
ejecutarlos
a
travs
de
la
URL:
http://localhost/mi_archivo.php

Cmo funciona PHP?

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Sintaxis Bsica
PHP es sensible a las maysculas/minsculas
Cmo trabajar cdigo PHP en una pgina web?
<?php ... ?>
Las instrucciones se separan con un ; (punto y coma) como en lenguaje C.
Comentarios:
//Este es un comentario
$x +=10; //Incrementa $x por 10
/* Esta es una seccin
de varias lneas de comentario
que no sern interpretadas */

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Para mostrar o desplegar informacin en pantalla


echo muestra una o ms cadenas
Sintaxis: echo cadena1 [,cadena2];
echo Hola Mundo;
echo Hola, Mundo;
print muestra una cadena
Sintaxis: print cadena;
print Hola Mundo;
print Hola . Mundo;

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Ejemplo 5.1:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mi primer pagina Wen con PHP</title>
</head>
<body>
<?php
echo "Bienvenidos a mi primer pagina web con PHP"
?>
</body>
</html>

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Ejemplo 5.2:
<?php
phpinfo();
?>
Ejemplo 5.3:
<?php
$nombre = "Juan Perez";
$edad
= 22;
echo "Su nombre es ";
echo $nombre;
print "<p> y tiene una edad de </p>";
print $edad . " aos";
?>

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Inclusin de archivos externos


Include()
Require()
Ambos incluyen y evalan el archivo especificado.

Diferencia: en caso de error include() produce un warning y require() un


error fatal.
Se usar require() si al producirse un error debe interrumpirse la carga de la
pgina.

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Ejemplo 5.4:
<html>
<head>
<title>Ttulo</title>
<?php
// Incluir bibliotecas de funciones
require ("conecta.php");
require ("fecha.php");
?>
</head>
<body>
<?php
include ("cabecera.html");
?>
</body>
</html>
Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Tipos de Datos
PHP soporta 8 tipos de datos primitivos:

Tipos escalares: boolean, integer, double, string


Tipos compuestos: array, object
Tipos especiales: resource, NULL

El tipo de una variable no se suele especificar. Se decide en tiempo de


ejecucin en funcin del contexto y puede variar.
Funciones de inters:
La funcin gettype() devuelve el tipo de una variable
Las funciones is_type comprueban si una variable es de un tipo dado: is_array(),
is_bool(), is_float(), is_integer(), is_null(), is_numeric(), is_object(), is_resource(),
is_scalar(), is_string().
La funcin var_dump() muestra el tipo y el valor de una variable. Es especialmente
interesante con los arrays.
Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Tipo integer (nmeros enteros)


27, -5, 0
Tipo double (nmeros reales)
1.234, -5.33
Tipo boolean (lgico)
Valores: true, false (insensibles a las maysculas)
El 0 y la cadena vaca tienen valor false

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Tipo string (cadena)


Las cadenas se encierran entre comillas simples o dobles:
simples: admite los caracteres de escape \ (comilla simple) y \\ (barra). Las
variables NO se expanden.
dobles: admite ms caracteres de escape, como \n, \r, \t, \\, \$, \. Los nombres
de variables SI se expanden

Ejemplo 5.5:
<?php
$a = 9;
print 'a vale $a\n';
// muestra a vale $a\n
print "a vale $a\n";
// muestra a vale 9 y avanza una lnea
print "<IMG SRC=\"logo.jpg\">";
// muestra <IMG SRC=logo.jpg>
$texto = "tec";
$inicial = $texto{1};
print "<p> $inicial </p>";
?>
Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Variables

Las variables siempre van precedidas de un $


El nombre de la variable es sensible a las maysculas
Comienzan por letra o subrayado, seguido de letras, nmeros o subrayado
Variables predefinidas:
$GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES,
$_ENV, $_REQUEST, $_SESSION
mbito: globales al archivo (excepto funciones) o locales a una funcin
Ejemplo 5.6:
$valor = 5;
print El valor es: . $valor . \n;
print El valor es: $valor\n; // ojo: comillas dobles
Resultado:
El valor es: 5
Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Otros ejemplos de variables:


<?php
$mi_contador = 1;
$mi_cadena = "Hola";
$mi_arreglo = array(Uno", Dos", Tres");
?>
Variables Numericas
Las variables no solamente manejan cadenas de texto, pueden tambien
contener nmeros
$mi_variable = 17;
Tambin se puede declarar una variable con un valor decimal (flotante)
$mi_variable = 17.5;

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Un poco de MySQL

MySQL es el manejador de bases de datos ms utilizado en servidores web.


Es gratis de usar al igual que PHP, por eso su gran demanda.
Es realmente poderoso y excepcionalmente rpido.
MySQL es escalable dependiendo la demanda de servicio.
MySQL esta apoyado de un lenguaje estructurado de consulta (SQL) el
mismo que se utiliza en SQL Server de Microsoft.
AUTOR

TITULO

TIPO

EDICION

Mark Twain

Las Aventuras de Tom Sawyer

Ficcin

1876

Jane Austen

Orgullo y Prejuicio

Ficcin

1811

Charles Darwin

El Origen de las Especies

No Ficcin

1856

Charles Dickens

La Tienda de las Antigedades

Ficcin

1841

William Shakespeare

Romeo y Julieta

Novela

1549

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Trminos de Bases de Datos


Base de Datos
El contenedor general de una coleccin de datos de MySQL.
Tabla
Un sub-contenedor que pertenece a una Base de Datos que almacena la
informacin actual.
Fila
Es un solo registro que esta contenido en una tabla.
Columna
Es el nombre del campo que esta contenido en el registro o fila.
Accesando MySQL
Existen tres formas de interactuar con MySQL: usando la lnea de comandos,
mediante una interface web como lo es phpMyAdmin, y finalmente, mediante
un lenguaje de programacin como PHP.

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Creando una Bases de Datos


Vamos empezar creando una base de datos que nos permita guardar la
informacin de libros.
CREATE DATABASE publicaciones;
Si la base de datos se creo exitosamente, en la lnea de comandos deber de
aparecer QUERY OK, 1 row affected (0.10 sec)
Ahora que ya hemos creado la base de datos publicaciones, debemos usarla:
USE publicaciones;
Se deber de desplegar el mensaje Database changed.

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Creando un Usuario para la Bases de Datos


Es importante crear un usuario dado que no es recomendable que utilicemos
el usuario root, esto podra ser un problema de seguridad muy grande en
nuestro sistema. Para lo cual creamos un usuario que va a tener los permisos
para manejar nuestra base de datos publicaciones:
GRANT ALL ON publicaciones.* TO admin@localhost IDENTIFIED BY 1234;
Esto permite al usuario admin@localhost acceso completo a nuestra base de
datos.

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Creando una tabla


Antes de proceder a crear una tabla debemos asegurar de estar en la base de
datos en donde se pretende utilizar.
USE publicaciones;
Y ahora procedemos a crear nuestra tabla, clasicos:
CREATE TABLE clasicos (
autor VARCHAR(128),
titulo VARCHAR(128),
tipo VARCHAR(16),
edicion CHAR(4)) ENGINE MyISAM;
Para verificar que nuestra tabla clasicos ha sido creado, utilizamos:
DESCRIBE clasicos;

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Agregar datos a nuestra tabla


Para agregar datos en una tabla utilizamos el comando INSERT.
INSERT INTO clasicos(autor,titulo,tipo,edicion)
VALUES(Mark Twain, Las Aventuras de Tom Sawyer, Ficcion, 1876);
Y asi vamos agregando cada uno de los siguientes libros que se muestran en la
tabla:
AUTOR

TITULO

TIPO

EDICION

Mark Twain

Las Aventuras de Tom Sawyer

Ficcin

1876

Jane Austen

Orgullo y Prejuicio

Ficcin

1811

Charles Darwin

El Origen de las Especies

No Ficcin

1856

Charles Dickens

La Tienda de las Antigedades

Ficcin

1841

William Shakespeare

Romeo y Julieta

Novela

1549

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Para checar el contenido de la tabla clasicos, utilizamos el comando:


SELECT * FROM clasicos;
Renombrando una Tabla
ALTER TABLE clasicos RENAME pre1900;
Regresamos a su nombre original de la tabla
ALTER TABLE pre1900 RENAME clasicos;
Cambiando el Tipo de Datos de una Columna
ALTER TABLE clasicos MODIFY edicion SMALLINT;
Agregando una Nueva Columna
ALTER TABLE clasicos ADD paginas SMALLINT UNSIGNED;

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Renombrando una Columna


ALTER TABLE clasicos CHANGE tipo categoria VARCHAR(16);
Borrando una Columna
ALTER TABLE clasicos DROP paginas;
Borrando una Tabla
CREATE TABLE prueba(numero INT);
DESCRIBE prueba;
SHOW tables;
DROP TABLE prueba;
SHOW tables;

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Agregando una Llave Primaria (Primary Key)


ALTER TABLE clasicos ADD isbn CHAR(13);
UPDATE clasicos SET isbn='9781598184891' WHERE edicion='1876';
UPDATE clasicos SET isbn='9780582506206' WHERE edicion='1811';
UPDATE clasicos SET isbn='9780517123201' WHERE edicion='1856';
UPDATE clasicos SET isbn='9780099533474' WHERE edicion='1841';
UPDATE clasicos SET isbn='9780192814968' WHERE edicion='1549';
ALTER TABLE clasicos ADD PRIMARY KEY(isbn);
DESCRIBE clasicos;

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Consultando la Base de Datos


SELECT COUNT(*) FROM clasicos;
SELECT autor, titulo FROM clasicos;
Agregamos un nuevo registro a la tabla:
INSERT INTO clasicos(autor,titulo,categoria,edicion,isbn)
VALUES(Charles Dickens, La Pequea Dorrit, Ficcion, 1857,
9780141439969);
SELECT autor FROM clasicos;
SELECT DISTINCT autor from clasicos;

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Borrando un Registro(Fila)
DELETE FROM clasicos WHERE titulo=La Pequea Dorrit;
Continuamos con ms consultas utilizando WHERE:
SELECT autor, titulo FROM clasicos WHERE autor=Mark Twain;
SELECT autor, titulo FROM clasicos WHERE isbn=9781598184891;
Tambin podemos buscar de acuerdo a una palabra o patron de texto:
SELECT autor, titulo FROM clasicos WHERE autor LIKE Charles%;
SELECT autor, titulo FROM clasicos WHERE titulo LIKE %Especies;
SELECT autor, titulo FROM clasicos WHERE titulo LIKE %y %;

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Consultando una Base de Datos con MySQL


El proceso de utilizar MySQL con PHP es el siguiente:
1. Conectarse a MySQL
2. Seleccionar la Base de Datos a utilizar
3. Construir una cadena de consulta
4. Ejecutar la consulta
5. Obtener los resultados y mostrarlos en una pgina web
6. Repetir los pasos 3-5 hasta obtener toda la informacin necesaria
7. Desconectarse de MySQL

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

El Archivo de Acceso (login.php)


La mayora de sitios que estn desarrollados con PHP, contienen una serie de
programas que requieren de acceso a MySQL y por tal motivo se necesitaran
las credenciales de acceso a la base de datos.
<?php // login.php
$db_hostname = 'localhost';
$db_database = 'publicaciones';
$db_username = admin';
$db_password = 1234';
?>

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Conexin a la Base de Datos


Una vez que tenemos nuestro archivo de acceso, este lo podemos incorporar a
cualquier programa que requiera conectarse a la base de datos en cuestin.
<?php
require_once 'login.php';
$db_server = mysql_connect($db_hostname, $db_username, $db_password);

if (!$db_server) die(No se puede conectar a MySQL: " . mysql_error());


?>
Este ejemplo utiliza la funcin mysql_connect, la cual requiere de tres
parmetros, el lugar donde se hospeda la BD, hostname, el usuario y la
contrasea. Una vez que se conecta, esta funcin regresa un identificador al
servidor, en caso contrario, el valor FALSE (falso) es regresado.

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Seleccionando la Base de Datos


Una vez lograda la conexin a la base de datos, ahora estamos en la
posibilidad de seleccionar la base de datos.
<?php
mysql_select_db($db_database)
or die(No se puede seleccionar la Base de Datos: " . mysql_error());
?>
Construyendo y Ejecutando una Consulta
El enviar una consulta a MySQL desde PHP es muy simple, para ello se utiliza la
funcin mysql_query.
<?php
$query = "SELECT * FROM clasicos";
$result = mysql_query($query);
if (!$result) die (Error al accesar la Base de Datos: " . mysql_error());
?>
Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Mostrando el Resultado de la Consulta


<?php //query.php
require_once 'login.php';
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
if (!$db_server) die(No se puede conectar a MySQL: " . mysql_error());
mysql_select_db($db_database)
or die(No se puede seleccionar la Base de Datos: " . mysql_error());
$query = "SELECT * FROM clasicos";
$result = mysql_query($query);
if (!$result) die (Error al accesar la Base de Datos: " . mysql_error());
$rows = mysql_num_rows($result);
for ($j = 0 ; $j < $rows ; ++$j) {
echo 'Autor: ' . mysql_result($result,$j,'autor') . '<br />';
echo 'Titulo: ' . mysql_result($result,$j,'titulo') . '<br />';
echo 'Categoria: . mysql_result($result,$j,'categoria') . '<br />';
echo Edicin: ' . mysql_result($result,$j,edicion') . '<br />';
echo 'ISBN: ' . mysql_result($result,$j,'isbn') . '<br /><br />';
}
?>
Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Mostrando el Resultado de la Consulta

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Mejorando la Bsqueda por Lnea de la Consulta


<?php //query2.php con busqueda por linea utilizando fetch_row
.
.
.
if (!$result) die (Error al accesar la Base de Datos: " . mysql_error());
$rows = mysql_num_rows($result);
for ($j = 0 ; $j < $rows ; ++$j) {
$row = mysql_fetch_row($result);
echo 'Autor: ' . $row[0] . '<br />';
echo 'Titulo: ' . $row[1] . '<br />';
echo 'Categoria: ' . $row[2] . '<br />';
echo 'Edicin: ' . $row[3] . '<br />';
echo 'ISBN: ' . $row[4] . '<br /><br />';
}
?>

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Cerrando la Conexin
Una vez que el programa termine de utilizar la Base de Datos, esta deber de
ser cerrada.
<?php
mysql_close($db_server);
?>

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Un Ejemplo Prctico
Es hora de escribir nuestro primer ejemplo que permitir insertar y eliminar
registros de un tabla de MySQL usando PHP.

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

<?php
// sqltest.php
require_once 'login.php';
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
if (!$db_server) die(Error de conexion a MySQL: " . mysql_error());
mysql_select_db($db_database, $db_server)
or die("Error al seleccionar la Base de Datos: " . mysql_error());
if (isset($_POST['eliminar']) && isset($_POST['isbn']))
{
$isbn = get_post('isbn');
$query = "DELETE FROM clasicos WHERE isbn='$isbn'";
if (!mysql_query($query, $db_server))
echo "Error al ELIMINAR el registro: $query<br />" .
mysql_error() . "<br /><br />";
}
if (isset($_POST['autor']) &&
isset($_POST['titulo']) &&
isset($_POST['categoria']) &&
isset($_POST['edicion']) &&
isset($_POST['isbn']))
{

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

$autor = get_post('autor');
$titulo = get_post('titulo');
$categoria = get_post('categoria');
$edicion = get_post('edicion');
$isbn = get_post('isbn');
$query = "INSERT INTO clasicos VALUES" .
"('$autor', '$titulo', '$categoria', '$edicion', '$isbn')";
if (!mysql_query($query, $db_server))
echo "Error al AGREGAR el registro: $query<br />" .
mysql_error() . "<br /><br />";

}
echo <<<_END
<form action="sqltest.php" method="post"><pre>
Autor <input type="text" name="autor" />
Titulo <input type="text" name="titulo" />
Categoria <input type="text" name="categoria" />
Edicion <input type="text" name="edicion" />
ISBN <input type="text" name="isbn" />
<input type="submit" value="AGREGAR REGISTRO" />
</pre></form>
_END;
Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

$query = "SELECT * FROM clasicos";


$result = mysql_query($query);
if (!$result) die ("Error al accesar la Base de Datos: " . mysql_error());
$rows = mysql_num_rows($result);
for ($j = 0 ; $j < $rows ; ++$j)
{
$row = mysql_fetch_row($result);
echo <<<_END
<pre>
Autor: $row[0]
Titulo: $row[1]
Categoria: $row[2]
Edicion: $row[3]
ISBN: $row[4]
</pre>
<form action="sqltest.php" method="post">
<input type="hidden" name="eliminar" value="yes" />
<input type="hidden" name="isbn" value="$row[4]" />
<input type="submit" value="ELIMINAR REGISTRO" /></form>
_END;
}
Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

mysql_close($db_server);
function get_post($var)
{
return mysql_real_escape_string($_POST[$var]);
}
?>

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Explicando el cdigo
if (isset($_POST['eliminar']) && isset($_POST['isbn']))
{
$isbn = get_post('isbn');
$query = "DELETE FROM clasicos WHERE isbn='$isbn'";
if (!mysql_query($query, $db_server))
echo "Error al ELIMINAR el registro: $query<br />" .
mysql_error() . "<br /><br />";
}

La funcin isset() nos permite comprobar si una variable est definida; el


bloque de cdigo que se muestra nos permite establecer cuando las variables
eliminar e isbn han sido instanciadas con el fin de poder proceder a realizar
la operacin, que en este caso se trata de la instruccin de eliminar un registro
DELETE FROM de la tabla clasicos.

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

El Arreglo $_POST
Un explorador maneja la entrada de datos del usuario a travs de una peticin
GET o una peticin POST. La peticin POST es la que ms se usa. El servidor
web agrupa toda la entrada del usuario (incluso si el formulario fue llenado
con un centenar de campos) y lo pone en un arreglo llamado $ _POST.
$_POST es un arreglo asociativo, donde cada campo definido en el
cuestionario deber de estar definido dentro del arreglo. Es decir, si un
cuestionario contiene un campo llamado isbn, el arreglo $_POST deber de
tener definido dicho elemento en su arreglo con la palabra isbn. El programa
PHP puede leer el campo del cuestionario haciendo referencia a su contenido
por $_POST[isbn].

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Eliminando un Registro
Una vez que han sido desplegados todos los posibles registros que contiene la
tabla clasicos, el programa checa si la variable $_POST[eliminar] tiene algn
valor. De ser as, entonces el usuario ha oprimido el botn de ELIMINAR
REGISTRO para proceder a borrar dicho registro de la tabla, para esto tambin,
en la variable $isbn se tiene que asignar el valor que corresponde a dicho
registro. Recordando que la tabla tiene como llave primaria el campo ISBN.
$isbn = get_post('isbn');
$query = "DELETE FROM clasicos WHERE isbn='$isbn'";

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Si la variable $eliminar no contiene la palabra yes, entonces se procede a


asignar a la variable $query el comando INSERT TO seguido de los cinco
valores que integran el registro que se va a agregar en la tabla.
$autor = get_post('autor');
$titulo = get_post('titulo');
$categoria = get_post('categoria');
$edicion = get_post('edicion');
$isbn = get_post('isbn');
$query = "INSERT INTO clasicos VALUES" .
"('$autor', '$titulo', '$categoria', '$edicion', '$isbn')";

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Sistema de Control de Biblioteca con PHP


Ahora es tiempo de desarrollar un sistema basado en cdigo html, css y php
con el fin de administrar una base de datos en MySQL.

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

El sistema tiene las opciones de Agregar, Consultar, Eliminar y Modificar todo


relacionado con la bibliografa que contiene la base de datos clsicos.

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Opcin INICIO
<body>
<div id="contenedor">
<div id="cabecera" >
<div align="center">
<font face="Arial, Helvetica, sans-serif" color="#CCCCCC"
size="+3" style="text-align:center">
Control de Biblioteca 2014 </font>
</div>
</div>
<div id="menu">
<a href="inicio.html" class="boton">
<font color="#CCCCCC" size="-1" face="Arial, Helvetica, sans-serif">
&nbsp&nbsp INICIO &nbsp&nbsp
</font>

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

</a>
<a href="alta.html" class="boton">
<font color="#CCCCCC" size="-1" face="Arial, Helvetica, sans-serif">
&nbsp&nbsp AGREGAR &nbsp&nbsp</font>
</a>
<a href="consulta.html" class="boton">
<font color="#CCCCCC" size="-1" face="Arial, Helvetica, sans-serif">
&nbsp&nbsp CONSULTAR &nbsp&nbsp</font>
</a>
<a href="eliminar.html" class="boton">
<font color="#CCCCCC" size="-1" face="Arial, Helvetica, sans-serif">
&nbsp&nbsp ELIMINAR &nbsp&nbsp</font>
</a>
<a href="modificar.html" class="boton">
<font color="#CCCCCC" size="-1" face="Arial, Helvetica, sans-serif">
&nbsp&nbsp MODIFICAR &nbsp&nbsp</font>
</a>
</div>
Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Opcin AGREGAR archivo html


<div id="contenido">
<div align="center">
<font color="#FFFFFF" face="Arial, Helvetica, sans-serif" size="-1">
AGREGAR UN NUEVO LIBRO<br>
<form action="alta.php" method="post">
<label>Autor: </label><input name="autor" type="text" size="20" maxlength="50" />
<label>Titulo:</label><input name="titulo" type="text" size="40" maxlength="70" />
<label>Categoria:</label><input
name="categoria"
type="text"
size="10"
maxlength="20" />
<label>Edicin:</label><input name="edicion" type="text" size="6" maxlength="8" />
<label>ISBN:</label><input name="isbn" type="text" size="14" maxlength="13" />
<input name="alta" type="submit" value="AGREGAR REGISTRO" />
<input name="limpiar" type="reset" value="Limpiar Datos" />

</form>
</font>
</div>

Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Opcin AGREGAR archivo php


<?php
require_once 'login.php';
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
if (!$db_server) die("No se puede establecer una conexion a MySQL: " . mysql_error());
mysql_select_db($db_database, $db_server) or
die("Error al seleccionar la Base de Datos: " . mysql_error());
$autor = $_POST['autor'];
$titulo = $_POST['titulo'];
$categoria = $_POST['categoria'];
$edicion = $_POST['edicion'];
$isbn = $_POST['isbn'];
$query = "INSERT INTO clasicos VALUES" . "('$autor', '$titulo', '$categoria', '$edicion',
'$isbn')";
if (!mysql_query($query, $db_server))
echo "Error al AGREGAR el registro: $query<br />" . mysql_error() . "<br /><br />";
else
echo "LIBRO AGREGADO CORRECTAMENTE";
mysql_close($db_server);
Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012
?>

PROGRAMACION WEB

Objetivo

Utilizar un lenguaje de programacin del lado del


servidor, para la construccin de aplicaciones web.

Opcin CONSULTA archivo php


<div id="contenido">
<div align="center">
<font color="#FFFFFF" face="Arial, Helvetica, sans-serif" size="-1">
CONSULTAR LOS DATOS DE UN LIBRO<br>
<form action="consulta.php" method="post">
<label>Autor: </label><input name="autor" type="text" readonly="readonly"
size="20" maxlength="50" value="$registro[0]"/>
<label>Titulo:</label><input name="titulo" type="text" readonly="readonly"
size="40" maxlength="70" value="$registro[1]"/>
<label>Categoria:</label><input name="categoria" type="text
readonly="readonly" size="10" maxlength="20" value="$registro[2]"/>
<label>Edicion:</label><input name="edicion" type="text" readonly="readonly"
size="6" maxlength="8" value="$registro[3]"/>
<label>ISBN:</label><input name="isbn" type="text" readonly="readonly"
size="14" maxlength="13" value="$registro[4]"/>
</form>
</font>
</div>
Bibliografia: Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

PROGRAMACION WEB

Objetivo

Construir proyectos web mediante un lenguaje de


marcas.

Referencias
http://www.matpec.com.ar/desde0/desde0-6-introduccion.htm#menu

Bibliografa
Learning PHP, MySQL, JavaScript, and CSS, Robin Nixon, OReilly , 2012

Vous aimerez peut-être aussi