SlideShare une entreprise Scribd logo
1  sur  93
Télécharger pour lire hors ligne
Por cortesía de Pedro A. Castillo
Valdivieso para
ProgramadorPHP.Org – Juan Belón
                                    1
¿Qué es PHP?
Un lenguaje de "código abierto"
interpretado, de alto nivel,
embebido en páginas HTML y
ejecutado en el servidor.




                                  2
¿Qué se puede hacer con PHP?

• Scripts en el lado del servidor

• Scripts en la línea de comandos

• Aplicaciones de interfaz gráfica




                                     3
¿Qué características tiene PHP?
Versiones para la mayoría de los S.O.

Soporta la mayoría de los servidores web

Tipos de programación:
    – Procedimental
    – Orientada a objetos
Generación de múltiples formatos (HTML,
XML, PDF, imágenes, ...)
                                           4
Múltiples extensiones
Bases de datos:   Protocolos:
- Dbase                - LDAP
- Hyperwave            - IMAP
- IBM DB2              - SNMP
- Direct MS-SQL        - NNTP
- MySQL                - POP3
- ODBC                 - HTTP
- Oracle
- PostgreSQL

                                 5
Instalación de PHP
Un buen tutorial para la instalación:
     http://php.net/manual/en/install.php

La mejor opción (para usuarios no avanzados)
es usar XAMPP.

Incluye Apache, PHP, Perl y MySQL

     http://apachefriends.org/en/xampp.html
                                              6
El primer script

<html>
<head>
     <title>primer script</title>
</head>      Etiqueta                 Orden a
             de inicio                ejecutar
<body>
     <?php
          echo "<p>Hola mundo</p>";
     ?>

<p>Más contenido HTML</p>
</body>
              Etiqueta
</html>        de fin                            7
Ejercicio: probar el primer script
+ Crea un documento de texto con extensión .php en el espacio web
de tu servidor.
+ Copia el siguiente contenido.
+ Accede desde el navegador a este script alojado en tu servidor
                http://127.0.0.1/hola.php

<html>
<body>
     <?php
              echo "<p>Hola mundo</p>";
     ?>
</body>
</html>
                                                             8
Ejecutar en la ventana de comandos




                                 9
Sintaxis básica
Separación de instrucciones con ;

La etiqueta de fin ?> también equivale a fin
de instrucción

Comentarios:
   // ...
   /*...*/

                                         10
Insertar código PHP
<?php
    echo “Hola Mundo”
                              Las tres son
?>                            equivalentes


<? echo “Hola Mundo” ?>

<script language="php">
     echo “Hola Mundo”
</script>
                                    11
Variables
Comienzan por $
Son sensibles a mayúsculas y minúsculas
Empezar con una letra o un carácter
de subrayado (después del $)
Pueden contener cualquier número de:
  – letras: a-zA-Z
  – números: 0-9
  – caracteres de subrayado: _

                                          12
Tipos de datos
Tipos escalares:
  – Boolean, integer, float, string

Tipos compuestos:
  – Array, object

En PHP no se define el tipo de las variables


                                         13
Datos escalares. Valores numéricos
Podemos trabajar de forma similar a C/C++
<html><body>

     <?php
          $num = 7;
          $cont = 9;
          $suma = $num + $cont;
          echo "<p>SUMA = $suma</p>";
     ?>

</body></html>

                                            14
Ejercicio: probar el script anterior
+ Crea un documento de texto con extensión .php en el espacio web
de tu servidor.
+ Copia el siguiente contenido.
+ Accede desde el navegador a este script
        http://127.0.0.1/suma.php

<html><body>
<?php
       $num = 7;
       $cont = 9;
       $suma = $num + $cont;
       echo "<p>SUMA = $suma</p>";
?>
</body></html>


                                                            15
Datos escalares. Cadenas
Pueden estar delimitadas por “ o por „
<html><body>

     <?php
          $cad = "una cadena de caracteres";
          $str = "otra cadena";
          $concat = $cad . $str;
          echo "<p>CONCAT = $concat</p>";
     ?>

</body></html>

                                          16
Datos escalares. Cadenas
Para generar una fecha (con hora, min, seg):
$fecha = date("Y-n-j H:i:s");
echo "$fecha";




Para trocear una cadena según un carácter:

$trocitos = explode("#",$cadena);
echo "primer trozo: $trocitos[0] ";

                                               17
Ejercicio: mostrar la fecha

+ Haz un script que cada vez que se acceda a él muestre la fecha y la
hora.

+ Accede desde el navegador al script
              http://127.0.0.1/fecha.php



<?php
        $fecha = date("Y-n-j H:i:s");
        echo "$fecha";
?>
                                                               18
Funciones de manejo de cadena
En la siguiente dirección encontraremos la
guía completa de las funciones de cadenas de
PHP:

http://www.w3schools.com/PHP/php_ref_string.asp




                                          19
Arrays indexados
1. Crear el array automáticamente, comenzando
en el índice 0:

$nombres=array("pepe","juan","luisa","pepa");

2. Asignar los índices manualmente:
$nombres[0]="pepe";
$nombres[1]="juan";
$nombres[2]="luisa";
$nombres[3]="pepa";

                                          20
Arrays indexados
3. Acceder a los elementos:

<?php

$nombres[0]="pepe";
$nombres[1]="juan";
$nombres[2]="luisa";
$nombres[3]="pepa";

echo $nombres[0] ." quiere a ". $nombres[3] ;

?>
                                          21
Ejercicio: Arrays
+ Crea un documento de texto con extensión .php en el espacio web
de tu servidor.
+ Copia el siguiente contenido.
+ Accede desde el navegador a este script.

<html><body>
<?php
       $nombres[0]="pepe";
       $nombres[1]="juan";
       $nombres[2]="luisa";
       $nombres[3]="pepa";

       echo $nombres[0] ." quiere a ". $nombres[3] ;
?>
</body></html>


                                                            22
Eliminar elementos de un array
Existe la función unset() para eliminar la
definición de una variable escalar o un array:

<?php

$nombres=array("pepe","juan","luisa","pepa");

unset( $nombres[0] );

unset( $nombres );

?>
                                            23
Arrays multidimensionales
Crearla con array; acceso con la sintaxis de
corchetes:

<?php

$matriz = array(
          "mdim"=>array(0=>5,1=>9,2=>35)
 );

echo $matriz["mdim"][0] ;
echo $matriz["mdim"][2] ;

?>                                             24
Ejemplo. Arrays multidimensionales




                                25
Arrays asociativos
1. Definamos un array asociativo para guardar
   datos de varias personas:
$edad=array("Pepe"=>32,"Juan"=>30,"Luis"=>34);

2. Creamos un array idéntico al anterior, pero
   usando una sentencia para cada elemento:
$edad['Pepe'] = "32";
$edad['Juan'] = "30";
$edad['Luis'] = "34";

                                             26
Arrays asociativos
3. La forma de usar estos arrays en un script es:

<?php

$edad['Pepe'] = "32";
$edad['Juan'] = "30";
$edad['Luis'] = "34";

echo "Pepe tiene " . $edad['Pepe'] . " años.";

?>


                                              27
Guía completa de funciones de arrays
En la siguiente dirección encontraremos la
guía completa de las funciones de manejo de
arrays de PHP:

http://www.w3schools.com/PHP/php_ref_array.asp




                                          28
Constantes
Las constantes en PHP tienen que ser
definidas por la función define() y además no
pueden ser redefinidas con otro valor

<?php
  define("CONSTANTE", "hello world.");
  echo CONSTANTE;
?>




                                         29
Expresiones y operadores
Se parecen mucho a los de C/C++

Los incrementos, asignaciones, etc, son
iguales.

Existen operadores para concatenar cadenas
(.) y para comprobar la identidad y tipo (===)


                                          30
Expresiones y operadores
Ejemplos:

x=2; y=x+3;               Operadores aritméticos

x=5; x++; x--;

                          Operadores de asignación
x=y; x=x/y;


