Está en la página 1de 67

Conocimiento Prctico en Computacin

Introduccin al Lenguaje PHP y MySQL


Email: prof_montiel@hotmail.com
1
INICIAR
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
2
Introduccin
Qu es PHP?
Qu se puede hacer con PHP?

Instalacin del Ambiente de
Desarrollo
Referencia del lenguaje


Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
3
Qu es PHP?

PHP (acrnimo de "PHP: Hypertext Preprocessor")
es un lenguaje "open source" interpretado de alto
nivel embebido en pginas HTML y ejecutado en el
servidor.

Es un mdulo de programa del lado del servidor
(server-side), que con respecto a la competencia
ofrece mayor velocidad, bibliotecas ms cmodas y
posibilidades considerablemente mejores para la
conexin a bases de datos

Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
4
<html>
<head> <title>Ejemplo Chafa</title> </head>
<body>
<?php echo Ke tranza Mongol!!!!; ?>
</body>
</html>
Ejemplo aclaratorio
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
5
Qu se puede hacer con PHP?

PHP puede hacer cualquier cosa que se pueda
hacer con un script CGI, como procesar la
informacin de formularios, generar pginas con
contenidos dinmicos, o mandar y recibir cookies.
Y esto no es todo, se puede hacer mucho ms.
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
6
Quizs la mas poderosa y significativa caracterstica de
PHP es su soporte para un gran rango de bases de datos.
Escribir una pagina Web con accesos a una base de datos
es increblemente simple.

Las siguientes bases de datos son soportadas:











Adabas D Ingres Oracle dBase
InterBase Ovrimos Empress FrontBase
PostgreSQL FilePro mSQL Solid
Hyperwave MS-SQL Sybase IBM DB2
MySQL Velocis Informix ODBC
Unix dbm
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
7
PHP y Protocolos

PHP tambin tiene soporte para hablar con
otros servicios usando protocolos como
IMAP, SNMP, NNTP, POP3, y por supuesto
HTTP

Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
8
REQUISITOS
Cabe mencionar que, a lo largo del presente
seminario, se presuponen conocimientos
bsicos de HTML y de JavaScript.
Por otro lado, para llevar a cabo el aspecto
prctico del seminario en cuestin, se
emplear el software appserv-win32-2.6.0
(traer un CD para quemarlo).
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
9
Instalacin del ambiente de desarrollo para PHP
En este mdulo se emplear el software:
AppServ Open Project for Windows
- Appserv-win32-2.6.0.exe (20 MB aprox.) -
El cul contiene:
- Apache WebServer Version
- PHP Script Language Version
- MySQL Database Version
- phpMyAdmin Database Manager

Totalmente gratuito!.
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
10
Instalacin del ambiente de desarrollo para PHP
1. Ejecutar el archivo Appserv-win32-2.6.0.exe, se
mostrar la siguiente imagen:




2. Aparecer la ventana AppServ v2.6.0 Setup,
haz clic en el botn Next, enseguida se
mostrar el nombre de la carpeta (AppServ),
que se sugiere emplear, y haz clic en Next.
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
11
Instalacin del ambiente de desarrollo para PHP
3. En la ventana Select Components, puedes
habilitar todos los componentes; en los
laboratorios se instalaron todos los
componentes excepto PHP-Nuke, haz clic en
Next.
4. En la ventana Apache httpd Server permitimos
los valores por omisin, ya que nuestro caso es la
instalacin de un servidor local, y haz clic en
Next.
5. En la ventana MySQL Database, omitimos el
Username y la Password, y haz clic en
Next.
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
12
Instalacin del ambiente de desarrollo para PHP
6. En la ventana Finished, permitimos que se
activen, tanto Apache como MySQL, haz clic en
Close.
7. A manera de verificacin captura las tres
siguientes lneas de cdigo con el Bloc de
Notas, y guarda el archivo en la carpeta:
C:\AppServ\www, as como ndica en Tipo:
Todos los archivos , con el nombre: testea.php

<?
phpinfo();
?>

Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
13
Instalacin del ambiente de desarrollo para PHP
8. Teclea la siguiente lnea en el cuadro de texto de Direccin de tu
ventana MiPC: http://localhost/testea.php
Debiendo aparecer la siguiente ventana:
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
14
El lenguaje, -Sintaxis bsica-

