Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdución
Introducción
Acrónimo:
Originariamente (1994): "Personal Home Page"
Actualmente: "PHP: Hipertext Preprocessor"
PHP. Introdución
PHP. Introdución
Integración en la web
Embebido (embedded) en una página html
Servidores Web que soportan PHP
o Apache
o Módulo ISAPI para Microsoft Internet Information Server (IIS)
o ...
PHP. Introdución
Primeros Ejemplos
<html>
<head>
<title>PHP – Hello World</title>
</head>
<body>
<?php print("Hello World!"); ?>
</body>
</html>
PHP. Ejemplos
<html>
<head>
<title>PHP – Hello World</title>
</head>
<body>
<?php
// echo y print son equivalentes
echo "Hello World!";
?>
</body>
</html>
PHP. Ejemplos
<html>
<head>
<title>PHP – Hello World</title>
</head>
<body>
<?php
print("$strHello World!");
?>
</body>
</html>
PHP. Ejemplos
<html>
<head>
<title>PHP – Hello World</title>
</head>
<body>
<b> <?php print("Hello World"); ?> </b>
</body>
</html>
PHP. Ejemplos
<html>
<head>
<title>PHP – Hello World</title>
</head>
<body>
<?php
print("<b>Hello</b> <i>World</i>");
?>
</body>
</html>
PHP. Ejemplos
<?php
print ("<html>");
print ("<head>");
print (" <title>PHP – Hello World</title>");
print (" </head>");
print (" <body>");
print (" <p>Hello World!</p>");
print (" </body>");
print ("</html>");
?>
PHP. Ejemplos
Solución Ejercicios
Hacer un programa en PHP que escriba vuestro nombre (en negrita) y la ciudad dónde
vives.
<?php
$nombre = "Oscar";
$ciudad = "Barcelona";
print("<p>Mi nombre es: <b>$nombre</b> </p>");
print("<p>Nací en $ciudad</p>");
?>
Nací en Barcelona
Hacer un programa en PHP que escriba el resultado de la suma de dos variables con los
valores: x=-1 , y=9.
<?php
$x = -1;
$y = 9;
$suma = $x + $y;
print("El valor de x es: <i>$x</i> <br />");
print("El valor de y es: <i>$y</i> <br />");
print("La suma de x e y es: <i>$suma</i>");
?>
PHP. Ejercicios
Ejercicio de repaso:
Detectar los 7 errores:
1. <?php
2. $x = -1;
3. $y = 9;
4. $suma = x + y;
5. print("El valor de x es <i>$x<i>")
6. <br />
7. print("El valor de y es <i>$y</i><br />";
8. print("La suma es <b><i>$suma</i></b><br />");
9. ?>;
PHP. Ejercicios
1. <?php
2. $x = -1;
3. $y = 9;
4. $suma = $x + $y;
5. print("El valor de x es <i>$x</i>");
6. <br /> => Esto no hace nada aquí !!!
7. print("El valor de y es <i>$y</i><br />");
8. print("La suma es <b><i>$suma</i></b><br />");
9. ?>; => Estamos fuera de PHP!. Cual sería el resultado?
PHP. Ejemplos
<?php
print("<p><font face="Verdana, sans-serif">
Mi nombre es: <b>Òscar</b> <br />
</font></p>");
?>
<?php
print("<p><font face='Verdana, sans-serif'>
Mi nombre es: <b>Òscar</b> <br />
</font></p>");
?>
<?php
print("<p><font face=\"Verdana, sans-serif\">
Mi nombre es: <b>Òscar</b> <br />
</font></p>");
?>
Solución 3: Trabajar con CSS, para evitar poner parte del "diseño" dentro del código
HTML
PHP. Lenguaje y Sintaxis
Contenido
Tipos de datos básicos (enteros, strings, ...)
Estructuras de control de flujo
o Sentencias condicionales (if)
o Sentencias iterativas (while y for)
Tipos de datos estructurados Simples (arrays)
Tipos de datos estructurados Complejos (arrays asociativos)
Funciones
PHP. Lenguaje y Sintaxis
if ( $cantidad < 0 )
{
print("Error:: La cantidad es negativa!");
}
elseif ( $cantidad < 10 )
{
print("La cantidad pedida es menor que 10");
}
else
{
print("La cantidad es: $cantidad");
}
$i = 1;
while ( $i <= 5 )
{
print("$i<br />");
$i++; // equivalente a hacer: $i = $i + 1;
}
Sentencias iterativas:
Diferencias entre while y for ?
PHP. Lenguaje y Sintaxis
$productos[0] = "Azúcar";
$productos[1] = "Aceite";
$productos[2] = "Arroz";
$productos[0] = "Azúcar";
$productos[1] = "Aceite";
$productos[2] = "Arroz";
print "<ul>";
foreach ( $productos as $producto )
{
print "<li>" . $producto . "</li>";
}
print "</ul>";
Lectura de un fichero
$linias = file('datos.txt');
$precios = array(
"Azúcar" => 1,
"Aceite" => 4,
"Arroz" => 0.5
);
$precios = array(
"Azúcar" => 1,
"Aceite" => 4,
"Arroz" => 0.5
);
$precios = array(
"Azúcar" => 1,
"Aceite" => 4,
"Arroz" => 0.5
);
return $variable;
}
// Llamada a la función
$resultado = nombre_funcion($var1, $var2);
$n = rand(1, 20);
print("Sumatorio de $n es: ".sumatorio ($n)."<br />");
PHP. Ejercicios
Ejercicios
Implementar la función mayor(x, y)
Implementar la función abs(x)
PHP. Lenguaje y Sintaxis
Formularios
Ejemplos:
Introducir un texto para realizar una búsqueda en uno -o varios- sitios web
(www.google.com)
Entrar en una Intranet (zona restringida), con un nombre de usuario y password
Gestión del correo via Web-mail
Participar en Foros
...
En general, cualquier acción que requiera una comunicación de datos con el servidor!
PHP. Lenguaje y Sintaxis
<html>
<head>
<title>Ejemplo de Formularios</title>
</head>
<body>
Escribe tu nombre:
<INPUT TYPE='text' NAME='nombre'>
Escribe tu mail:
<INPUT TYPE='text' NAME='mail'>
Escribe el mensaje:
<TEXTAREA rows='11' name='texto' cols='60'></textarea>
</FORM>
</body>
</html>
Cabecera de un FORMulario:
Cuerpo de un FORMulario:
Escribe tu nombre:
<INPUT TYPE='text' NAME='nombre'>
...
INPUT TYPE='submit'. Botón de envío de datos (con el texto Enviar -campo 'value'-)
Cerrar un FORMulario:
</FORM>
Paso 1:
Usuario:
1) Rellena los campos con los datos
2) Envía los datos hacia el servidor
Paso 2:
Servidor:
1) Recibe el formulario con los datos
2) Acción (ACTION) a realizar:
ir a la página procesar_mensaje.php
$nombre = $HTTP_POST_VARS['nombre'];
$nombre = $_POST['nombre'];
Y así, del ejemplo anterior tendríamos las variables: $nombre, $mail y $texto con los
valores introducidos por el usuario
// Página formulario.html
Escribe tu nombre:
Escribe tu mail:
Escribe el mensaje:
Enviar
http://www.prueba.org/productos.php?cod_prod=4
$cod_pro = $HTTP_GET_VARS['cod_pro'];
$cod_pro = $_GET['cod_pro'];
http://www.prueba.org/productos.php?cod_prod=4&precio=40
Ejemplo:
formluario.html
Escribe tu nombre:
<INPUT TYPE='text' NAME='nombre'>
</FORM>
procesar_formulario.php
<?
session_start();
print "He inicializado la sesión";
?>
<?
// Fichero: crear_sesion.php
session_start();
$name = "Oscar";
$HTTP_SESSION_VARS["user"] = $name;
// $_SESSION['name'] = $name; para versiones >= 4.1.0
<?
// Fichero: consultar_sesion.php
// Reanudar la sesión
session_start();
// Consultar si la variable $name existe en la sesión
if ( isset($HTTP_SESSION_VARS['name']) ) // $_SESSION['name']
{
$name = $HTTP_SESSION_VARS['name'];
print("El nombre es $name");
}
else
{
die("Error:: no existe la variable name en la sesión!");
}
?>
<?
// Fichero: terminar_sesion.php
session_start();
?>
Código de ejemplo
PHP. Lenguaje y Sintaxis
session_start()
La función: session_start() debe ir siempre al principio del fichero, antes de ninguna
otra instrucción!
header("Location: fichero.php")
La función: header("Location: fichero.php") permite redireccionar la página actual
hacia la página indicada en el Location: fichero.php
Atención! no se puede hacer ningún print antes de la instrucción header!
die(Mensaje)
La función: die(Mensaje) permite "cortar" la ejecución del programa PHP -mostrando el
mensaje, parámetro de la función-
PHP. Lenguaje y Sintaxis
<?
//
// ================================================
//
// Postgrado CPOM-2003
//
// Ejemplo codigo PHP + acceso a una BD MySQL
//
// ================================================
//
// Datos de la conexión
$host = "localhost";
$user = "userpomXX";
$password = "*****";
$database = "pomXX";
// 3) Consulta SQL
$consulta = "select nombre, mail from guestbook";
// 4) Ejecutar la consulta
$resultado_consulta = mysql_query($consulta, $db);
// 5) Mostrar resultados
while ( $fila = mysql_fetch_array($resultado_consulta) )
{
print("$fila[mail]<br />");
print("$fila[nombre]<br />");
}
?>
FIN DE CURSO!!!
EJERCICIOS RESUELTOS Y
PROPUESTOS EN PHP
Sep 29
PARTE I. Ejemplos lineales.
<html>
<body>
<?php
$SalarioTrabajador = 3500;
100) * $Impuesto);
?>
</body >
</html>
<?php
$Base=15;
$Altura=12;
?>
3. Programa que dados 2 números calcule la suma, resta, multiplicación, división, y modulo.
<?php
$Num1=8;
$Num2=5;
?>
PARTE II. Ejemplos Selectivos
<html>
<body>
<?php
$numero=8;
if($numero>0){
if($numero%2==0)
else
else
?>
</body>
</html>
<HTML>
<HEAD>
</HEAD>
<BODY>
<CENTER>
</CENTER>
<?
$numero1=15; $numero2=30;
$mayor=0;
$mayor=$numero1;
else
$mayor=$numero2;
?>
</BODY>
</HTML>
<!–Dado un número entero positivo entre 1 y 7 visualice a que día de la semana corresponde. !>
<html>
<body>
<?php
$numero=4;
switch($numero){
else
?>
</body>
</html>
<HTML>
<HEAD>
</HEAD>
<BODY>
</CENTER>
<?
$tabla=5;
for($x=1;$x<=10;$x++)
echo “$tabla X $x =”. $tabla * $x.”<BR>”;
?>
</BODY>
</HTML>
<html>
<?php
include (“vars.php”);
echo “Una $fruta $color”; // Una manzana verde
echo “<br>”;
$tabla=5;
for($x=1;$x<=10;$x++){
?>
</html>
<?php
$color = ‘verde’;
$fruta = ‘manzana’;
?>
España Madrid
Francia Paris
EEUU Washington
Canada Toronto
<html>
<td><p>España</p></td>
<td><p>Madrid</p></td>
</tr>
<tr>
<td><p>Francia</p></td>
<td><p>Paris</p></td>
</tr>
<tr>
<td><p>Reino Unido</p></td>
<td><p>Londres</p></td>
</tr>
<tr>
<td><p>EEUU</p></td>
<td><p>Washington</p></td>
</tr>
<tr>
<td><p>Canada</p></td>
<td><p>Toronto</p></td>
</tr>
<tr>
<td><p>Mexico</p></td>
<td><p>Mexico</p></td>
</tr>
</table>
<html>
PARTE VI. Programas con Formularios
<html>
<body>
<center>
<br> <br>
</center>
</form>
</body>
</html>
<html>
<body>
<?php
if($enviar){
$resultado=$numero1 + $numero2;
?>
</body>
</html>
<html>
<body>
<center>
name=”total” readonly=”readonly”/>
<br> <br>
name=”suma” onclick=”sumar_datos(numero1.value,numero2.value,total)”/>
name=”borrar” onclick=”limpiar(numero1,numero2,total)”/>
</center>
</body>
<script languaje=”javascript”>
function sumar_datos(n1,n2,inputtext){
var numero1=parseInt(n1);
var numero2=parseInt(n2);
function limpiar(num1,num2,tot){
num1.value=””;
num2.value=””;
tot.value=””;
tot.focus;
}
</script>
</html>
EJERCICIOS……..
Los valores introducidos por el usuario se deben comprobar y, si los valores no son correctos, se debe
indicar el motivo al usuario
19 Europa 3.5
23 Asia 6
25 África 6
29 Oceanía 5
Construya un programa que le permita calcular e imprimir el costo total de una llamada.
Donde
clave es una variable entera que representa la clave de la zona geográfica a la que se llamó.
numin es una variable entera, que expresa la duración (en minutos) de la llamada
2. Construya un programa tal, que dado como dato el sueldo de un trabajador, calcule su aumento
según el siguiente criterio.
Datos: sueldo
Donde:
Por ejemplo:
1.
Dia: 21
Mes: 09
Año: 2006
¡Fecha correcta!
1. Dia: 31
Mes: 09
Año: 2006
¡Fecha incorrecta!
Nota: Este ejercicio está resuelto en c++. Libro Programación orientada a objetos de Francisco
Javier Ceballos. Ed AlfaOmega