5==8 es falso             Operadores de comparación
5<=8 es cierto


x=6; z=3;
                                    Operadores lógicos
(x<10 && z>1) es cierto
                                                      31
Estructuras de control
De cuando en cuando, debemos ejecutar diferentes
porciones de código en función de ciertas
condiciones. En estos casos debemos usar las
sentencias condicionales.


Para ejecutar diferentes porciones de código de
forma repetida, en lugar de replicar varias veces el
mismo código, debemos usar las sentencias de tipo
bucle.
                                               32
Estructuras de control condicional

<html>                     <html><body>
<body>
                           <?php
<?php
                           $d=date("D");
$d=date("D");              if ($d=="Fri"){
if ($d=="Fri") {              echo "Buen finde!";
     echo "Buen finde!";   }else{
}                             echo "Buenos dias!";
?>                         }
                           ?>
</body>
</html>                    </body></html>




                                                     33
Estructuras de control iterativas

<html><body>                 <html><body>

<?php                        <?php
$i=1;                        $i=1;
while($i<=5) {               do {
  echo "Iteración " . $i ;      $i++;
  echo "<br />";                echo "Iteración " . $i ;
  $i++;                         echo "<br />";
}                               }
?>                           while ($i<=5);
                             ?>
</body></html>
                             </body></html>




                                                    34
Estructuras de control iterativas

<html><body>                     <html><body>

<?php                            <?php
for ($i=1; $i<=5; $i++) {        $x=array("uno","dos","3");
  echo " Iteración " . $i ;      foreach ($x as $valor) {
  echo "<br />";                    echo $valor . "<br />";
}                                }
?>                               ?>

</body></html>                   </body></html>



                      <?php
                      $x=array("uno"=>1,"dos"=>2);
                      foreach ($x as $clave => $valor) {
                        echo " $clave= $valor ";
                      }                                 35
                      ?>
Ejercicio: estructuras de control
+ Haz un script que repita 10 veces el siguiente proceso:
       + mostrar el número de iteración
       + si la iteración es menor que 5, que muestre el mensaje
       anterior en negrita
       + si la iteración es mayor que 5, que muestre el mensaje en
       cursiva

+ Accede desde el navegador a este script
              http://127.0.0.1/bucle.php




                                                              36
Funciones en PHP
En la siguiente dirección encontraremos la guía
         completa de las funciones incluidas en
    PHP:

   http://www.w3schools.com/PHP/default.asp




                                              37
Funciones en PHP. Sintaxis


<html><body>

<?php
     function escribe() {
          echo "Hola";
     }

     echo "Vamos a saludar.";
     escribe();
?>

</body></html>
                                   38
Funciones en PHP. Parámetros

<html><body>

<?php
     function escribe($nombre,$edad) {
       echo $nombre . " tiene ";
       echo $edad . " años <br />";
     }

     escribe("Angel","78");
     escribe("Pepa",47);

?>
                                         39
</body></html>
Ejercicio: Funciones
+ Crea un documento de texto con extensión .php en el espacio web
de tu servidor.
+ Copia el siguiente contenido.
+ Accede desde el navegador a este script.

<html><body>
<?php
        function escribe($nombre,$edad) {
          echo $nombre . " tiene ";
          echo $edad . " años <br />";
        }

       escribe("Angel","78");
       escribe("Pepa","47");

?>
</body></html>

                                                            40
Funciones en PHP. Devolver valores
<html>
<body>

<?php
     function suma($x,$y) {
       $total=$x+$y;
       return $total;
     }

     $retorno = suma(10,13);
     echo "1 + 16 = " . suma(1,16);
?>

</body>
                                      41
</html>
E/S con ficheros
Estarán alojados en el servidor.
Necesitaremos:
      abrir, leer, escribir, cerrar, comprobar que existe
      el fichero

fopen (archivo, modo)

fgets (manejador_archivo, longitud)

fputs (manejador_archivo, cadena)

fclose (manejador_archivo)

file_exists (fichero)                               42
E/S con ficheros. Apertura y lectura

<?php
     $archivo = fopen("fichero.txt" , "r");

     if ($archivo) {
          while (!feof($archivo)) {
               $linea = fgets($archivo, 255);
               echo $linea;
          }
     }

     fclose ($archivo);
?>
                                          43
E/S con ficheros. Escritura
<?php
        $archivo = fopen("fichero.txt" , "w");
        fputs ($archivo, "Hola Mundo");
        fclose ($archivo);
?>


                                       Comprobar la existencia
<?php
        if ( file_exists("fichero.txt") ) {
              echo "El fichero existe";
        } else {
              echo "El fichero NO existe";
        }
?>

                                                         44
Ejercicio: E/S con ficheros

+ Haz un programa que abra un fichero de texto y muestre el
contenido.
+ Al mismo tiempo, que haga una copia sobre otro fichero (vaya
escribiendo cada línea leida en el segundo fichero).

+ Accede desde el navegador a este script
              http://127.0.0.1/fichero.php




                                                            45
include() / require()
Ambos incluyen y evalúan un archivo:
  require("libreria.inc");
  include("libreria.inc");

En caso de error en ese archivo:
  •require produce un error fatal
  •include sólo produce un warning (y sigue)

Existe require_once() e include_once()
                                         46
Usando require()
<?php                          <?php
                               require('libreria.php');
function mifuncion(){
        echo "mensaje n";     mifuncion();
}
                               echo "n otro mensaje n";
function miSuma($a,$b){
        $a = $a + $b;          $sum1=7;
        echo "suma = $a n";   $sum2=9;
}                              miSuma ($sum1, $sum2);

?>                             ?>



     libreria.php
                                               ejemplo.php


                                                          47
Usando include()

                                   <html><body>

                                   <?php
<a   href=http...>opción   1</a>
                                   include("menu.php");
<a   href=http...>opción   2</a>
                                   ?>
<a   href=http...>opción   3</a>
<a   href=http...>opción   4</a>
                                   <p>contenido html</p>
<a   href=http...>opción   5</a>
                                   </body></html>



     menu.php

                                                    ejemplo.php


                                                             48
Formularios HTML
Proceso:
• El cliente pide una página HTML que
contiene un formulario

• Lo rellena y envía los datos.

• La petición se hace a un script PHP que los
recibe, los procesa y genera una página
HTML que se envía al cliente.
                                         49
Formularios HTML
El formulario puede ser como el siguiente

<html><body>

<form action="procesar.php" method="post">

   Nombre: <input type="text" name="nombre" />
   Edad: <input type="text" name="edad" />
   <input type="submit" />

</form>

</body></html>
                                 formulario.html 50
Formularios HTML
El script que recibe y procesa los datos:

<html><body>
Hola
     <?php
          echo $_POST["nombre"];
     ?>
Tienes
     <?php
          echo $_POST["edad"];
      ?>
años.
</body></html>
                                   procesar.php   51
Ejercicio: formularios

+ Crea un formulario en un archivo HTML que envíe los datos
introducidos a un script PHP que reciba los datos y los muestre.

+ Escribir los datos de cada envío en un archivo de texto (cada envío
en una línea nueva).

+ Probar el funcionamiento:

               http://127.0.0.1/formulario.html



                                                               52
La función $_GET
Se usa para recoger valore enviados usando
method=“get”

Al enviar los datos, se ven en la URL:

http://www.servidor.com/procesar.php?nombre=Pepe

Hay un límite máximo de 100 caracteres

                                                   53
La función $_POST
Se usa para recoger valore enviados usando
method=“post”

El envío de los datos es invisible:

http://www.servidor.com/procesar.php


No hay límite en la cantidad de datos
                                        54
Cookies
Resolver el problema de la falta de estado en la
navegación a través de las páginas web.

Almacenar información que queda registrada en el
navegador, permitiendo identificarlo después.

El manejo de cookies en PHP se realiza mediante el
uso de la función setcookie()


                                             55
Cookies
La función define una cookie que es enviada junto
con el resto de la información de la cabecera.