Insertando PHP
Hay 4 maneras de insertar cdigo PHP en una pgina HTML:

1) <? echo "La forma simple\n"; ?>

2) <?php echo Elegancia ante todo..."; ?>

3) <script language="php">
echo Explicitez ante todo!!!!";
</script>

4) <% echo ( "La costumbre de ASP..." ); %>
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
15
Aunque tambin puede optarse por usar cdigo PHP
que escriba el HTML necesario:

<?php
echo <html>\n;
echo <head><title>Probando</title></head> \n;
echo <body>Esto es una prueba</body> \n;
echo </html>\n;
?>

Los nombres y palabras reservadas de PHP son
case-sensitive, es decir, que distingue entre
maysculas y minsculas.
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
16
Separacin de instrucciones

Las instrucciones se separan igual que en C o en Perl, es decir,
con ;. El tag de final ?> tambin implica separacin de
instrucciones. As las sentencias siguientes son equivalentes:

<?php
echo Esto es una prueba;
?>

equivalente a esta otra:

<?php echo Esto es una prueba ?>
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
17
Comentarios

Estilo C:

/* Comentario */

Estilo C++:

// Comentario

Estilo Shell Unix:

# Comentario

Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
18
Tipos

Los tipos bsicos de PHP son:

>> Array
>> Reales
>> Entero
>> Objeto
>> Strings

El tipo de una variable no lo decide el programador sino que se
decide en tiempo de ejecucin dependiendo del contexto en el
que aparezca la variable, se conocen como variables NO
TIPIFICADAS, y deben iniciar con el smbolo $ (pesos).
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
19
<?php
$nombresdeAmigas=array("Fabiola", "Patricia", "Martha",
"Rebeca", "Rosa Maria", "Ana Maria", "Asuncin", "Margarita");

$buscoChava=Perla";

if (in_array($buscoChava, $nombresdeAmigas)) {
echo Esta disponible!!!";
} else {
echo Chafeaste ...........;
}
?>

Ejemplo de Array
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
20
Operaciones aritmticas

+ Suma $a + $b
- Resta $a - $b
* Multiplicacin $a * $b
/ Divisin $a / $b
% Residuo $a % $b
.
Une cadenas
$a . $b
$a++
++$a
Aumenta $a en 1
$a
--$a
Disminuye $a en 1
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
21
Operaciones relacionales
== igual
> Mayor que
< Menor que
>= Mayor igual
<= Menor igual
!= distinto
La diferencia entre $j++ y ++$j es:
$j=0;
echo $j++;
Da 0, despus se aumenta
$j en 1.
$j=0;
echo ++$j;
Primero aumenta $j en 1 y
da el valor de 1.
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
22
<?php
$a = localtime();
$a[4] += 1;
$a[5] += 1900;
print <center>Hora: ".$a[2]." hrs. ".$a[1]." mins.".$a[0]." segs.<br><p>";
print "Fecha: ".$a[4]." / ".$a[3]." / ".$a[5]. </center>";
?>
Ejemplo de Array
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
23
La funcin getdate()
Una funcin importante es getdate, que proporciona informacin
sobre la fecha y la hora, se trata de una matriz que puede leerse
en una variable. Por ejemplo:
<html>
<head><title>Manejo de la Fecha</title></head>
<body bgcolor="#ccffcc">
<center><font color=red><h2>La funcin de fecha getdate()</h2></font>
<?php
$mon = getdate();
$dia = $mon['weekday'];
$mes = $mon['month'];
$dian = $mon['yday'];
$anio = $mon['year'];
echo "Hoy es $dia <br> ";
echo "Estamos en el mes de $mes <br>";
echo "Estas declaraciones se hiciern el da $dian del ao $anio";
echo "</center>";
?>
</body>
</html>
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
24
<?
if (isset($visita)) {
$unomas = $visita + 1;
setcookie("visita",$unomas, time() + (30 * 86400));
}
else setcookie("visita","2",time() + (30 * 86400));

if(isset($visita)) echo Esta pgina la haz visitado <B>$visita</B> veces";
else echo "Es la primera vez que visitas esta pgina."
?>

Ejemplo de Enteros ...
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
25
Ahora, va uno de nmeros aleatorios ....
<?
$numero = rand(1,100);
echo "El numero al azar es: <B>$numero</B>";
?>
Dando:
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
26
Otro mas de Enteros
-Factorial de 5-
<?php
$n = 5;
$ncopy = $n;
$factorial = 1;
do {
$factorial = $n * $factorial;
$n--;
} while ($n >0);
print "El factorial de $ncopy es $factorial.";
?>
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
27
Tipo String
<?
$hoy = date("l");
if ($hoy == "Sunday")
{ print ("<center><img src=\"images/image1.jpg\ width=100 height=120></center>"); }
if ($hoy == "Monday")
{ print ("<center><img src=\"images/image2.jpg\" width=100 height=120></center>"); }
if ($hoy == "Tuesday")
{ print ("<center><img src=\"images/image3.jpg\" width=100 height=120></center>"); }
if ($hoy == "Wednesday")
{ print ("<center><img src=\"images/image4.jpg\" width=100 height=120></center>"); }
if ($hoy == "Thursday")
{ print ("<center><img src=\"images/image5.jpg\" width=100 height=120></center>"); }
if ($hoy == "Friday")
{ print ("<center><img src=\"images/image6.jpg\" width=100 height=120></center>"); }
if ($hoy == "Saturday")
{ print ("<center><img src=\"images/image7.jpg\" width=100 height=120></center>"); }
?>
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
28
<?
$hoy = date("l");
if ($hoy == "Sunday")

{ print ("<center><img src=\"images/image1.jpg\" width=200 height=240></center>");}

if ($hoy == "Monday")
{ print ("<center><img src=\"images/image2.jpg\" width=200 height=240></center>");}

if ($hoy == "Tuesday")

{ print ("<center><img src=\"images/image3.jpg\" width=200 height=240></center>");}

if ($hoy == "Wednesday")
{ print ("<center><img src=\"images/image4.jpg\" width=200 height=240></center>");}

if ($hoy == "Thursday")
{ print ("<center><img src=\"images/image5.jpg\" width=200 height=240></center>");}
if ($hoy == "Friday")
{print ("<center><img src=\"images/image6.jpg\" width=200 height=240></center>");}

if ($hoy == "Saturday")
{ print ("<center><img src=\"images/image7.jpg\" width=200 height=240></center>");}
?>
Strings
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
29
<?php
$a = getdate();

switch ( $mes = $a['month'] ) {
case 'January':
$mes = "Enero";
break;
case 'February':
$mes = "Febrero";
break;
case 'March':
$mes = "Marzo";
break;
case 'April':
$mes = "Abril";
break;
case 'May':
$mes = "Mayo";
break;
case 'June':
$mes = "Junio";
break;

case 'July':
$mes = "Julio";
break;
case 'August':
$mes = "Agosto";
break;
case 'September':
$mes = "Septiembre";
break;
case 'October':
$mes = "Octubre";
break;
case 'November':
$mes = "Noviembre";
break;
case 'December':
$mes = "Diciembre";
break;
} echo "Fecha: <br>";
echo $mes." ".$a['mday'].",
".$a['year'];
?>
Mas de Strings
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
30
<?php
// Habilitamos algunas variables:
$titulo_del_site = "Seminario de Titulacin";
$color_del_fondo = "#ccffcc";
$usuario = "Prof. Montiel";
?> <html><head><title><? print $titulo_del_site; ?></title></head>
<body bgcolor="<? print $color_del_fondo; ?>">
<?
// Despliega mensaje
print " PHP Bienvenido - | ".date("F d, Y")." <br>
Saludos, $usuario! <br>";
?>
</body>
</html>
Contenido dinmico
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
31
<?php

define("PI","3.141592");

print "Hola, tu direccin IP es: $REMOTE_ADDR"."<br>";
print "Tu Navegador es: $HTTP_USER_AGENT"."<br>";
print "El valor de PI es ". PI."<br>";
$doblePI = 2 * PI;
print "El doble de PI es: $doblePI";
?>