Deben ser enviadas antes de cualquier etiqueta
de HTML, por lo tanto deberemos realizar la
llamada a estas funciones antes de cualquier
etiqueta <HTML> o <HEAD>

Esta es una restricción de las cookies, no de PHP.

                                               56
Cookies. Ejemplo (I)
Primer paso: desde un formulario enviamos información a
un script que la recibirá y establecerá la cookie

<html><body>
Introduzca su nombre:

<FORM ACTION="paso2.php" METHOD="GET">

<INPUT TYPE="text" NAME="nombre"><BR>
<INPUT TYPE="submit" VALUE="Enviar">

</FORM>
</body></html>
                                    paso1.html    57
Cookies. Ejemplo (II)
Segundo paso: el script PHP establece la cookie (leyendo
el nombre enviado desde el formulario)

<?php
   setcookie("ejemusuario", $_GET['nombre'],
time()+10,"/","");
?>
<html><body>
Se ha establecido la cookie ejemusuario con el valor:

<? print $_GET['nombre']; ?>

que será válida durante 10 segundos.

<a href=paso3.php>Ir al paso de comprobar el valor </a>
</body> </html>                                     58
                                          paso2.php
Cookies. Ejemplo (III)
Tercer paso: para comprobar, accedemos al nombre de la
cookie para ver si aún está activa o ya ha caducado

<html><body>
La cookie de nombre    ejemusuario

<?php
if( $_COOKIE['ejemusuario'] ) {
      echo "tiene el valor: ";
      echo $_COOKIE['ejemusuario'] ;
}else{
      echo "No existe o ha caducado.";
}
?>                                         paso3.php
                                                       59
</body></html>
Ejercicio: cookies

+ Usa el sistema de tres archivos anteriores para comprobar el
funcionamiento de las cookies.

+ Establece como tiempo de vida de la cookie 5 segundos solamente




                                                                 60
Clases y objetos
Una clase es una colección de variables y
métodos.

Las variables miembro se definen con var

Los métodos (funciones) se definen con
function


                                            61
Clases y objetos
<?php
class Carrito {
    var $items;

     function agregar_item($tipo, $num) {
         $this->items[$tipo] += $num;
     }

     function retirar_item($tipo, $num) {
         if ($this->items[$tipo] > $num) {
             $this->items[$tipo] -= $num;
             return true;
         } elseif ($this->items[$tipo] == $num) {
             unset($this->items[$tipo]);
             return true;
         } else {
             return false;
         }
     }
}
                                                    62
?>
Clases y objetos
Como ejemplo creamos dos carritos. Al
primero se le añade 1 item del artículo
ordenador. Al segundo se le añaden 3 del
artículo disco:

<?php
     $carrito = new Carrito;
     $carrito->agregar_item("ordenador", 1);

     $otro_carrito = new Carrito;
     $otro_carrito->agregar_item("disco", 3);
?>                                         63
Ejercicio: Clases

+ Ampliar la clase carrito con una función miembro para consultar el
número de elementos de cada tipo que hay en el carrito.

+ Crear un carrito y añadir varios elementos

+ Posteriormente mostrar el número de elementos que hay de cada
tipo en el carrito.




                                                              64
Ejercicio: Clases




                    65
Clases y objetos
Para ampliar los conocimientos sobre
desarrollo orientado a objetos en PHP,
podemos visitar:

http://www.php-es.com/language.oop5.html




                                           66
Servicios Web en PHP
¿Qué vamos a aprender?

1. Crear un servidor de Web Services en PHP
2. Hacer llamadas a WS desde PHP
3. Crear el WSDL automáticamente a partir de
   una clase PHP



                                       67
WS en PHP. Introducción
PHP5 soporta WS de forma nativa.

Permite conexión con WSDL o sin él.

Sin embargo tiene algunas limitaciones, ya
que no genera automáticamente el documento
WSDL.


                                      68
WS en PHP. Introducción
Existen varios frameworks de WS para PHP,
pero los más extendidos son:

•El nativo de PHP5 (el que vamos a usar)

•NuSOAP http://nusoap.sourceforge.net



                                           69
Creación de un servidor
<?php

function suma($a,$b){
  return $a+$b;
}

//Sin WSDL -> uri es obligatorio
$server = new SoapServer(null,
array('uri'=>""));
$server->addFunction("suma");
$server->handle();

?>
                               simple/server.php
                                                   70
Creación de un cliente
<?php
$url="http://127.0.0.1/simple/server.php";

//Como no hay WSDL añadimos 'uri'
$cliente = new
SoapClient(null,array('location'=>$url,'uri'=>""));

//Llamamos a la operación suma
//Problema: tenemos que saber nosotros que existe!
$suma = $cliente->suma(2,3);
print("La suma es ".$suma);

?>



                                      simple/client.php
                                                          71
Ejercicio: WS en PHP

+ Modificar el WS anterior y añadir una operación nueva
que reciba como parámetro una cadena de caracteres y
devuelva un saludo.




                                                    72
Crear un servicio con WSDL
Pasos:

1) Crear la clase documentada
2) Generar automáticamente el WSDL
3) Crear el servidor
4) Comprobar con el cliente



                                     73
1) Crear la clase
<?php
/**
* Ejemplo de clase para el ejemplo   /**
                                             * Sumar
*/
                                             * @param int $a Primer integer
class EjemploWS{
                                             * @param int $b Segundo integer
/**
                                             * @return int Result. de la suma
   * Dice hola
   * @param string $nombre persona           */
                                           public function suma($a, $b)
   * @return string saludo
   */                                      {
public function diHola($nombre){                return $a + $b;
                                           }
return "Hola ".$nombre."!";
}                                    }
                                     ?>
/**
   * Dice adios
   * @param string $otro persona
   * @return string saludo
   */
public function diAdios($otro){
return "Adios, señor ".$otro."!";          complejo/ejemplo/EjemploWS.php
}
                                                                       74
¿Y el WSDL?
¿Cómo podemos generar el WSDL sin
complicarnos?
Gracias a nuestra amiga Katy:
http://www.djkaty.com/php-wsdl




                                    75
2) Generar el WSDL (I)
<?php
require_once("../classes/WsdlDefinition.php");
require_once("../classes/WsdlWriter.php");

$def = new WsdlDefinition();
$def->setDefinitionName("EjemploWS");

//Ruta de la clase del WS
$def->setClassFileName("../../ejemplo/EjemploWS.php");
$def->setWsdlFileName("EjemploWS.wsdl"); //fichero a crear

$def->setNameSpace("http://cursows.ugr.es"); //Namespace
$def->setEndPoint("
http://127.0.0.1/complejo/ejemplo/service.php");
$wsdl = new WsdlWriter($def);

print $wsdl->classToWsdl();
?>
                                    complejo/katy/crearWSDL.7php
                                                             6
2) Generar el WSDL (II)




                          77
3) Desplegar el WSDL
<?php
require_once('EjemploWS.php');

$soap = new SoapServer('EjemploWS.wsdl');
$soap->setClass('EjemploWS');
$soap->handle();

//Nunca imprimir texto en los servidores!

?>

                        complejo/ejemplo/service.php


                                                       78
4) Comprobar el servicio
<?php
$client = new SoapClient ('EjemploWS.wsdl',array('trace'=>1) ; //Creamos
el cliente y le damos la posibilidad de hacer trazas

echo "OPERACIONES DEL WEBSERVICE: <p>";
var_dump($client->__getFunctions()); //Imprimimos sus funciones
echo "</p>";

$nombre = "Locke";
$resultado=$client->diHola($nombre); //llamamos al servicio
print("SALIDA DEL WEBSERVICE: ".$resultado);

//al   poner array('trace'=>1) arriba, podemos mostrar los mensajes SOAP
echo   '<b>Petici&oacute;n</b>';
echo   htmlspecialchars($client->__getLastRequest(), ENT_QUOTES);
echo   '</p><p><b>Respuesta</b>';
echo   htmlspecialchars($client->__getLastResponse(), ENT_QUOTES);
?>
                                                                     79
                                             complejo/ejemplo/testws.php
Ejecución del cliente




                        80
Ejercicio: WS en PHP

+ Modificar la clase para añadir una nueva operación que
multiplique dos números.

¿Funciona? ¿Actualiza el WSDL?

     Fichero xampp/php/php.ini

     ; (time to live) Sets the number of second while
     cached file will be used
     ; instead of original one.
     ; http://php.net/soap.wsdl-cache-ttl
     soap.wsdl_cache_ttl=86400
                                                        81
WS en PHP. Consideraciones
1) Si vemos el WSDL generado, las URIs de las
operaciones tienen '#' => hay que quitarlas a
mano, ya que no cumple el estándar y otros
programas podrían quejarse

2) Hay que tener en cuenta el tiempo de caché de
los WSDLs

3) Los servidores no pueden imprimir texto

                                              82
Conexión con bases de datos MySQL
Obtener registros de una base de datos
utilizando PHP es muy común.

La tarea se basa en tres pasos:
  • Conectar con la base de datos
  • Hacer una consulta SQL
  • Extraer la información


                                         83
Conexión con bases de datos MySQL
Conectar con la base de datos MySQL:


$conexion = mysql_connect("localhost", "usuario", "clave");

mysql_select_db("basededatos", $conexion);




                                                        84
Conexión con bases de datos MySQL
Hacer una consulta SQL:


$seleccion = "SELECT * FROM tabla";

$resultado = mysql_query($seleccion, $conexion);

$numResultados = mysql_num_rows($resultado);




                                                   85
Conexión con bases de datos MySQL
Extraer la información:


if ($numResultados> 0) {

    while (   $fila = mysql_fetch_assoc($resultado)     ) {

        echo " Id " . $fila['id'] . " <br>";

        echo " Nombre   " . $fila['nombre'] . "<br>";

    }

}

                                                              86
Ejemplo: PHP + MySQL (I)


Lanzar Apache y MySQL




                               87
Ejemplo: PHP + MySQL (II)
1. Entrar en
   MySQL

2. Crear una
   base de datos

3. Crear una
   tabla




                                    88
Ejemplo: PHP + MySQL (III)
4. Insertar datos




                                   89
Ejemplo: PHP + MySQL (IV)




                            90
Ejemplo: PHP + MySQL (V)




                           91
Conexión con bases de datos MySQL

 Enlaces para ampliar información:
 http://es.php.net/manual/en/book.mysql.php

 http://programadorphp.org
http://www.zenphp.es




                                              92
Introducción a PHP - Programador PHP - UGR

Contenu connexe

Tendances (20)

Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 
Exposicion de php
Exposicion de phpExposicion de php
Exposicion de php
 
Conociendo PHP
Conociendo PHPConociendo PHP
Conociendo PHP
 
Curso php y_mysql
Curso php y_mysqlCurso php y_mysql
Curso php y_mysql
 
Curso Php
Curso PhpCurso Php
Curso Php
 
Curso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPVCurso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPV
 
Manual php completo by_ desarrolloweb
Manual php completo by_ desarrollowebManual php completo by_ desarrolloweb
Manual php completo by_ desarrolloweb
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 
Manual de php con ejercicios
Manual de php con ejerciciosManual de php con ejercicios
Manual de php con ejercicios
 
Php basico
Php basicoPhp basico
Php basico
 
Php Basico
Php BasicoPhp Basico
Php Basico
 
PHP MYSQL - FIEI-UNFV Clase 01
PHP MYSQL - FIEI-UNFV Clase 01PHP MYSQL - FIEI-UNFV Clase 01
PHP MYSQL - FIEI-UNFV Clase 01
 
Manual basico de PHP
Manual basico de PHPManual basico de PHP
Manual basico de PHP
 
Desarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfonyDesarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfony
 
Iniciación PHP 5. Introducción
Iniciación PHP 5. IntroducciónIniciación PHP 5. Introducción
Iniciación PHP 5. Introducción
 
php
phpphp
php
 
Variables y Bucles
Variables y BuclesVariables y Bucles
Variables y Bucles
 
Php!
Php!Php!
Php!
 
Curso php-my sql-clase-2
Curso php-my sql-clase-2Curso php-my sql-clase-2
Curso php-my sql-clase-2
 
Mini manual php
Mini manual phpMini manual php
Mini manual php
 

En vedette

En vedette (20)

Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.
 
Composicion de servicios web, un ejemplo
Composicion de servicios web, un ejemploComposicion de servicios web, un ejemplo
Composicion de servicios web, un ejemplo
 
Iniciación PHP 5. Ejercicios
Iniciación PHP 5. EjerciciosIniciación PHP 5. Ejercicios
Iniciación PHP 5. Ejercicios
 
Bpel y Open Esb
Bpel y Open EsbBpel y Open Esb
Bpel y Open Esb
 
Php
PhpPhp
Php
 
51 Php. Funciones De Fecha
51 Php. Funciones De Fecha51 Php. Funciones De Fecha
51 Php. Funciones De Fecha
 
PHP. Tecnologías Web.
PHP. Tecnologías Web.PHP. Tecnologías Web.
PHP. Tecnologías Web.
 
¿Cómo elegir servidor web?
¿Cómo elegir servidor web?¿Cómo elegir servidor web?
¿Cómo elegir servidor web?
 
BootStrap
BootStrapBootStrap
BootStrap
 
Luis vargas
Luis vargasLuis vargas
Luis vargas
 
Primeros Pasos En Gambas
Primeros Pasos En GambasPrimeros Pasos En Gambas
Primeros Pasos En Gambas
 
Dfsi
Dfsi Dfsi
Dfsi
 
Introducción al Acuarismo
Introducción al AcuarismoIntroducción al Acuarismo
Introducción al Acuarismo
 
Modulo Arquitectura del Computador
Modulo Arquitectura del ComputadorModulo Arquitectura del Computador
Modulo Arquitectura del Computador
 
Usando Netbeans para desarrollos en PHP
Usando Netbeans para desarrollos en PHPUsando Netbeans para desarrollos en PHP
Usando Netbeans para desarrollos en PHP
 
PHP
PHPPHP
PHP
 
Adentrándonos a PHP 5
Adentrándonos a PHP 5Adentrándonos a PHP 5
Adentrándonos a PHP 5
 
Php ppt
Php pptPhp ppt
Php ppt
 
Introduccion a PHP
Introduccion a PHPIntroduccion a PHP
Introduccion a PHP
 
Clase 3/4 Curso Introducción a Python 2012
Clase 3/4 Curso Introducción a Python 2012Clase 3/4 Curso Introducción a Python 2012
Clase 3/4 Curso Introducción a Python 2012
 

Similaire à Introducción a PHP - Programador PHP - UGR (20)

Php
PhpPhp
Php
 
32773 php-basico
32773 php-basico32773 php-basico
32773 php-basico
 
Introducción a php
Introducción a phpIntroducción a php
Introducción a php
 
Guia programacionwebbasicophp
Guia programacionwebbasicophpGuia programacionwebbasicophp
Guia programacionwebbasicophp
 
Php
PhpPhp
Php
 
Php1 sesión 6
Php1 sesión 6Php1 sesión 6
Php1 sesión 6
 
Php
PhpPhp
Php
 
Curso php dia2
Curso php dia2Curso php dia2
Curso php dia2
 
0139-php-y-mysql-lenguaje-php-basico.pdf
0139-php-y-mysql-lenguaje-php-basico.pdf0139-php-y-mysql-lenguaje-php-basico.pdf
0139-php-y-mysql-lenguaje-php-basico.pdf
 
Curso php-my sql-clase-3
Curso php-my sql-clase-3Curso php-my sql-clase-3
Curso php-my sql-clase-3
 
Programacion en php
Programacion en phpProgramacion en php
Programacion en php
 
3144
31443144
3144
 
Tema2 3
Tema2 3Tema2 3
Tema2 3
 
Php
PhpPhp
Php
 
Php informacion
Php informacion Php informacion
Php informacion
 
PHP Tema 2 - Lenguaje PHP básico
PHP Tema 2 - Lenguaje PHP básicoPHP Tema 2 - Lenguaje PHP básico
PHP Tema 2 - Lenguaje PHP básico
 
Php1
Php1Php1
Php1
 
Php1
Php1Php1
Php1
 
Php1
Php1Php1
Php1
 
Php1
Php1Php1
Php1
 

Plus de Juan Belón Pérez

Aplicaciones y juegos para móbiles 2011: iOS, Android, Bada, Palm
Aplicaciones y juegos para móbiles 2011: iOS, Android, Bada, PalmAplicaciones y juegos para móbiles 2011: iOS, Android, Bada, Palm
Aplicaciones y juegos para móbiles 2011: iOS, Android, Bada, PalmJuan Belón Pérez
 
Yahoo! pipes + Wordpress plugin - RSS POWER to your blog
Yahoo! pipes + Wordpress plugin - RSS POWER to your blogYahoo! pipes + Wordpress plugin - RSS POWER to your blog
Yahoo! pipes + Wordpress plugin - RSS POWER to your blogJuan Belón Pérez
 
Proyecto Campos Electricos - Programador Servicios 3d
Proyecto Campos Electricos - Programador Servicios 3dProyecto Campos Electricos - Programador Servicios 3d
Proyecto Campos Electricos - Programador Servicios 3dJuan Belón Pérez
 
Aecem - Libro Blanco - Para Programador Php.org
Aecem - Libro Blanco  - Para Programador Php.orgAecem - Libro Blanco  - Para Programador Php.org
Aecem - Libro Blanco - Para Programador Php.orgJuan Belón Pérez
 
Memoria Zenphp - Programador PHP
Memoria Zenphp - Programador PHPMemoria Zenphp - Programador PHP
Memoria Zenphp - Programador PHPJuan Belón Pérez
 
Depurando Java Script - Programador PHP
Depurando Java Script - Programador PHPDepurando Java Script - Programador PHP
Depurando Java Script - Programador PHPJuan Belón Pérez
 
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHPZenphp - Presentación de Septiembre en la Etsiit - Programador PHP
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHPJuan Belón Pérez
 
Tutorial A Z A - Programador PHP
Tutorial A Z A - Programador PHPTutorial A Z A - Programador PHP
Tutorial A Z A - Programador PHPJuan Belón Pérez
 
Ensayo Cientifico - Programador PHP
Ensayo Cientifico - Programador PHPEnsayo Cientifico - Programador PHP
Ensayo Cientifico - Programador PHPJuan Belón Pérez
 
Zen Scaffolding - Programador PHP
Zen Scaffolding - Programador PHPZen Scaffolding - Programador PHP
Zen Scaffolding - Programador PHPJuan Belón Pérez
 
Rendimiento Java Script - Programador PHP
Rendimiento  Java Script - Programador PHPRendimiento  Java Script - Programador PHP
Rendimiento Java Script - Programador PHPJuan Belón Pérez
 
Bibliografia Y Menciones - Programador PHP
Bibliografia Y Menciones - Programador PHPBibliografia Y Menciones - Programador PHP
Bibliografia Y Menciones - Programador PHPJuan Belón Pérez
 
Tutorial MVC - Zenphp - Programador PHP
Tutorial MVC - Zenphp - Programador PHPTutorial MVC - Zenphp - Programador PHP
Tutorial MVC - Zenphp - Programador PHPJuan Belón Pérez
 
Aceleradores PHP Final - Programador PHP
Aceleradores PHP Final - Programador PHPAceleradores PHP Final - Programador PHP
Aceleradores PHP Final - Programador PHPJuan Belón Pérez
 
Introducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHPIntroducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHPJuan Belón Pérez
 

Plus de Juan Belón Pérez (20)

Aplicaciones y juegos para móbiles 2011: iOS, Android, Bada, Palm
Aplicaciones y juegos para móbiles 2011: iOS, Android, Bada, PalmAplicaciones y juegos para móbiles 2011: iOS, Android, Bada, Palm
Aplicaciones y juegos para móbiles 2011: iOS, Android, Bada, Palm
 
Yahoo! pipes + Wordpress plugin - RSS POWER to your blog
Yahoo! pipes + Wordpress plugin - RSS POWER to your blogYahoo! pipes + Wordpress plugin - RSS POWER to your blog
Yahoo! pipes + Wordpress plugin - RSS POWER to your blog
 
Proyecto Campos Electricos - Programador Servicios 3d
Proyecto Campos Electricos - Programador Servicios 3dProyecto Campos Electricos - Programador Servicios 3d
Proyecto Campos Electricos - Programador Servicios 3d
 
Aecem - Libro Blanco - Para Programador Php.org
Aecem - Libro Blanco  - Para Programador Php.orgAecem - Libro Blanco  - Para Programador Php.org
Aecem - Libro Blanco - Para Programador Php.org
 
Presentación: xUnit y Junit
Presentación: xUnit y JunitPresentación: xUnit y Junit
Presentación: xUnit y Junit
 
Cómo elegir un servidor Web
Cómo elegir un servidor WebCómo elegir un servidor Web
Cómo elegir un servidor Web
 
Memoria Zenphp - Programador PHP
Memoria Zenphp - Programador PHPMemoria Zenphp - Programador PHP
Memoria Zenphp - Programador PHP
 
Depurando Java Script - Programador PHP
Depurando Java Script - Programador PHPDepurando Java Script - Programador PHP
Depurando Java Script - Programador PHP
 
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHPZenphp - Presentación de Septiembre en la Etsiit - Programador PHP
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP
 
Zenphp - Programador PHP
Zenphp - Programador PHPZenphp - Programador PHP
Zenphp - Programador PHP
 
Tutorial A Z A - Programador PHP
Tutorial A Z A - Programador PHPTutorial A Z A - Programador PHP
Tutorial A Z A - Programador PHP
 
Ensayo Cientifico - Programador PHP
Ensayo Cientifico - Programador PHPEnsayo Cientifico - Programador PHP
Ensayo Cientifico - Programador PHP
 
Zen AJAX - Programador PHP
Zen AJAX - Programador PHPZen AJAX - Programador PHP
Zen AJAX - Programador PHP
 
Zen Scaffolding - Programador PHP
Zen Scaffolding - Programador PHPZen Scaffolding - Programador PHP
Zen Scaffolding - Programador PHP
 
Rendimiento Java Script - Programador PHP
Rendimiento  Java Script - Programador PHPRendimiento  Java Script - Programador PHP
Rendimiento Java Script - Programador PHP
 
Bibliografia Y Menciones - Programador PHP
Bibliografia Y Menciones - Programador PHPBibliografia Y Menciones - Programador PHP
Bibliografia Y Menciones - Programador PHP
 
Tutorial MVC - Zenphp - Programador PHP
Tutorial MVC - Zenphp - Programador PHPTutorial MVC - Zenphp - Programador PHP
Tutorial MVC - Zenphp - Programador PHP
 
M V C - Programador PHP
M V C - Programador PHPM V C - Programador PHP
M V C - Programador PHP
 
Aceleradores PHP Final - Programador PHP
Aceleradores PHP Final - Programador PHPAceleradores PHP Final - Programador PHP
Aceleradores PHP Final - Programador PHP
 
Introducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHPIntroducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHP
 

Dernier

Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)veganet
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfCarol Andrea Eraso Guerrero
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 

Dernier (20)

Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 

Introducción a PHP - Programador PHP - UGR

  • 1. Por cortesía de Pedro A. Castillo Valdivieso para ProgramadorPHP.Org – Juan Belón 1
  • 2. ¿Qué es PHP? Un lenguaje de "código abierto" interpretado, de alto nivel, embebido en páginas HTML y ejecutado en el servidor. 2
  • 3. ¿Qué se puede hacer con PHP? • Scripts en el lado del servidor • Scripts en la línea de comandos • Aplicaciones de interfaz gráfica 3
  • 4. ¿Qué características tiene PHP? Versiones para la mayoría de los S.O. Soporta la mayoría de los servidores web Tipos de programación: – Procedimental – Orientada a objetos Generación de múltiples formatos (HTML, XML, PDF, imágenes, ...) 4
  • 5. Múltiples extensiones Bases de datos: Protocolos: - Dbase - LDAP - Hyperwave - IMAP - IBM DB2 - SNMP - Direct MS-SQL - NNTP - MySQL - POP3 - ODBC - HTTP - Oracle - PostgreSQL 5
  • 6. Instalación de PHP Un buen tutorial para la instalación: http://php.net/manual/en/install.php La mejor opción (para usuarios no avanzados) es usar XAMPP. Incluye Apache, PHP, Perl y MySQL http://apachefriends.org/en/xampp.html 6
  • 7. El primer script <html> <head> <title>primer script</title> </head> Etiqueta Orden a de inicio ejecutar <body> <?php echo "<p>Hola mundo</p>"; ?> <p>Más contenido HTML</p> </body> Etiqueta </html> de fin 7
  • 8. Ejercicio: probar el primer script + Crea un documento de texto con extensión .php en el espacio web de tu servidor. + Copia el siguiente contenido. + Accede desde el navegador a este script alojado en tu servidor http://127.0.0.1/hola.php <html> <body> <?php echo "<p>Hola mundo</p>"; ?> </body> </html> 8
  • 9. Ejecutar en la ventana de comandos 9
  • 10. Sintaxis básica Separación de instrucciones con ; La etiqueta de fin ?> también equivale a fin de instrucción Comentarios: // ... /*...*/ 10
  • 11. Insertar código PHP <?php echo “Hola Mundo” Las tres son ?> equivalentes <? echo “Hola Mundo” ?> <script language="php"> echo “Hola Mundo” </script> 11
  • 12. Variables Comienzan por $ Son sensibles a mayúsculas y minúsculas Empezar con una letra o un carácter de subrayado (después del $) Pueden contener cualquier número de: – letras: a-zA-Z – números: 0-9 – caracteres de subrayado: _ 12
  • 13. Tipos de datos Tipos escalares: – Boolean, integer, float, string Tipos compuestos: – Array, object En PHP no se define el tipo de las variables 13
  • 14. Datos escalares. Valores numéricos Podemos trabajar de forma similar a C/C++ <html><body> <?php $num = 7; $cont = 9; $suma = $num + $cont; echo "<p>SUMA = $suma</p>"; ?> </body></html> 14
  • 15. Ejercicio: probar el script anterior + Crea un documento de texto con extensión .php en el espacio web de tu servidor. + Copia el siguiente contenido. + Accede desde el navegador a este script http://127.0.0.1/suma.php <html><body> <?php $num = 7; $cont = 9; $suma = $num + $cont; echo "<p>SUMA = $suma</p>"; ?> </body></html> 15
  • 16. Datos escalares. Cadenas Pueden estar delimitadas por “ o por „ <html><body> <?php $cad = "una cadena de caracteres"; $str = "otra cadena"; $concat = $cad . $str; echo "<p>CONCAT = $concat</p>"; ?> </body></html> 16
  • 17. Datos escalares. Cadenas Para generar una fecha (con hora, min, seg): $fecha = date("Y-n-j H:i:s"); echo "$fecha"; Para trocear una cadena según un carácter: $trocitos = explode("#",$cadena); echo "primer trozo: $trocitos[0] "; 17
  • 18. Ejercicio: mostrar la fecha + Haz un script que cada vez que se acceda a él muestre la fecha y la hora. + Accede desde el navegador al script http://127.0.0.1/fecha.php <?php $fecha = date("Y-n-j H:i:s"); echo "$fecha"; ?> 18
  • 19. Funciones de manejo de cadena En la siguiente dirección encontraremos la guía completa de las funciones de cadenas de PHP: http://www.w3schools.com/PHP/php_ref_string.asp 19
  • 20. Arrays indexados 1. Crear el array automáticamente, comenzando en el índice 0: $nombres=array("pepe","juan","luisa","pepa"); 2. Asignar los índices manualmente: $nombres[0]="pepe"; $nombres[1]="juan"; $nombres[2]="luisa"; $nombres[3]="pepa"; 20
  • 21. Arrays indexados 3. Acceder a los elementos: <?php $nombres[0]="pepe"; $nombres[1]="juan"; $nombres[2]="luisa"; $nombres[3]="pepa"; echo $nombres[0] ." quiere a ". $nombres[3] ; ?> 21
  • 22. Ejercicio: Arrays + Crea un documento de texto con extensión .php en el espacio web de tu servidor. + Copia el siguiente contenido. + Accede desde el navegador a este script. <html><body> <?php $nombres[0]="pepe"; $nombres[1]="juan"; $nombres[2]="luisa"; $nombres[3]="pepa"; echo $nombres[0] ." quiere a ". $nombres[3] ; ?> </body></html> 22
  • 23. Eliminar elementos de un array Existe la función unset() para eliminar la definición de una variable escalar o un array: <?php $nombres=array("pepe","juan","luisa","pepa"); unset( $nombres[0] ); unset( $nombres ); ?> 23
  • 24. Arrays multidimensionales Crearla con array; acceso con la sintaxis de corchetes: <?php $matriz = array( "mdim"=>array(0=>5,1=>9,2=>35) ); echo $matriz["mdim"][0] ; echo $matriz["mdim"][2] ; ?> 24
  • 26. Arrays asociativos 1. Definamos un array asociativo para guardar datos de varias personas: $edad=array("Pepe"=>32,"Juan"=>30,"Luis"=>34); 2. Creamos un array idéntico al anterior, pero usando una sentencia para cada elemento: $edad['Pepe'] = "32"; $edad['Juan'] = "30"; $edad['Luis'] = "34"; 26
  • 27. Arrays asociativos 3. La forma de usar estos arrays en un script es: <?php $edad['Pepe'] = "32"; $edad['Juan'] = "30"; $edad['Luis'] = "34"; echo "Pepe tiene " . $edad['Pepe'] . " años."; ?> 27
  • 28. Guía completa de funciones de arrays En la siguiente dirección encontraremos la guía completa de las funciones de manejo de arrays de PHP: http://www.w3schools.com/PHP/php_ref_array.asp 28
  • 29. Constantes Las constantes en PHP tienen que ser definidas por la función define() y además no pueden ser redefinidas con otro valor <?php define("CONSTANTE", "hello world."); echo CONSTANTE; ?> 29
  • 30. Expresiones y operadores Se parecen mucho a los de C/C++ Los incrementos, asignaciones, etc, son iguales. Existen operadores para concatenar cadenas (.) y para comprobar la identidad y tipo (===) 30
  • 31. Expresiones y operadores Ejemplos: x=2; y=x+3; Operadores aritméticos x=5; x++; x--; Operadores de asignación x=y; x=x/y; 5==8 es falso Operadores de comparación 5<=8 es cierto x=6; z=3; Operadores lógicos (x<10 && z>1) es cierto 31
  • 32. Estructuras de control De cuando en cuando, debemos ejecutar diferentes porciones de código en función de ciertas condiciones. En estos casos debemos usar las sentencias condicionales. Para ejecutar diferentes porciones de código de forma repetida, en lugar de replicar varias veces el mismo código, debemos usar las sentencias de tipo bucle. 32
  • 33. Estructuras de control condicional <html> <html><body> <body> <?php <?php $d=date("D"); $d=date("D"); if ($d=="Fri"){ if ($d=="Fri") { echo "Buen finde!"; echo "Buen finde!"; }else{ } echo "Buenos dias!"; ?> } ?> </body> </html> </body></html> 33
  • 34. Estructuras de control iterativas <html><body> <html><body> <?php <?php $i=1; $i=1; while($i<=5) { do { echo "Iteración " . $i ; $i++; echo "<br />"; echo "Iteración " . $i ; $i++; echo "<br />"; } } ?> while ($i<=5); ?> </body></html> </body></html> 34
  • 35. Estructuras de control iterativas <html><body> <html><body> <?php <?php for ($i=1; $i<=5; $i++) { $x=array("uno","dos","3"); echo " Iteración " . $i ; foreach ($x as $valor) { echo "<br />"; echo $valor . "<br />"; } } ?> ?> </body></html> </body></html> <?php $x=array("uno"=>1,"dos"=>2); foreach ($x as $clave => $valor) { echo " $clave= $valor "; } 35 ?>
  • 36. Ejercicio: estructuras de control + Haz un script que repita 10 veces el siguiente proceso: + mostrar el número de iteración + si la iteración es menor que 5, que muestre el mensaje anterior en negrita + si la iteración es mayor que 5, que muestre el mensaje en cursiva + Accede desde el navegador a este script http://127.0.0.1/bucle.php 36
  • 37. Funciones en PHP En la siguiente dirección encontraremos la guía completa de las funciones incluidas en PHP: http://www.w3schools.com/PHP/default.asp 37
  • 38. Funciones en PHP. Sintaxis <html><body> <?php function escribe() { echo "Hola"; } echo "Vamos a saludar."; escribe(); ?> </body></html> 38
  • 39. Funciones en PHP. Parámetros <html><body> <?php function escribe($nombre,$edad) { echo $nombre . " tiene "; echo $edad . " años <br />"; } escribe("Angel","78"); escribe("Pepa",47); ?> 39 </body></html>
  • 40. Ejercicio: Funciones + Crea un documento de texto con extensión .php en el espacio web de tu servidor. + Copia el siguiente contenido. + Accede desde el navegador a este script. <html><body> <?php function escribe($nombre,$edad) { echo $nombre . " tiene "; echo $edad . " años <br />"; } escribe("Angel","78"); escribe("Pepa","47"); ?> </body></html> 40
  • 41. Funciones en PHP. Devolver valores <html> <body> <?php function suma($x,$y) { $total=$x+$y; return $total; } $retorno = suma(10,13); echo "1 + 16 = " . suma(1,16); ?> </body> 41 </html>
  • 42. E/S con ficheros Estarán alojados en el servidor. Necesitaremos: abrir, leer, escribir, cerrar, comprobar que existe el fichero fopen (archivo, modo) fgets (manejador_archivo, longitud) fputs (manejador_archivo, cadena) fclose (manejador_archivo) file_exists (fichero) 42
  • 43. E/S con ficheros. Apertura y lectura <?php $archivo = fopen("fichero.txt" , "r"); if ($archivo) { while (!feof($archivo)) { $linea = fgets($archivo, 255); echo $linea; } } fclose ($archivo); ?> 43
  • 44. E/S con ficheros. Escritura <?php $archivo = fopen("fichero.txt" , "w"); fputs ($archivo, "Hola Mundo"); fclose ($archivo); ?> Comprobar la existencia <?php if ( file_exists("fichero.txt") ) { echo "El fichero existe"; } else { echo "El fichero NO existe"; } ?> 44
  • 45. Ejercicio: E/S con ficheros + Haz un programa que abra un fichero de texto y muestre el contenido. + Al mismo tiempo, que haga una copia sobre otro fichero (vaya escribiendo cada línea leida en el segundo fichero). + Accede desde el navegador a este script http://127.0.0.1/fichero.php 45
  • 46. include() / require() Ambos incluyen y evalúan un archivo: require("libreria.inc"); include("libreria.inc"); En caso de error en ese archivo: •require produce un error fatal •include sólo produce un warning (y sigue) Existe require_once() e include_once() 46
  • 47. Usando require() <?php <?php require('libreria.php'); function mifuncion(){ echo "mensaje n"; mifuncion(); } echo "n otro mensaje n"; function miSuma($a,$b){ $a = $a + $b; $sum1=7; echo "suma = $a n"; $sum2=9; } miSuma ($sum1, $sum2); ?> ?> libreria.php ejemplo.php 47
  • 48. Usando include() <html><body> <?php <a href=http...>opción 1</a> include("menu.php"); <a href=http...>opción 2</a> ?> <a href=http...>opción 3</a> <a href=http...>opción 4</a> <p>contenido html</p> <a href=http...>opción 5</a> </body></html> menu.php ejemplo.php 48
  • 49. Formularios HTML Proceso: • El cliente pide una página HTML que contiene un formulario • Lo rellena y envía los datos. • La petición se hace a un script PHP que los recibe, los procesa y genera una página HTML que se envía al cliente. 49
  • 50. Formularios HTML El formulario puede ser como el siguiente <html><body> <form action="procesar.php" method="post"> Nombre: <input type="text" name="nombre" /> Edad: <input type="text" name="edad" /> <input type="submit" /> </form> </body></html> formulario.html 50
  • 51. Formularios HTML El script que recibe y procesa los datos: <html><body> Hola <?php echo $_POST["nombre"]; ?> Tienes <?php echo $_POST["edad"]; ?> años. </body></html> procesar.php 51
  • 52. Ejercicio: formularios + Crea un formulario en un archivo HTML que envíe los datos introducidos a un script PHP que reciba los datos y los muestre. + Escribir los datos de cada envío en un archivo de texto (cada envío en una línea nueva). + Probar el funcionamiento: http://127.0.0.1/formulario.html 52
  • 53. La función $_GET Se usa para recoger valore enviados usando method=“get” Al enviar los datos, se ven en la URL: http://www.servidor.com/procesar.php?nombre=Pepe Hay un límite máximo de 100 caracteres 53
  • 54. La función $_POST Se usa para recoger valore enviados usando method=“post” El envío de los datos es invisible: http://www.servidor.com/procesar.php No hay límite en la cantidad de datos 54
  • 55. Cookies Resolver el problema de la falta de estado en la navegación a través de las páginas web. Almacenar información que queda registrada en el navegador, permitiendo identificarlo después. El manejo de cookies en PHP se realiza mediante el uso de la función setcookie() 55
  • 56. Cookies La función define una cookie que es enviada junto con el resto de la información de la cabecera. Deben ser enviadas antes de cualquier etiqueta de HTML, por lo tanto deberemos realizar la llamada a estas funciones antes de cualquier etiqueta <HTML> o <HEAD> Esta es una restricción de las cookies, no de PHP. 56
  • 57. Cookies. Ejemplo (I) Primer paso: desde un formulario enviamos información a un script que la recibirá y establecerá la cookie <html><body> Introduzca su nombre: <FORM ACTION="paso2.php" METHOD="GET"> <INPUT TYPE="text" NAME="nombre"><BR> <INPUT TYPE="submit" VALUE="Enviar"> </FORM> </body></html> paso1.html 57
  • 58. Cookies. Ejemplo (II) Segundo paso: el script PHP establece la cookie (leyendo el nombre enviado desde el formulario) <?php setcookie("ejemusuario", $_GET['nombre'], time()+10,"/",""); ?> <html><body> Se ha establecido la cookie ejemusuario con el valor: <? print $_GET['nombre']; ?> que será válida durante 10 segundos. <a href=paso3.php>Ir al paso de comprobar el valor </a> </body> </html> 58 paso2.php
  • 59. Cookies. Ejemplo (III) Tercer paso: para comprobar, accedemos al nombre de la cookie para ver si aún está activa o ya ha caducado <html><body> La cookie de nombre ejemusuario <?php if( $_COOKIE['ejemusuario'] ) { echo "tiene el valor: "; echo $_COOKIE['ejemusuario'] ; }else{ echo "No existe o ha caducado."; } ?> paso3.php 59 </body></html>
  • 60. Ejercicio: cookies + Usa el sistema de tres archivos anteriores para comprobar el funcionamiento de las cookies. + Establece como tiempo de vida de la cookie 5 segundos solamente 60
  • 61. Clases y objetos Una clase es una colección de variables y métodos. Las variables miembro se definen con var Los métodos (funciones) se definen con function 61
  • 62. Clases y objetos <?php class Carrito { var $items; function agregar_item($tipo, $num) { $this->items[$tipo] += $num; } function retirar_item($tipo, $num) { if ($this->items[$tipo] > $num) { $this->items[$tipo] -= $num; return true; } elseif ($this->items[$tipo] == $num) { unset($this->items[$tipo]); return true; } else { return false; } } } 62 ?>
  • 63. Clases y objetos Como ejemplo creamos dos carritos. Al primero se le añade 1 item del artículo ordenador. Al segundo se le añaden 3 del artículo disco: <?php $carrito = new Carrito; $carrito->agregar_item("ordenador", 1); $otro_carrito = new Carrito; $otro_carrito->agregar_item("disco", 3); ?> 63
  • 64. Ejercicio: Clases + Ampliar la clase carrito con una función miembro para consultar el número de elementos de cada tipo que hay en el carrito. + Crear un carrito y añadir varios elementos + Posteriormente mostrar el número de elementos que hay de cada tipo en el carrito. 64
  • 66. Clases y objetos Para ampliar los conocimientos sobre desarrollo orientado a objetos en PHP, podemos visitar: http://www.php-es.com/language.oop5.html 66
  • 67. Servicios Web en PHP ¿Qué vamos a aprender? 1. Crear un servidor de Web Services en PHP 2. Hacer llamadas a WS desde PHP 3. Crear el WSDL automáticamente a partir de una clase PHP 67
  • 68. WS en PHP. Introducción PHP5 soporta WS de forma nativa. Permite conexión con WSDL o sin él. Sin embargo tiene algunas limitaciones, ya que no genera automáticamente el documento WSDL. 68
  • 69. WS en PHP. Introducción Existen varios frameworks de WS para PHP, pero los más extendidos son: •El nativo de PHP5 (el que vamos a usar) •NuSOAP http://nusoap.sourceforge.net 69
  • 70. Creación de un servidor <?php function suma($a,$b){ return $a+$b; } //Sin WSDL -> uri es obligatorio $server = new SoapServer(null, array('uri'=>"")); $server->addFunction("suma"); $server->handle(); ?> simple/server.php 70
  • 71. Creación de un cliente <?php $url="http://127.0.0.1/simple/server.php"; //Como no hay WSDL añadimos 'uri' $cliente = new SoapClient(null,array('location'=>$url,'uri'=>"")); //Llamamos a la operación suma //Problema: tenemos que saber nosotros que existe! $suma = $cliente->suma(2,3); print("La suma es ".$suma); ?> simple/client.php 71
  • 72. Ejercicio: WS en PHP + Modificar el WS anterior y añadir una operación nueva que reciba como parámetro una cadena de caracteres y devuelva un saludo. 72
  • 73. Crear un servicio con WSDL Pasos: 1) Crear la clase documentada 2) Generar automáticamente el WSDL 3) Crear el servidor 4) Comprobar con el cliente 73
  • 74. 1) Crear la clase <?php /** * Ejemplo de clase para el ejemplo /** * Sumar */ * @param int $a Primer integer class EjemploWS{ * @param int $b Segundo integer /** * @return int Result. de la suma * Dice hola * @param string $nombre persona */ public function suma($a, $b) * @return string saludo */ { public function diHola($nombre){ return $a + $b; } return "Hola ".$nombre."!"; } } ?> /** * Dice adios * @param string $otro persona * @return string saludo */ public function diAdios($otro){ return "Adios, señor ".$otro."!"; complejo/ejemplo/EjemploWS.php } 74
  • 75. ¿Y el WSDL? ¿Cómo podemos generar el WSDL sin complicarnos? Gracias a nuestra amiga Katy: http://www.djkaty.com/php-wsdl 75
  • 76. 2) Generar el WSDL (I) <?php require_once("../classes/WsdlDefinition.php"); require_once("../classes/WsdlWriter.php"); $def = new WsdlDefinition(); $def->setDefinitionName("EjemploWS"); //Ruta de la clase del WS $def->setClassFileName("../../ejemplo/EjemploWS.php"); $def->setWsdlFileName("EjemploWS.wsdl"); //fichero a crear $def->setNameSpace("http://cursows.ugr.es"); //Namespace $def->setEndPoint(" http://127.0.0.1/complejo/ejemplo/service.php"); $wsdl = new WsdlWriter($def); print $wsdl->classToWsdl(); ?> complejo/katy/crearWSDL.7php 6
  • 77. 2) Generar el WSDL (II) 77
  • 78. 3) Desplegar el WSDL <?php require_once('EjemploWS.php'); $soap = new SoapServer('EjemploWS.wsdl'); $soap->setClass('EjemploWS'); $soap->handle(); //Nunca imprimir texto en los servidores! ?> complejo/ejemplo/service.php 78
  • 79. 4) Comprobar el servicio <?php $client = new SoapClient ('EjemploWS.wsdl',array('trace'=>1) ; //Creamos el cliente y le damos la posibilidad de hacer trazas echo "OPERACIONES DEL WEBSERVICE: <p>"; var_dump($client->__getFunctions()); //Imprimimos sus funciones echo "</p>"; $nombre = "Locke"; $resultado=$client->diHola($nombre); //llamamos al servicio print("SALIDA DEL WEBSERVICE: ".$resultado); //al poner array('trace'=>1) arriba, podemos mostrar los mensajes SOAP echo '<b>Petici&oacute;n</b>'; echo htmlspecialchars($client->__getLastRequest(), ENT_QUOTES); echo '</p><p><b>Respuesta</b>'; echo htmlspecialchars($client->__getLastResponse(), ENT_QUOTES); ?> 79 complejo/ejemplo/testws.php
  • 81. Ejercicio: WS en PHP + Modificar la clase para añadir una nueva operación que multiplique dos números. ¿Funciona? ¿Actualiza el WSDL? Fichero xampp/php/php.ini ; (time to live) Sets the number of second while cached file will be used ; instead of original one. ; http://php.net/soap.wsdl-cache-ttl soap.wsdl_cache_ttl=86400 81
  • 82. WS en PHP. Consideraciones 1) Si vemos el WSDL generado, las URIs de las operaciones tienen '#' => hay que quitarlas a mano, ya que no cumple el estándar y otros programas podrían quejarse 2) Hay que tener en cuenta el tiempo de caché de los WSDLs 3) Los servidores no pueden imprimir texto 82
  • 83. Conexión con bases de datos MySQL Obtener registros de una base de datos utilizando PHP es muy común. La tarea se basa en tres pasos: • Conectar con la base de datos • Hacer una consulta SQL • Extraer la información 83
  • 84. Conexión con bases de datos MySQL Conectar con la base de datos MySQL: $conexion = mysql_connect("localhost", "usuario", "clave"); mysql_select_db("basededatos", $conexion); 84
  • 85. Conexión con bases de datos MySQL Hacer una consulta SQL: $seleccion = "SELECT * FROM tabla"; $resultado = mysql_query($seleccion, $conexion); $numResultados = mysql_num_rows($resultado); 85
  • 86. Conexión con bases de datos MySQL Extraer la información: if ($numResultados> 0) { while ( $fila = mysql_fetch_assoc($resultado) ) { echo " Id " . $fila['id'] . " <br>"; echo " Nombre " . $fila['nombre'] . "<br>"; } } 86
  • 87. Ejemplo: PHP + MySQL (I) Lanzar Apache y MySQL 87
  • 88. Ejemplo: PHP + MySQL (II) 1. Entrar en MySQL 2. Crear una base de datos 3. Crear una tabla 88
  • 89. Ejemplo: PHP + MySQL (III) 4. Insertar datos 89
  • 90. Ejemplo: PHP + MySQL (IV) 90
  • 91. Ejemplo: PHP + MySQL (V) 91
  • 92. Conexión con bases de datos MySQL Enlaces para ampliar información: http://es.php.net/manual/en/book.mysql.php http://programadorphp.org http://www.zenphp.es 92