Definicin de Constantes
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
32
Formularios
Puesto que PHP fue creado especialmente para disear pginas
Web dinmicas, resulta muy fcil almacenar y emitir datos de
formularios HTML en variables, por ejemplo, el contenido del
archivo envia_info.htm:

<html>
<head><title>Pasar informacin a PHP</title></head>
<body bgcolor="#ccffcc">
<h1><center>Pasar Informacin</h1><hr>
<form action="recibe_info.php" method="post">
Por favor teclea tu nombre: <br>
<input name="dato" type=text><br><p>
<input type="submit" value="Enviar datos">
</form></center>
</body>
</html>

Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
33
Formularios
y por consiguiente el contenido del archivo recibe_info.php, es:

<html>
<head><title>Respondiendo!!!!</title></head>
<script>
function cerrar()
{ window.close(); }
</script>
<body bgcolor="#ffccff"><center>
<?php echo "el dato recibido es: $dato"; ?><br><p>
<form>
<input type="button" value="Cerrar ventana" onclick=cerrar()>
</form></center>
</body>
</html>

Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
34
Formularios
Al ejecutar el archivo envia_info.htm, se tiene:







Obviamente con el nombre ya tecleado!, y enseguida al hacer clic
en el botn Enviar datos, se tiene
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
35
Formularios
la siguiente pgina:

Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
36
Funciones
Una parte importante de todo lenguaje de programacin es la
capacidad de reunir varios comandos en un nico comando y
almacenarlo como funcin. Si la funcin debe proporcionar un
valor, deber indicarlo en el comando return. Por ejemplo:
<?php
function dia_minutos ( $cantidad )
{
$minutos = 60 * 24 * $cantidad;
return $minutos;
}
?>
Te aconsejo que captures ste cdigo y almacnalo en un archivo llamado
Fun_DiaMin.php.
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
37
Funciones
El siguiente script de programacin utiliza la nueva funcin
(Fun_DiaMin.php). Para que la secuencia de comandos reconozca
la funcin, debes incluirla mediante:
include(Fun_DiaMin.php);

<html><head><title>Funciones en PHP</title></head>
<body><center><h1>Calcula los das en minutos</h1><hr>
<?php include(Fun_DiaMin.php);
$x = dia_minutos( 7 );
echo 7 das tiene $x minutos;
?></center>
</body>
</html>
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
38
Funciones
El resultado es el siguiente:
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
39
Leer y escribir archivos
Para la creacin de contadores o libros de visitantes es necesario
leer y editar archivos que se encuentran en el servidor. Para ello
es necesario abrir, leer (o modificar) y cerrar el archivo.
Para abrir un archivo se emplea la funcin fopen. El resultado se
almacena en la variable $archivo:
$archivo = fopen(archivo, parametro);
De donde parmetro puede adoptar los siguientes valores:
r Slo lectura
r+ Lectura y escritura
w Slo escritura
a Aadir o agregar
a+ Lectura y escritura
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
40
Leer y escribir archivos
Ejemplo:
:
while ( !feof($archivo)) {
$linea = fgets($archivo, 100);
echo $linea;
}
:
De donde:
feof($archivo) es verdadero, siempre que se haya alcanzado el final del archivo.
$linea = fgets($archivo, 100); lee como mximo las prximas 100 lneas, pero se
detiene cuando empieza una nueva linea o cuando se alcanza el final del archivo.
echo $linea; devuelve lo leido.
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
41
Leer y escribir archivos
Ejemplo cambiar Proverbio mensualmente
<?php
$mon = getdate();
$mesc = $mon['month'];
$mes = $mon['mon'];
echo "<font color=red>Proverbio del mes $mesc".": </font><br><p>";
$archivo = $mes.".txt";
readfile($archivo);
?>

Observaciones: este cdigo permite realizar automticamente cambios en
su pgina Web, dependiendo del mes se desplegar un proverbio diferente,
los proverbios de cada mes estn almacenados en los archivos: 1.txt, 2.txt,
3.txt, , 12.txt. El resultado se muestra en la siguiente diapositiva
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
42
Leer y escribir archivos
Para el mes de Diciembre:
Para el mes de Enero:
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
43
Leer y escribir archivos
Ejemplo Libro de visitas
El siguiente script de programacin Librito.php permite crear un
pequeo libro de opiniones, adems se requiere de un archivo de texto
vaco opiniones.txt, en el cual se almacenarn todas las opiniones
vertidas por los usuarios:
<html>
<head><title>Libro de Visitas</title></head>
<body bgcolor="#ccffcc"><center><h1>Un pequeo libro de visitas</h1><hr>
<form action="<?php echo $PHP_SELF ?>" method="POST">
<textarea cols=60 rows=5 name="opinion" wrap=virtual></textarea>
<input type="submit" value=" Enviar opinion ">
</form>
<?php
if (isset($opinion)) {
$fp = fopen("opiniones.txt","a");
fwrite($fp, nl2br($opinion)."<p>\n");
fclose($fp); }
?>
<p><font color=red>Opiniones que ya se han escrito: </font></p>
<?php readfile("opiniones.txt") ?>
</body>
</html>
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
44
Leer y escribir archivos
Libro de visitas
La siguiente imagen nos muestra la 2a. ocasin que se empleo el programa
librito.php:
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
45
Leer y escribir archivos
Los queridos y odiados cookies
Hemos visto ejemplos en donde se almacenan datos en archivos de
texto, en estos casos, los archivos estn situados en el servidor
Web. Si, por el contrario, si queremos almacenar secuencias de
caracteres en el disco duro del usuario, entonces haremos
referencia a los cookies.
Los cookies pueden contener informaciones sobre el usuario para
reconocerlo en su prxima visita, los cookies tienen una vida
determinada, que puede abarcar de segundos a aos.
El tamao mximo de un cookie es de 2048 bits.
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
46
Los queridos y odiados cookies
Enseguida tenemos el formulario que solicita tu nombre
(nombre_cookie.php):
<html>
<head><title>Ejemplo de Cookies</title></head>
<body>
<form action="cookie.php">
<p><b>Por favor, teclea tu nombre: </b></p>
<p><?php
echo '<input type="text" name="nombre" size="15" value="'.$cknombre.'">';
?>
</p>
<p><input type="submit" value=" Enviar " name="B1"></p>
</form>
</body>
</html>
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
47
Los queridos y odiados cookies
y ahora tenemos el script cookie.php:
<?php
setcookie("cknombre", $nombre, time() + 72 * 3600);
echo "Tu nombre es: $nombre <br>";
?>
Al ejecutar la pgina nombre_cookie.php, se tiene:
y obviamente tecleo mi
nombre: Prof Montiel, y al
hacer clic en el botn Enviar,
se muestra
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
48
Los queridos y odiados cookies
la siguiente pgina:
Como ya mencione, la secuencia de caracteres se graba en un
archivo (cookie) en el disco duro del usuario, pero en donde?, ah
pues en la siguiente diapositiva se indica donde diablos
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
49
Los queridos y odiados cookies
su ubicacin (en Windows XP):
su contenido:
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
50
Base de Datos MySQL
Antes de iniciar con la utilizacin de la base de datos MySQL, te
suguiero crear un acceso directo mediante el cual puedas ejecutar el
comando mysql.exe, cuya ubicacin es: c:\AppServ\mysql\bin.
Al ejecutar este comando se activa el ambiente de MySQL, se mostrar
la siguiente ventana (ambiente MSDOS):


y como observars, el prompt o indicador es mysql>
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
51
Base de Datos MySQL
En la siguiente ventana se muestran las instrucciones o comandos de MySQL para crear una
base de datos, a la cual llamar escuela (recuerda, en el ambiente de MySQL):
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
52
Base de Datos MySQL
Ahora, vamos a crear la tabla amigos, pero esto lo realizaremos dentro de un script de php,
pero antes debers de crear dos archivos php, el primero se debe de llamar conexion.php y
el segundo envia_sql.php, los cdigos son los siguientes:
Script conexion.php:

<?php
$link = mysql_connect("localhost","","");
$db = "escuela";
?>

Script envia_sql.php.

<?php
function enviar_sql($db, $sql)
{ if ( !$respuesta=mysql_db_query($db, $sql)) {
echo mysql_error();
exit; }
return $respuesta;
}
?>
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
53
Base de Datos MySQL
Ahora si, el siguiente script corresponde a la creacin de la tabla amigos, a
este le llamar crea_tabla_amigos.php:
<html>
<head><title>Tabla de amigos</title></head>
<body bgcolor="#ccffcc">
<center><h1>Creacin de la tabla de Amigos</h1>
<?php
include("conexion.php");
include("envia_sql.php");
$sql = "CREATE TABLE amigos (clave_amigo INT (2) NOT NULL PRIMARY KEY,
nombre CHAR(10),
apellidos CHAR(25),
email CHAR(25),
telefono CHAR(8),
nacimiento DATE )";
if ( $respuesta=enviar_sql($db, $sql)) {
echo "El comando SQL se ha ejecutado exitosamente! }
?></center>
</body>
</html
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
54
Base de Datos MySQL
Al ejecutarse el script crea_tabla_amigos.php se tendr la ventana
siguiente (claro!, siempre y cuando no hayas cometido ningun error):
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
55
Base de Datos MySQL
... y a manera de chequeo, empleamos los comandos USE y DESCRIBE, como se indica
enseguida:
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
56
Base de Datos MySQL
<html>
<head><title>Tabla de Amigos</title></head>
<body bgcolor="#ccffcc">
<center><h1>Alta de informacin para la tabla Amigos</h1>
<?php
include("conexion.php");
include("envia_sql.php");
$sql = "INSERT INTO amigos VALUES ( 1, 'Rebeca','Ruiz Cruz','curiosita@hotsex.com',
'0445512123434','1970-10-12')";
if ( $respuesta=enviar_sql($db, $sql)) {
echo "El comando SQL se ha ejecutado exitosamente!!"; }
?></center>
</body>
</html>
Ahora es buen momento para Insertar o dar de alta registros a la tabla
amigos, para ello crearemos el archivo Alta_Inf_Amigos.php, cuyo
cdigo es el siguiente (se introducen los datos del registro en el mismo
cdigo):
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
57
Base de Datos MySQL
Al ejecutar el script alta_inf_amigos.php deber de mostrarse una
imagen semejante a la siguiente:
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
58
Base de Datos MySQL
para verificar el contenido de la tabla amigos, debers de emplear los comandos
USE y SELECT, tal como se muestra enseguida:
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
59
Base de Datos MySQL
<html>
<head><title>Formulario ALTAS -tabla amigos-</title></head>
<body bgcolor="#ccffcc">
<center><h1>Formulario Altas "amigos"</h1><hr>
<b>Por favor, introduce los datos correspondientes:</b>
<form action="Form_alta_amigos.php" method="post">
<table border=0>
<tr><td>Clave de amigo:<td><input type="text" name="ClaveAmigo" size="3">
<tr><td>Nombre:<td><input type="text" name="NombreAmigo" size="15">
<tr><td>Apellidos:<td><input type="text" name="ApellidosAmigo" size="20">
<tr><td>Email:<td><input type="text" name="EmailAmigo" size="20">
<tr><td>Telefono:<td><input type="text" name="TelefonoAmigo" size="13">
<tr><td>Fecha de Nacimiento:<td><input type="text" name="NacimientoAmigo" size="8">
<tr><td><input type="submit" value="Enviar"><input type="reset" value="Eliminar">
</table></center>
</body>
</html>
Bien, ahora introduciremos datos a la tabla amigos a travs de un formulario (el
medio ms empleado), sin embargo para llevar a cabo dicha accin debers de
instalar la version AppServ win32-2.3.0, el cdigo sera:
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
60
Base de Datos MySQL
para la verificacin, volvemos a emplear los
comandos de MySQL: USE y SELECT, tal
como se muestra en la siguiente imagen:
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
61
Base de Datos MySQL Consultas-
<?php
function preparar_salida($resultado)
{ $CantidadCampos = mysql_num_fields($resultado);
$ancho = 100/$CantidadCampos."%";
echo "<table width=100% border=0 cellpadding='2' cellspacing='2'>";
echo "<tr bgcolor=#d0d0d0>";
for ( $i=0; $i<$CantidadCampos; $i++ )
{ echo "<th width='$ancho'><font size='1'>";
echo mysql_field_name($resultado, $i);
echo "</font></th>"; }
echo "</tr>";
echo "<tr>";
$NumeroRenglones = mysql_num_rows($resultado);
for ( $j = 0; $j<$NumeroRenglones; $j++ )
{ $renglon = mysql_fetch_array($resultado);
echo "<tr bgcolor=#cccccc>";
for ( $k=0; $k<$CantidadCampos; $k++ )
{ $NombreCampo = mysql_field_name($resultado, $k);
echo "<td width='$ancho'><font size='1'> $renglon[$NombreCampo] </font></td>"; }
echo "<tr>";
echo "</tr>";
}
echo "</table>";
}
?>
Antes de realizar la primera consulta, te sugiero captures el siguiente cdigo (funcin PHP) que
permitir darle formato a la salida de la consulta que realicemos, llamale: prepara_salida.php:
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
62
Base de Datos MySQL Consultas-
<html>
<head><title>Consulta de la Tabla Amigos</title></head>
<body bgcolor="#cffffc">
<center><h1>Consulta informacin de la tabla Amigos</h1>
<?php
include("conexion.php");
include("envia_sql.php");
include("prepara_salida.php");
$sql = "select * from amigos ";
if ( $respuesta=enviar_sql($db, $sql)) {
echo "Consulta: $sql"; }
preparar_salida($respuesta);
?></center>
</body>
</html>
El siguiente cdigo nos permitir efectuar una consulta a la tabla amigos de la base de datos
escuela, llmale ConsultaAmigos.php (en la siguiente diapositiva se muestra el resultado):
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
63
Base de Datos MySQL Consultas-
He ah el resultado:
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
64
Base de Datos MySQL Consulta-
<html>
<head><title>Consulta de la Tabla Amigos</title></head>
<script>
function Cerrar()
{ window.close(); }
</script>
<body bgcolor="#cffffc">
<center><h1>Consulta Tabla Amigos por Clave</h1><hr>
<form action="<?php echo $PHP_SELF ?>" method="POST">
Teclea la clave: <input type="text" name="clave" size="4"><br><p>
<input type="submit" value=" Enviar ">
<input type="button" value=" Cerrar sesion " onclick="Cerrar()">
</form>
<?php
if (isset($clave)) {
include("conexion.php");
include("envia_sql.php");
include("prepara_salida.php");
$sql = "select * from amigos where clave_amigo=$clave ";
if ( $respuesta=enviar_sql($db, $sql)) {
echo "Consulta: $sql"; }
preparar_salida($respuesta); }
?></center>
</body>
</html>
El siguiente cdigo nos permite efectuar consultas por medio de la clave, empleando la
clusula Where en la instruccin SELECT, captralo y llmale ConsultaPorClave.php:
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
65
Base de Datos MySQL Consulta-
Resultado de la consulta, al haber tecleado la clave 12:
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
66
<?php
if ( empty($usuario) || empty($password) )
{
?>
<center><h1>Teclea los siguientes datos:</h1><hr>
<form method="post" action="login.php">
<table border="1">
<tr><th>Username: </th><td> <input type="text" name="usuario"> </td></tr>
<tr><th>Contrasea: </th><td><input type="password" name="password"></td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="Log in">
<input type="reset" value="Limpia"></td></tr>
</table>
</form>
<?php
}
else if ( $usuario == 'montiel' && $password == "orale" )
{ echo "<h1>Usuario registrado!</h1>";
echo "Me siento halagado de que me visites, .... :-)"; }
else
{ echo "<h1>Usuario no registrado!</h1>";
echo "Te ruego que hables con el administrador, .... ;-("; }
?>
Cdigo para efectuar la validacin de usuarios, te sugiero que le llames: login.php:
Conocimiento Prctico en Computacin
Introduccin al Lenguaje PHP y MySQL
Email: prof_montiel@hotmail.com
67
Teniendo como resultado la siguiente imagen: