Está en la página 1de 98

1

PHP NIVEL BASICO

INDICE

CAPITULO 1: CONCEPTOS GENERALES


 Elementos de Sitio Web
 Lenguaje PHP
 Configuracion de un sitio web
 Instalacion de php

CAPITULO 2: AMBITO DEL LENGUAJE PHP


 Sintaxis básica
 Tipos de datos
 Variables
 Expresiones y operadores
 Sentencias basicas
 Lenguaje Php y Html
CAPITULO 3: ESTRUCTURA DE PROGRAMACION DEL LENGUAJE PHP
 Estructura de Control
 If
 Switch
 For
 While y Do While
 Foreach
 Funciones
 Arrays asociativos

Ing. Victor Quevedo Dioses


2

CAPITULO 1: CONCEPTOS GENERALES

ELEMENTOS DE UN SITIO WEB


Lenguaje de Php Básico se usa para el desarrollo de paginas Web dinamicas que se
almacenan en un hosting y son publicadas en un sitio Web.
Por lo cual detallamos a continuacion los Siguientes Conceptos Generales

 Sitio Web
 Pagina Web
 Dominio
 Hosting

¿Que es un Sitio Web?


Sitios Web son un conjunto de páginas Web relacionadas entre sí.

Una Página de Internet o Página Web es un documento que contiene información espe-
cífica de un tema en particular y que es almacenado en algún sistema de cómputo que
se encuentre conectado a la red mundial de información denominada Internet, de tal
forma que este documento pueda ser consultado por toda persona que se conecte a es-
ta red mundial de comunicaciones.

Sitio Web

http://sistemasuni.edu.pe

Ing. Victor Quevedo Dioses


3

http://www.sistemasuni.edu.pe
/http://www.sistemasuni.edu.pe
/

Pe Dominio Principal
Edu Subdominio
sistemasuni Servidor Web
http Protocolo de hipertexto
www World Wide web(Red Global Mundial)

Beneficios de un Sitio Web?


Facilitar la comunicación entre personas, negocios, empresas, gobierno, instituciones
educativas, y asociaciones, con el propósito de establecer una relación aún más estre-
cha entre ellos.

Particularmente en el aspecto comercial, fomentar una mayor comunicación entre clien-


tes y empresas estableciendo un modelo de operación del negocio más orientado al
cliente.

Ing. Victor Quevedo Dioses


4

Sitio Web

Un sitio web (en inglés: website) es un conjunto de páginas web, típicamente comunes
a un dominio de Internet o subdominio en la World Wide Web en Internet

Pagina Web

Una página web es un documento HTML/XHTML accesible generalmente mediante el


protocolo HTTP de Internet.

Todos los sitios web públicamente accesibles constituyen una gigantesca "World Wide
Web" de información.

A las páginas de un sitio web se accede desde una URL raíz común llamada portada,
que normalmente reside en el mismo servidor físico. Las URLs organizan las páginas en
una jerarquía, aunque los hiperenlaces entre ellas controlan cómo el lector percibe la
estructura general y cómo el tráfico web fluye entre las diferentes partes de los sitios.

Dominio

Un dominio es el nombre que identifica a un Sitio Web en internet, debe ser único y
apuntar al servidor donde está alojada la página web. Existen alrededor de 1000 millo-
nes de dominios en internet. Aunque gran parte no están asociados a ningún sitio web

Hosting

Hosting es una palabra en inglés que significa hospedar o alojar. Aplicado al Internet,
significa poner una pagina web en un servidor de Internet para que ella pueda ser vista
en cualquier lugar del mundo entero con acceso al Internet.

1. Hosting, es lo mismo que alojamiento?


Si.
2. El dominio y hosting tiene un costo mensual que puedo pagarlo cada año?
Generalmente el Dominio y el hosting tienen un costo anual. El costo del Hosting
varía según el espacio en disco, el ancho de banda, y la cantidad de correos.
Tambien se pueden pagar por dos, tres hasta 5 años de esa manera puede obte-
ner algun descuento.

Ing. Victor Quevedo Dioses


5

3. Que es un Sitio Web, es lo mismo que pagina Web?


Un sitio Web o pagina Web son maneras de decir lo mismo, tecnicamente pagina
Web se refiere a una pagina Web y un sitio Web a un conjunto de Paginas Web
enlazadas entre si. Web Site es la manera de decir Sitio Web en el idioma Ingles.
4. Cuantos buscadores existen? es verdad que existen mas de 5,000 buscado-
res?
En realidad hay más de 5000 buscadores, pero muchos de ellos no son comercia-
les y otros, siendo comerciales, no tienen relevancia. Los buscadores principales
son Google, Yahoo y Msn Search

Ing. Victor Quevedo Dioses


6

LENGUAJE PHP

El lenguaje PHP es un lenguaje de programación de estilo clásico, con esto quiero decir
que es un lenguaje de programación con variables, sentencias condicionales, bucles,
funciones.... No es un lenguaje de marcas como podría ser HTML, XML o WML. Está
mas cercano a JavaScript o a C, para aquellos que conocen estos lenguajes.

 PHP es un lenguaje de script del lado del servidor. Otros lenguajes similares son
ASP, JSP o ColdFusion

 Los scripts PHP están incrustados en los documentos HTML y el servidor los in-
terpreta y ejecuta antes de servir las páginas al cliente

 El cliente no ve el código PHP sino los resultados que produce

Ing. Victor Quevedo Dioses


7

¿Cómo funciona PHP? (1)

Servidor web Cliente


(navegador)

Página Página
HTML HTML
internet

<P>Hola, Ana</P>

¿Cómo funciona PHP? (2)

Servidor web Cliente


(navegador)

Página Página Página


PHP HTML HTML
internet
Intérprete
PHP

<?PHP
$nombre = "Ana";
print ("<P>Hola, $nombre</P>");
?>

<P>Hola, Ana</P>

Ing. Victor Quevedo Dioses


8

Configuración de un Sitio Web

Un sitio Web tiene los siguientes elementos


Servidor Web

Un servidor web es un programa que implementa el protocolo HTTP (hypertext


transfer protocol). Este protocolo está diseñado para trans- ferir
lo que llamamos hipertextos, páginas web o páginas HTML (hy-
pertext markup language): textos complejos con enlaces, figu-
ras, formularios, botones y objetos incrustados como ani- ma-
ciones o reproductores de música.

Es un programa que se ejecuta continuamente en un ordenador (también se emplea el


término para referirse al ordenador que lo ejecuta), manteniéndose a la espera de peti-
ciones por parte de un cliente (un navegador de Internet) y que responde a estas peti-
ciones adecuadamente, mediante una página web que se exhibirá en el navegador o
mostrando el respectivo mensaje si se detectó algún error.

Servidor HTTP Apache


De Wikipedia, la enciclopedia libre

El servidor HTTP Apache es un software (libre) servidor HTTP de código abierto para
plataformas Unix (BSD, GNU/Linux, etc.), Windows, Macintosh y otras,
que implementa el protocolo HTTP/1.11 y la noción de sitio vir- tual.
Cuando comenzó su desarrollo en 1995 se basó inicialmente en códi-
go del popular NCSA HTTPd 1.3, pero más tarde fue reescrito por
completo. los primeros ingenieros de internet. El servidor Apache se desarrolla dentro
del proyecto HTTP Server (httpd) de la Apache Software Foundation.

Apache presenta entre otras características mensajes de error altamente configurables,


bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta
de una interfaz gráfica que ayude en su configuración.

Ing. Victor Quevedo Dioses


9

Base de Datos Mysql

MySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario


con más de seis millones de instalaciones.1 MySQL AB —desde enero de 2008 una sub-
sidiaria de Sun Microsystems— desarrolla MySQL como software libre en un esquema
de licenciamiento dual.

PHP es un lenguaje de programación interpretado, diseñado


originalmente para la creación de páginas web dinámicas. Es
usado principalmente en interpretación del lado del servidor
(server-side scripting) pero actualmente puede ser utilizado
desde una interfaz de línea de comandos o en la creación de otros tipos de programas
incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+.

PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente


PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por Rasmus Ler-
dof en 1994; sin embargo la implementación principal de PHP es producida ahora por
The PHP Group y sirve como el estándar de facto para PHP al no haber una especifica-
ción formal. Publicado bajo la PHP License, la Free Software Foundation considera esta
licencia como software libre.

Ing. Victor Quevedo Dioses


10

Instalacion de Php

Ing. Victor Quevedo Dioses


11

Ing. Victor Quevedo Dioses


12

Ing. Victor Quevedo Dioses


13

Ing. Victor Quevedo Dioses


14

Ing. Victor Quevedo Dioses


15

Ing. Victor Quevedo Dioses


16

CAPITULO 2: LENGUAJE PHP


Lenguaje Básico
En esta parte veremos el estudio del lenguaje basico en las siguiente temas:

 Sintaxis básica
 Tipos de datos
 Variables
 Constantes
 Expresiones y operadores

Sintaxis básica
Para escribit un programa en php se sigue lo siguiente:
 PHP es sensible a las mayúsculas
 ¿Cómo se incrusta en la página web?
 <?PHP ... ?>
 recomendado, siempre disponible
 <?= expresión ?>
 equivale a <? echo expresión ?>
 Las instrucciones se separan con un ; como en C. La marca final ?> implica un ;
 Comentarios: como en C, /* … */ y //
Sentencia echo
echo: muestra una o más cadenas
echo cadena1 [, cadena2…]; // no es una función
echo “Hola mundo”;
echo “Hola “, “mundo”;

Ing. Victor Quevedo Dioses


17

Tipos de Datos

Los tipos disponibles en lenguaje PHP son:

 Tipos simples
o Enteros
o Reales (equivalentes a los doubles de C).
o Cadenas
 Tipos compuestos
o Vectores
 Asociativos
 Escalares
o Objetos

Enteros

PHP soporta tres notaciones diferentes para especificar los números enteros: octal, de-
cimal y hexadecimal.

Octal: 075

Decimal: 276

Hexadecimal:0x0A3

Vemos que es necesario especificar de forma explícita las notaciones octal y hexadeci-
mal, mediante los caracteres "0" y "0x", respectivamente. Si no se indica nada se asume
que se trata de notación decimal.

Ing. Victor Quevedo Dioses


18

Reales

Los reales, aunque no admiten notaciones en diferentes bases como los enteros (bases
8, 10 y 16), pueden especificarse de las dos formas siguientes:

2.432

2.33e3(notación científica)

Hay que hacer notar el hecho de que los reales en PHP equivalgan en rango y precisión
a los reales tipo double que encontramos en C.

Cadenas

Las cadenas podemos especificarlas en PHP de dos formas distintas: encerrándolas


entre comillas dobles (") o simples ('). Dependiendo de la forma de especificarlas, nos
encontraremos con dos comportamientos diferentes.
Si utilizamos comillas dobles las variables contenidas en la cadena se sustituirán por su
valor y, además, podremos utilizar caracteres de escape al igual que podemos hacer en
C. Aclaremos esto con un ejemplo:

$a = 10;
$b = 1.2e3;
$c = "Los valores de \"a\" y \"b\" son $a y $b.";
echo("$c");

El resultado de la ejecución del fragmento de código anterior será:

Los valores de "a" y "b" son 10 y 1200.

Nótese que se han utilizado caracteres de escape para poder incluir comillas dobles en
la cadena.

\n Retorno de carro

\t Tabulación

\\ \

Ing. Victor Quevedo Dioses


19

\$ $

\" "

Si utilizamos comillas simples las variables no serán sustituidas por su valor y, además,
solo podrán usarse las secuencias de escape "\\" y "\'".

$a = 10;
$b = 12;
$c = 'Los valores de \'a\' y \'b\' son $a y $b.';
echo('$c');
echo("$c");

La salida generada será:

$c Los valores de 'a' y 'b' son $a y $b.


Conversión de cadenas

Las cadenas pueden ser evaluadas como valores numéricos. Se fijan los siguientes cri-
terios:

 Si la cadena contiene '.', 'e' o 'E', se evaluará como un número real. En otro caso
se considerará un entero.
 El valor de la conversión será el fragmento inicial de la cadena, si este es número
válido. Se considerará que se trata de un número válido si está compueso de un
signo (opcional), uno o más dígitos, punto decimal (opcional) y un exponen-
te(también opcional) que consiste en una 'e' o 'E' seguida de más dígitos.

$valor = 1 + "2"; # $valor = 3;


$valor = 3 + "4.5"; # $valor = 7.5;

Ing. Victor Quevedo Dioses


20

$valor = 4 + "3.1e3 prueba"; # $valor = 3104;

Vectores

PHP permite la creación de vectores de forma implícita (utilizándolos sin más se decla-
ran automáticamente) o bien de forma explícita (funciones list() o array()).

Al igual que gran parte de los lenguajes, en PHP se accede a una posición de un vector
poniendo su nombre y el índice encerrado entre corchetes [ ]. El índice puede ser aso-
ciativo $a["rojo"] o escalar $a[4]. Si al asignar un valor a un vector no ponemos ninguna
posición entre los corchetes, estaremos añadiendo una posición al final del vector donde
se almacenará dicho valor.

$a[0] = "elemento 0"; /* vectores con índice escalar */


$b[4] = 3;
$c["rojo"] = "cadena"; /* vectores con índice asociativo */
$d['verde'] = "color";

$b[] = 7; /* almacenamos un 3 en la posición 5 de $b */

El manejo de vectores multidimensionales se basa, simplemente, en la adición de otro


índice:

$a[3]["b"] = 3;

Desafortunadamente en PHP3 no es posible referirse a la posición de un vector multidi-


mensional directamente dentro de una cadena, es decir, el siguiente ejemplo no va a dar
el resultado esperado.

$a[4]['prueba'] = 'prueba';
echo ("Esto es una $a[4]['prueba']");

Ing. Victor Quevedo Dioses


21

El resultado será

Esto es una Array[prueba]


que no es lo que se esperaba. De todas formas existen diversas soluciones como volcar
el valor en una variable que no sea un vector multidimensional o construir la cadena y
después mostrarla.

Pero en PHP4 aparecen las llaves { } para solucionar el problema de la siguiente forma:

echo ("Esto es una {$a[4]['prueba']}");

Objetos

Para poder seguir este apartado es necesario que el lector tenga nociones de lo que es
la programación orientada a objetos, ya que esto solo pretende ser un tutorial de PHP, y
no un tutorial de programación.

Una clase es un conjunto de variables al que se asocia una serie de funciones. Se utiliza
la sintaxis:

class nombre {
var variables;
declaración y definición de funciones;
}

Lo veremos más claro con un ejemplo. Vamos a crear un objeto que represente un vec-
tor:

class vector {
var $x, $y; /* componentes */

function vector($cx = 0, $cy = 0) /* constructor */

Ing. Victor Quevedo Dioses


22

{
$this->x = $cx; /* con "this" nos referimos
a este objeto */
$this->y = $cy;
}

function imprime()
{
print("($this->x, $this->y)");
}

function pone_x($cx)
{
$this->x = $cx;
}

function pone_y($cy)
{
$this->y = $cy;
}

En el ejemplo tenemos dos variables y cuatro funciones. La primera de ellas es el cons-


tructor (tiene el mismo nombre que el objeto) y observamos que tiene valor por defecto
para sus parámetros. Vamos a ver a continuación como utilizar esta clase.

$v = new vector; /* se inicializa la clase con los valores


por defecto */
$v->imprime();
$v->pone_x(5);
$v->imprime();

La salida del fragmento de código anterior sería:

Ing. Victor Quevedo Dioses


23

(0,0)(5,0)

En PHP también existe la herencia. Se lleva a cabo mediante la palabra reservada ex-
tends, e implica que todos los atributos y funciones de la clase base los tendrá también
la clase heredera. Vamos a añadirle un punto de origen a la clase anterior.

class vector_extendido extends vector {


var $ox, $oy;

function vector_extendido($cx = 0, $cy = 0, $ox = 0, $oy = 0)


{
$this->x = $cx;
$this->y = $cy;
$this->ox = $ox;
$this->oy = $oy;

function imprime_o()
{
print("($this->ox, $this->oy)");
}

function pone_ox($ox)
{
$this->ox = $ox;
}

function pone_oy($oy)
{
$this->oy = $oy;
}

Ing. Victor Quevedo Dioses


24

Un posible código que utilice la nueva clase podría ser:

$v = new vector_extendido(1,2,0,0);
$v->pone_x(5);
$v->pone_ox(2);
$v->imprime();
$v->imprime_o();

Y su salida sería: (5,2)(2,0)

Variables y Declaraciones
Variables
Una variable es un contenedor de información, en el que podemos meter números enteros,
números decimales, caracteres... en contenido de las variables se puede leer y se puede
cambiar
durante la ejecución de un página PHP.
En PHP todas las variables comienzan con el símbolo del dólar $ y
no es necesario definir una variable antes de usarla. Tampoco tienen tipos, es decir que
una misma variable puede contener un número y luego puede contener carácteres.
Declaración
Las variables se declaran simplemente inicializándolas:
$strCadena = "Hola Mundo";echo($strCadena); Si intentamos acceder a una variable no
inicializada, PHP se quejará. Para evitar ello, existe la función error_reporting(mask).

Referencia a variables

Tal y como hemos venido observando en los ejemplos, las variables en PHP se referen-
cian mediante el símbolo $ seguido del nombre de la variable. Además, curiosamente,
PHP es sensible a mayúsculas en cuanto a nombres de variables se refiere; es decir, las
variables $prueba y $Prueba se consideran diferentes. No ocurre lo mismo con el resto
de construcciones del lenguaje:

Ing. Victor Quevedo Dioses


25

<?PHP /* puedo poner php en mayúsculas */


$prueba = "hola";
$Prueba = "amigo";
ECHO("Prueba: $prueba $Prueba"); /* ECHO también en mayúsculas
?>

El resultado de interpretar el código anterior será:

Prueba: hola amigo

Asignación de valores

Hemos visto en ejemplos anteriores que la asignación de valores a variables se lleva a


cabo mediante el operador =, colocando la variable destino a la izquierda de la asigna-
ción (lvalue) y la expresión a la derecha (rvalue).

Pues bien, en PHP3 la asignación se produce por valor; es decir, el valor de la expre-
sión que se encuentra a la derecha se copia en la zona de memoria reservada para la
variable destino. Esto implica, que si asignamos el una variable var1 a otra var2, lo que
se copiará en ésta última será el valor de la primera, y las modificaciones que hagamos
sobre cualquiera de las dos no afectarán a la otra.

$a = 5;
$b = $a;
$b = $b + 3;
/* los valores serán $a = 5 y $b = 8; */

Sin embargo, en PHP4 se admite a la asignación por referencia; la variable var2 se


convierte en un alias de var1, y todas las modificaciones sobre una de ellas se reflejarán
en la otra. Esta tipo de asignación se lleva a cabo colocando el caracter & delante de la
variable origen.

Ing. Victor Quevedo Dioses


26

$a = 5;
$b = &$a;
$b = $b + 3;
/* los valores serán $a = 8 y $b = 8; */

Importante: el operador & solo se utiliza con variables. Los siguientes usos no son váli-
dos:

$a = &(3 + 4);
$b = &mostrar() /* donde mostrar() es una función */
$c = &$vector[3];

Ámbito de las variables

El ámbito de una variable es el conjunto de sentencias en las que dicha variable puede
utilizarse. Por ejemplo, en la siguiente función el ámbito de $var tan sólo comprenderá
las sentencias que conforman dicha función.

function ambito() {
$var = 4;

$a = $a + 4;
{...} /* aquí podemos referenciar $var y obtendremos
4 como su valor */
}
$function no_ambito() {
/* aquí no podemos acceder al valor de $var de ambito().
Si intentamos referenciar a $var aquí, obtendremos una
variable nueva que no será $var de ambito(). */
}

Ing. Victor Quevedo Dioses


27

Además, aunque declaremos $var fuera de la función no podremos acceder a su valor


sin más:

$var = 4;
function muestra()
{
echo($var); /* nos estamos refiriendo a una variable
$var que es local a la función, no a la
global */
}

Variables globales

Pero eso no significa que no podamos acceder a variables globales. Para hacerlo debe-
mos declarar, como tal, a la variable global a la que queramos acceder.

$var = 4;
function muestra()
{
global $var;
echo "El valor de var es $var";
}

El resultado será:

El valor de var es 4

Otra posible solución es utilizar la variable $GLOBALS, que es un vector asociativo que
almacena los valores de todas las variables globales.

$var = 4;
function muestra()

Ing. Victor Quevedo Dioses


28

{
$var = $GLOBALS["var"];
echo "El valor de var es $var";
}

Variables estáticas

Se trata de variables locales a las funciones pero que mantienen su valor cuando se sale
de la función. Así, al volver a entrar, sigue manteniendo el mismo valor que tenía al dejar
la función.

function incrementa()
{
static $var = 0;
echo("$var");
$var = $var + 1;
}

Después de dos llamadas a la función, var tendrá el valor 2.

Variables variables

Podría parecer que, en un principio, el título de este capítulo está mal escrito... pero no
es así. Si utilizamos dos $ en lugar de uno, obtendremos el siguiente resultado:

$b = "saludo"
$a = "b";
echo "${$a}";

En la última línea, PHP tomará el valor de $a, que es b, y lo sustituirá. Entonces tenemos
la sentencia equivalente echo $b, que será "saludo". Incluso podremos hacer una asig-
nación del tipo $$a = "despedida", que modificará el valor de $b.

Ing. Victor Quevedo Dioses


29

Variables predefinidas

En PHP se definen por defecto una serie de variables a las que podemos acceder desde
nuestros scripts. En esta sección vamos a ver las variables de entorno, que resumimos
en la siguiente tabla.

Vector con los argumentos pasados al script. Cuando se llama


argv mediante el método GET, este vector contiene la cadena de pe-
tición.

argc Número de parámetros contenidos en argv.

Nombre de fichero del script en ejecución. Solo disponible cuan-


PHP_SELF
do el intérprete es un módulo del servidor web.

Vector asociativo de variables pasadas por medio de HTTP co-


HTTP_COOKIE_VARS
okies. Solo disponible si la directiva track_vars está activada.

Vector asociativo que contiene las variables pasadas por medio


HTTP_GET_VARS
del método GET. Disponible solo si track_vars está activado.

Vector asociativo que contiene las variables pasadas por medio


HTTP_POST_VARS
del método POST. Disponible solo si track_vars está activado.

Operadores en PHP

Al desarrollar cualquier programa empleamos normalmente operadores que nos sirven


para realizar diversas operaciones que le otorgan un cierto grado de complejidad a nues-
tros programas, ya que, de otro modo el programa realizaría siempre lo mismo y por tan-
to no seria un programa útil.

Operadores aritméticos
+ Suma dos valores
- Resta dos valores (o pasa a negativo un valor)
* Multiplica dos valores
/ Divide dos valores
% Resto de dividir dos valores
++ Incremento en una unidad

Ing. Victor Quevedo Dioses


30

-- Decremento en una unidad


Operadores de asignación
= Asigna a la parte derecha el valor izquierdo
+= Realiza la suma de la derecha con la izquierda y la asigna a la derecha
-= Realiza la resta de la derecha con la izquierda y la asigna a la derecha
*= Realiza la multiplicación de la derecha con la izquierda y la asigna a la derecha
/= Realiza la división de la derecha con la izquierda y la asigna a la derecha
%= Se obtiene el resto y se asigna
.= Concatena el valor de la izquierda con la derecha y lo asigna a la derecha
Operadores lógicos
! Operador NO o negacion.Si era true pasa a false y viceversa
and Operador Y, si ambos son verdaderos vale verdadero
or Operador O, vale verdadero si alguno de los dos es verdadero
xor Verdadero si alguno de los dos es true pero nunca ambos
&& True si ambos lo son
|| True si alguno lo es
Operadores condicionales
== Comprueba si dos números son iguales
!= Comprueba si dos números son distintos
> Mayor que, devuelve true en caso afirmativo
< Menor que, devuelve true en caso afirmativo
>= Mayor o igual
<= Menor o igual

Expresiones y operadores
 Operadores aritméticos:
+, -, *, /, %, ++, --
 Operador de asignación:
=
operadores combinados: .=, +=, etc
$a = 3; $a += 5;  a vale 8
$b = “hola ”; $b .= “mundo”;  b vale “hola mundo”
 Equivale a $b = $b . “mundo”;

Ing. Victor Quevedo Dioses


31

 Operadores de comparación:
==, !=, <, >, <=, >= y otros
 Operador de control de error: @. Antepuesto a una expresión, evita cualquier
mensaje de error que pueda ser generado por la expresión
 Operadores lógicos:
and (&&), or (||), !, xor
and/&& y or/|| tienen diferentes prioridades
 Operadores de cadena:
concatenación: . (punto)
asignación con concatenación: .=

Constantes

Con PHP podemos definir constantes gracias a la función define(). Su sintaxis es la si-
guiente:

define("nombre_cte", valor);
Ejemplos:

define("CTE1", "Valor de la constante");


define("CTE2", 45);
echo(CTE1);

Vemos que en el caso de las constantes no es necesario poner el símbolo $. Nótese que
una constante no podrá aparecer dentro de una cadena.

Ing. Victor Quevedo Dioses


32

Practicas Dirigidas
Sentencia echo
Primer Programa
Para crear programas en php debe guardar el archivo dentro de una carpeta en la ruta
C:\appserv\www con extension .php

1.- Mostrar la configuracion del servidor


Ejer001.php Muestra la información de la configuración del servidor

<?
phpinfo();
?>

2.- Imprimir un mensaje en php


Ejer002.php Uso de la sentencia echo

<?
echo("¡Hola Mundo!<BR>");
?>

3.- Uso de la sentencia echo y asignacion

Ing. Victor Quevedo Dioses


33

Ejer003.php Uso de la sentencia echo y asigna-


cion
<?
$a= 1;
$b = 3.34;
$c = "Hola Mundo";
echo
$a,"<br>",$b,"<br>",$c;
?>

Ing. Victor Quevedo Dioses


34

HTML Y PHP
HTML es el lenguaje con el que se escriben las páginas Web. Las páginas Web pue-
den ser vistas por el usuario mediante un tipo de aplicación llamada navegador
(Browser).
Podemos decir por lo tanto que el HTML es el lenguaje usado por los navegadores para
mostrar las páginas Webs al usuario, siendo hoy en día la interfase más extendida en la
red.

Este lenguaje nos permite aglutinar textos, sonidos e imágenes y combinarlos a nuestro
gusto. Además, y es aquí donde reside su ventaja con respecto a libros o revistas, el
HTML nos permite la introducción de referencias a otras páginas por medio de los enla-
ces hipertexto.
ESTRUCTURA BÁSICA DE UN DOCUMENTO HTML
Un programa (documento o página) elaborado en HTML consta básicamente de cuatro
partes principales con las siguientes directivas, que son:

Partes:
1)
Inicio del Documento

2)
Inicio de la Cabecera
3) Inicio/Final del título del Documento

Final de la cabecera

4)
Inicio del Cuerpo del Documento

Final del Cuerpo del Documento

Final del Documento

ETIQUETAS DE FORMATO:
<B> y </B> : Sirve para colocar un texto en negrita
<U> y </U> : Sirve para subrayar un texto
<I> y </I> : Sirve para colocar un texto en cursiva

Ing. Victor Quevedo Dioses


35

<STRIKE> y </STRIKE> : Sirve para tachar un texto


<STRONG> y </STRONG> : Cumple la misma función que <B>
<EM> y </EM> : Muestra un texto seleccionado con énfasis. Lo
muestra como Italic
<SUP> y </SUP> : Texto en superíndice
<SUB> y </SUB> : Texto en subíndice
<CENTER> y </CENTER> : Para centrar texto u otro objeto

ETIQUETAS DE PÁRRAFO:

<P> y </P> : Indica un comienzo de párrafo. Para alinear un párrafo


se utiliza el comando:
<ALIGN> y </ALIGN>, utilizado dentro de la etiqueta <P>. Se puede alinear de tres for-
mas diferentes:
LEFT = IZQUIERDA
RIGHT = DERECHA
CENTER = CENTRO
EJM:

<P ALIGN=CENTER> Texto Centrado </P>

<P> : Sirve para un cambio de párrafo (deja una línea


en blanco en medio)
<PRE> y </PRE> : Indica al browser a ver el texto tal y como ha sido
escrito, respetando tabulaciones, espacios,
retornos de carro, etc.
<BR> : Indica un salto de línea
<HR> : Mostrará una línea horizontal que ocupará todo el
ancho de la página
<!--y--> : Se utiliza para hacer comentarios. Por supuesto
que esto no aparecerá dentro del browser
CABECERAS:
En un documento HTML, se pueden indicar seis tipos de cabeceras(tamaño de letra)
por medio de la directivas

Ing. Victor Quevedo Dioses


36

HEAD
<H1> y </H1>
<H2> y </H2>
<H3> y </H3>
<H4> y </H4>
<H5> y </H5>
<H6> y </H6>

TAMAÑO Y TIPO DE LETRA:

<FONT> y </FONT> : Permite variar el tamaño, el color y el tipo de letra de


un texto determinado. Utiliza los parámetros: Tamaño (size), color y (Tipo de letra) fa-
ce

SIZE: Define el tamaño de la letra. Este tamaño puede ser absoluto o relativo. Existen
siete niveles de tamaño distinto numerados de 1 a 7 por orden creciente
EJM:
<FONT SIZE=4>Este texto es más grande</FONT>
COLOR: Define el color el color del texto mediante el atributo color. Este se puede espe-
cificar mediante un código o simplemente con el nombre en inglés

NOMBRE COLOR VALOR


<FONT COLOR=”WHITE”>BLANCO</FONT> BLANCO #FFFFFF
<FONT COLOR=”BLACK”>NEGRO</FONT> NEGRO #000000
<FONT COLOR=”RED”>ROJO</FONT> ROJO #FF0000
<FONT COLOR=”GREEN”>VERDE</FONT> VERDE #00FF00
<FONT COLOR=”BLUE”>AZUL</FONT> AZUL #0000FF
<FONT COLOR=”YELLOW”>AMARILLO</FONT> AMARILLO #FFFF00
<FONT COLOR=”CYAN”>CYAN</FONT> CYAN #00FFFF
<FONT COLOR=”MAGENTA”>MAGENTA</FONT> MAGENTA #FF00FF
FACE: Define el tipo de letra

Ing. Victor Quevedo Dioses


37

EJM:
<FONT FACE=”Comic Sans MS, arial, verdana”>Esta texto tiene tipografía</FONT>
EJM 1:
<HTML>
<HEAD>
<TITLE>Mi primera página</TITLE>
</HEAD>
<BODY>
<H1>Bienvenido a mi página</H1>
Esta página se encuentra en <STRONG>Lima – Perú</STRONG>, <BR>
en el <EM>servidor web</EM> de IESP Norbert Wiener.
<HR>
Hasta luego !
</BODY>
</HTML>

<HTML>
<HEAD>
<TITLE>Mi primera página</TITLE>
</HEAD>
<BODY>
<H1>Bienvenido a mi página</H1>
Esta página se encuentra en <STRONG>Lima – Perú</STRONG>, <BR>
en el <EM>servidor web</EM> de IESP Norbert Wiener.
<HR>
Hasta luego !
</BODY>
</HTML>

Ing. Victor Quevedo Dioses


38

Ing. Victor Quevedo Dioses


39

Lenguaje PHP y HTML


<?
echo "<HTML>";
echo "<HEAD><TITLE>Mi primera página</TITLE></HEAD>";
echo "<BODY>";:echo "<H1>Bienvenido a mi otra página con sentencia echo </H1>";
echo "Esta página se encuentra en <STRONG>Lima – Perú</STRONG>,<BR>";
echo "en el <EM>servidor web</EM> de INICTEL.";
echo "<HR>Hasta luego !";echo "</BODY>";
echo "</HTML>";?>

Ejer002.php Uso de la sentencia echo


<?
echo "<HTML> <HEAD><TITLE>Mi ter-
cera página</TITLE></HEAD>
<BODY>
<H1>Bienvenido a mi otra página con
sentencia echo </H1>
Esta página se encuentra en
<STRONG>Lima – Pe-
rú</STRONG>,<BR> en el <EM>servidor
web</EM> de INICTEL. <HR>Hasta
luego !
</BODY> </HTML>";
?>

Ing. Victor Quevedo Dioses


40

LISTAS
Nos permiten mostrar la información debidamente ordenada.
LISTAS ORDENADAS O ENUMERADAS:
Por lo general, etiquetadas con números.
<OL> y </OL> : Sirve para toda la lista (Order List)
<LI> : Sirve para cada elemento de la lista (List Item)
<LH> : Define el titulo de la lista, este es opcional y
aparecerá en la parte superior de esta.
El formato es el siguiente:
<OL START = n° TYPE = A ó a ó I ó i ó 0 >
<LH> Titulo de la lista </LH>
<LI> Elemento 1
<LI> Elemento 2
...
<LI> Elemento n
</OL>
El punto de comienzo siempre será el 1 si no se indica en START con otro valor de
comienzo y el tipo de numeración puede seleccionarse con el atributo TYPE. Sus posi-
bles valores son:
 A : Letras mayúsculas.
 a : Letras minúsculas.
 I : Número romanos en mayúsculas.
 i : Número romanos en minúsculas.
 0: Números (es por defecto por tanto no hay que indicarlo).

Ing. Victor Quevedo Dioses


41

EJEMPLOS
1) CÓDIGO HTML:
<OL >
<LI> Elemento 1
<LI> Elemento 2
<LI> Elemento 3
</OL>
RESULTADO:
1. Elemento 1
2. Elemento 2
3. Elemento 3
2) CÓDIGO HTML:
<OL TYPE=I>
<LI> Elemento 1
<LI> Elemento 2
<LI> Elemento 3
<OL TYPE=a>
<LI> Elemento 3.1
<LI> Elemento 3.2
</OL>
<LI> Elemento 4
</OL>
RESULTADO:
I. Elemento 1
II. Elemento 2
a. Elemento 3.1
b. Elemento 3.2
III. Elemento 4

LISTAS NO ORDENADAS O CON VIÑETAS (BALAS):

<UL> y </UL> : Sirve para toda la lista (Unordered List)

Ing. Victor Quevedo Dioses


42

<LI> : Sirve para cada elemento de la lista

El formato es el siguiente:

<UL TYPE = DISK ó CIRCLE ó SQUARE >

<LH> Titulo de la lista </LH>


<LI> Elemento 1
<LI> Elemento 2
...
<LI> Elemento n

</UL>

Para marcar los distintos elementos de la lista se usarán unos símbolos, que pueden
ser un disco (DISK), un circulo (CIRCLE) ó un cuadrado (SQUARE), seleccionables con
el atributo TYPE.

EJEMPLOS
1) CÓDIGO HTML:

<UL >

<LH> Titulo </LH>


<LI> Elemento 1
<LI> Elemento 2
<LI> Elemento 3

</UL>

RESULTADO:

Titulo

Ing. Victor Quevedo Dioses


43

 Elemento 1
 Elemento 2
 Elemento 3

2) CÓDIGO HTML:

<UL TYPE=SQUARE>

<LI> Elemento 1
<LI> Elemento 2
<LI> Elemento 3

<UL TYPE=CIRCLE>

<LI> Elemento 3.1


<LI> Elemento 3.2

</UL>

<LI> Elemento 4

</UL>

RESULTADO:

 Elemento 1
 Elemento 2
 Elemento 3
o Elemento 3.1
o Elemento 3.2
 Elemento 4

Ing. Victor Quevedo Dioses


44

IMÁGENES
 Imágenes y enlaces
 Alineación respecto al texto
Imágenes
Para incluir gráficos e imágenes en nuestras páginas utilizaremos la etiqueta
<IMG>
de esta manera:

<IMG SRC="Archivo_gráfico" >

El parámetro SRC especifica el nombre del archivo que contiene el gráfico. Los formatos
estándar en la red son el GIF y el JPG.
EJM 1:
<HTML>
<HEAD>
<TITLE>Imágenes</TITLE>
</HEAD>
<BODY>
<IMG SRC="C:\GLOBE.gif">
</BODY>
</HTML>

Ing. Victor Quevedo Dioses


45

EL ATRIBUTO ALT
El atributo ALT especifica el texto que se mostrará en lugar del gráfico en aquellos nave-
gadores que no sean capaces de mostrarlos (como el Lynx) y en el supuesto de que el
usuario los haya desactivado. Algunos navegadores lo muestran cuando pasamos el
ratón por encima de la imagen. Es por eso que, aunque algunos usuarios no lo lleguen a
ver nunca, conviene ponerlo siempre. De hecho, el estándar HTML obliga a hacerlo.
Para incluir gráficos e imágenes en nuestras páginas utilizaremos la etiqueta
<IMG SRC="archivo_gráfico" ALT="descripción">
EJM 2:
<HTML>
<HEAD>
<TITLE>Imágenes</TITLE>
</HEAD>
<BODY>
<IMG SRC="C:\GLOBE.gif" ALT="La Tierra">
</BODY>
</HTML>

Ing. Victor Quevedo Dioses


46

Existen dos atributos que, aunque opcionales, conviene indicar siempre: la altura
(HEIGHT) y la anchura (WIDTH) del gráfico en pixels. De este modo, el navegador pue-
de mostrar un recuadro del tamaño de la imagen mientras la va leyendo de la red y así
poder mostrar el resto de la página correctamente mientras tanto.

<IMG SRC=”C:\GLOBE.gif” ALIGN=LEFT WIDTH=75 HEIGHT=80>

Se ve así:

 Imágenes y enlaces

Suele ser común incluir enlaces dentro de un gráfico. En ese caso, por defecto, los na-
vegadores le pondrán un borde al gráfico para indicar que efectivamente es un enlace,
pero la mayoría de las veces bastante poco estético. Por medio del parámetro BORDER
podremos alterar el grosor de ese borde o incluso eliminarlo poniéndolo a cero.

<IMG SRC="C:\GLOBE.gif" ALIGN=LEFT WIDTH=75 HEIGHT=80 BORDER=5>

Ing. Victor Quevedo Dioses


47

<IMG SRC="C:\GLOBE.gif" ALIGN=RIGHT WIDTH=75 HEIGHT=80 BORDER=15>

<P ALIGN=CENTER><IMG SRC="C:\GLOBE.gif" WIDTH=75 HEIGHT=40 BOR-


DER=15></P>

 Imágenes como enlaces

Otra característica interesante de las imágenes es que permiten ser utilizadas como hi-
pervínculos. Para esto, es necesario crear enlace y en vez de encerrar el texto dentro de
la etiqueta <A>hay que encerrar una imagen.

Ing. Victor Quevedo Dioses


48

Ejemplo:
<A HREF=”http://www.computersa.com”>
<IMG SRC="C:\bolt.gif" WIDTH=90 HEIGHT=80 BORDER=3 ALT="Haga Clic aquí
para comprar un computador">
</A>
Resultado:

 Alineación respecto al texto


Para poder maquetar conjuntamente texto y gráficos, el HTML proporciona, por medio
del parámetro ALIGN, las siguientes maneras de alinear una imagen respecto del texto
que la acompaña:

Valor de ALIGN Utilidad Resultado

TOP Coloca el punto más alto de la imá- Este es el texto


gen coincidiendo con lo más alto de
la línea de texto actual.
MIDDLE Alinea el punto medio (en altura) de
la imágen con la base del texto. Este es el texto

BOTTOM(Por Alinea el punto más bajo de la imá-


defecto) gen con la base del texto.
Este es el texto
RIGHT Coloca la imágen a la izquierda del
texto.
Este es el texto
LEFT Coloca la imágen a la derecha del
texto.
Este es el texto

Ing. Victor Quevedo Dioses


49

Hay que aclarar que la base del texto es la línea donde descansan casi todas las letras
del alfabeto excepto algunas como la p, la g o la j.
Si quiere colocar el texto en el punto más alto de la imágen.
Ejemplo:

<IMG SRC="C:\Graficos\GLOBE.gif" ALIGN=TOP WIDTH=75 HEIGHT=70 BOR-


DER=5>GLOBO TERRAQUEO

GLOBO TERRAQUEO

Si prefiere colocar el texto en el punto medio de la imagen.

Ejemplo:

<IMG SRC="C:\Graficos\GLOBE.gif" ALIGN=MIDDLE WIDTH=75 HEIGHT=70 BOR-


DER=5>GLOBO TERRAQUEO

GLOBO TERRAQUEO

Si quiere colocar el texto en el punto mas bajo de la imágen.


Ejemplo:

<IMG SRC="C:\Graficos\GLOBE.gif" ALIGN=BOTTOM WIDTH=75 HEIGHT=70


BORDER=5>GLOBO TERRAQUEO

GLOBO TERRAQUEO

Ing. Victor Quevedo Dioses


50

TABLAS
Las tablas nos permiten representar cualquier elemento de nuestra página (texto, listas,
imágenes, etc.) en diferentes filas y columnas separadas entre si. Es una herramienta
muy útil para “ordenar” contenidos de distintas partes de nuestra página.

Para crear tablas usamos las siguientes directivas:

<TABLE> : Indica el comienzo de una tabla


<TR> : Indica el comienzo de una línea de la tabla
</TR> : Indica el final de la línea de la tabla
<TD> : Indica el comienzo una celda
</TD> : Indica el final una celda
<TH> : Indica el comienzo de una celda que será una cabecera
</TH> : Indica el final de una celda que es una cabecera
</TABLE> : Indica el final de tabla

Parámetros opcionales:

BORDER = num
Indica que se pinta el borde de la tabla y de las celdas

CELLSPACING = num
Indica el espacio que separa las celdas que están dentro de la tabla

CELLPADDING = num
Indica el espacio que separa el borde de cada celda y el contenido de esta

WIDTH = num ó %
Indica el ancho de la tabla en función del ancho de la ventana del visor. Si no se indica,
el ancho se adecuará al tamaño de los contenidos de las celdas

HEIGHT = num ó %
Indica la altura de la tabla en función del ancho de la ventana del visor. Si no se indica, la
altura se adecuará a la altura de los contenidos de las celdas

Ing. Victor Quevedo Dioses


51

BGCOLOR = Código de color.


Especifica el color de fondo de toda la tabla.

ROWSPAN = num
Indica el número de filas que ocupará la celda. Por defecto ocupa una sola fila

COLSPAN = num
Indica el número de columnas que ocupará la celda. Por defecto ocupa una sola colum-
na

ALIGN : Permite alinear el texto dentro de una celda. Acepta LEFT, RIGHT, CENTER.
VALIGN : Permite alinear el texto verticalmente dentro de una celda. Acepta TOP, BOT-
TOM, CENTER.
Ejemplo 1:

<HTML>
<HEAD>
<TITLE>PRIMERA TABLA</TITLE>
</HEAD>
<BODY>
<TABLE HEIGHT=50% WIDTH=50% BORDER=1 CELLSPACING=1>
<TR>
<TD HEIGHT=50 WIDTH=50>HOLA</TD>
<TD>AMIGOS</TD>
</TR>
<TR>
<TD>INSTITUTO</TD>
<TD>WIENER</TD>
</TR>
</TABLE>
</BODY>
</HTML>

Ing. Victor Quevedo Dioses


52

<TD>Comienzo
de una Celda

<TR>Comienzo
de una Fila

Esta tabla está compuesta de la siguiente forma:

1°) Comienza la tabla con <TABLE>

2°) Luego viene <TR>, indica que comienza una nueva fila (horizontal) de la tabla. Una
tabla por lo menos debe tener una fila.

3°) Luego viene <TD>, que indica que comienza una celda (columna). A continuación
de este tag se coloca la información.
Ejemplo 2:

<HTML>
<HEAD>
<TITLE>SEGUNDA TABLA</TITLE>
</HEAD>
<BODY>
<TABLE HEIGHT=50% WIDTH=50% BORDER=1 CELLSPACING=1>
<TR>
<TD ALIGN=CENTER HEIGHT=25% WIDTH =25%>HOLA</TD>
<TD ALIGN=CENTER HEIGHT=25% WIDTH =25%>AMIGOS</TD>
</TR>
<TR>

Ing. Victor Quevedo Dioses


53

<TD ALIGN=CENTER>INSTITUTO</TD>
<TD ALIGN=CENTER>WIENER</TD>
</TR>
</TABLE>
</BODY>
</HTML>

Ejemplo 3:
<HTML>
<HEAD>
<TITLE>TERCERA TABLA</TITLE>
</HEAD>
<BODY>
<TABLE BGCOLOR=GREEN HEIGHT=50% WIDTH=50% BORDER=1 CELLSPAC-
ING=1>
<TR>
<TD BGCOLOR=YELLOW ALIGN=CENTER HEIGHT=25% WIDTH=25%>HOLA</TD>
<TD BGCOLOR=CYAN ALIGN=CENTER HEIGHT=25% WIDTH=25%>AMIGOS</TD>
</TR>
<TR>
<TD BGCOLOR=RED ALIGN=CENTER>INSTITUTO</TD>

Ing. Victor Quevedo Dioses


54

<TD BGCOLOR=MAGENTA ALIGN=CENTER>WIENER</TD>


</TR>
</TABLE>
</BODY>
</HTML>

Ejemplo 4:

<HTML>
<HEAD>
<TITLE>CUARTA TABLA</TITLE>
</HEAD>
<BODY>
<H1>LISTA DE CURSOS</H1>
<TABLE BORDER=5>
<TR>
<TD>CURSO</TD><TD>HORARIO</TD>
</TR>
<TR>
<TD>WINDOWS</TD><TD>LUN - MIER 7- 10</TD>
</TR>
<TR>
<TD>WORD</TD><TD>MAR - JUE 4 - 7</TD>
</TR>

Ing. Victor Quevedo Dioses


55

<TR>
<TD>EXCEL</TD><TD>SAB - DOM 2 - 5</TD>
</TR>
<TR>
<TD>VISUAL BASIC</TD><TD>LUN - VIER 7 - 10</TD>
</TR>
</TABLE>
</BODY>
</HTML>

Ejemplo 5:
<HTML>
<HEAD>
<TITLE>QUINTA TABLA</TITLE>
</HEAD>
<BODY>
<TABLE BORDER=10 CELLSPACING=4 CELLPADDING=4 WIDTH=80%>
<TH ALIGN=CENTER>BUSCADORES
<TH ALIGN=CENTER COLSPAN=2>OTROS LINKS
<TR>
<TH ALIGN=LEFT>YAHOO
<TH ALIGN=LEFT>MICROSOFT
<TH ALIGN=LEFT>IBM
<TR>
<TH ALIGN=LEFT>INFOSEEK

Ing. Victor Quevedo Dioses


56

<TH ALIGN=LEFT>APPLE
<TH ALIGN=LEFT>DIGITAL
</BODY>
</HTML>

Eje
mplo 6:
<HTML>
<HEAD>
<TITLE>TABLA LOCA</TITLE>
</HEAD>
<BODY>
<TABLE BORDER=1 WIDTH=400 HEIGHT=200>
<TR>
<TD ROWSPAN=2><FONT SIZE=+1><EM>Texto por aquí…</EM></FONT>
<TD VALIGN=BOTTOM><FONT SIZE=-1>Más…</FONT>
<TD><FONT SIZE=+1 COLOR=”#FF0000”>Otro por aca…</FONT>
<TR>
<TD BGCOLOR=”#00FF00”>Y más…
<TD ROWSPAN=2 ALIGN=CENTER><FONT SIZE=+1>Y por aca…</FONT>
<TR>
<TD VALIGN=BOTTOM><FONT SIZE=+3>1A</FONT>
<TD VALIGN=BOTTOM><FONT SIZE=+3>2B</FONT>
</TABLE>
</BODY>

Ing. Victor Quevedo Dioses


57

</HTML>

Ing. Victor Quevedo Dioses


58

Vínculos dentro de documentos


El texto y los gráficos pueden vincularse a lugares dentro del mismo documento. Esos
vínculos requieren dos partes el ancla y el vínculo en sí. El ancla identifica el lugar al
cual se va a pasar. El vinculo utiliza el nombre del ancla en lugar del nombre de algún
archivo.
Vinculo
<A HREF=”#CUZCO”>CUZCO</A>
Ancla
<A NAME=”CUZCO”>CUSCO</A>
FORMULARIOS

HTML permite usar el formulario en el documento como una manera básica de proveer
al usuario de un método para enviar información hacia el servidor.

Partes del formulario


Un formulario consta de:
1.-El comando :<FORM ACTION=”...”>
2.-El cuerpo del formulario,consistente en texto y una serie de campos de ingreso,
3.-Los botones para enviar el formulario y para limpiarlo,
4.-El comando </FORM>

Ejemplo:

<FORM NAME=”Mi formulario” METHOD=POST ACTION=”BIENVENIDA.HTML”>


……
……
</FORM>
INGRESO DE TEXTO
nombre:<INPUT NAME=”nombre” TYPE=”text”>

nombre:

Ing. Victor Quevedo Dioses


59

Ingreso de una sola opción

Sí Para que el usuario seleccione una opcion,utilize radio button


<P:>Sexo:</P>
<INPUT TYPE=”radio” NAME=sexo” VALUE=”masc” checked>Masculino<br>
No
<INPUT TYPE=”radio” NAME=sexo” VALUE=”fem”>Femenino

Listas de Selección

Word Para que el usuario pueda seleccionar una opción entre varias
Excel utilice un menú desplegable:
Sexo:
<SELECT NAME=”office” SIZE=3 MULTIPLE>
<OPTION VALUE=”W” >Word
<OPTION VALUE=”E” >Excel
<OPTION VALUE=”A” >Access
</SELECT>

Checkbox

Golf Para perimitir al usuario seleccionar varias opciones a la vez,se hace uso de
checkbox.

Tenis <P>Sus interes:</P><INPUT TYPE=”checkbox” NAME=”nombre”>

Natación

<P>Sus interes:</P><INPUT TYPE=”checkbox” NAME=”interes_golf”>GOLF

<INPUT TYPE=”checkbox” NAME=”interes_tennis”>Tenis


<INPUT TYPE=”checkbox” NAME=”interes_squash”>Squash
<INPUT TYPE=”checkbox” NAME=”interes_natacion”>Natación

Ing. Victor Quevedo Dioses


60

Botones de control del formulario

Botón de envio

ok Permite enviar el formulario al ACTION del formulario.


Ejemplo:
<INPUT TYPE=”submit” VALUE=”Enviar comentarios”>

Cancelar Botón de Limpiar el formulario

Permite devolver el formulario a sus valores originales

Ejemplo:

<INPUT TYPE=”reset” VALUE=”Limpiar formulario”>

Enviar comentarios

Acceso a los diferentes tipos de elementos de entrada de formulario


– Elementos de tipo INPUT
• TEXT
• RADIO
• CHECKBOX
• BUTTON
• FILE
• HIDDEN
• PASSWORD
• SUBMIT
– Elemento SELECT
• Simple / múltiple
– Elemento TEXTAREA
TEXT
Introduzca la cadena a buscar:
<INPUT TYPE="text" NAME="cadena" VALUE="valor por defecto" SIZE="20">
<?PHP
$cadena =
$_POST[‘cadena’];
echo $cadena;
?>

Ing. Victor Quevedo Dioses


61

 RADIO
Sexo:
<INPUT TYPE="radio" NAME=“sexo" VALUE=“M“CHECKED>Mujer
<INPUT TYPE="radio" NAME=“sexo" VALUE=“H">Hombre
<?PHP
$sexo = $_POST[‘sexo’];
print ($sexo);
?>

 CHECKBOX
<INPUT TYPE="checkbox" NAME="extras[]" VALUE="garaje" CHECKED>Garaje
<INPUT TYPE="checkbox" NAME="extras[]" VALUE="piscina">Piscina
<INPUT TYPE="checkbox" NAME="extras[]" VALUE="jardin">Jardín
<?PHP
$extras = $_POST[‘extras’];
$n = count ($extras);
for ($i=0; $i<$n; $i++)
print (“$extras[$i]<BR>\n”);
//foreach ($extras as $extra)
//print (“$extra<BR>\n”);
?>

 BUTTON

<INPUT TYPE="button" NAME=“actualizar" VALUE="Actualizar datos">


<?PHP
$actualizar =
$_REQUEST[‘actualizar’];
if ($actualizar)
print ("Se han actualizado los
datos");
?>

 FILE

<FORM ACTION="procesa.php" METH-


OD="post“ ENCTYPE="multipart/form-
data">
<INPUT TYPE="file" NAME="fichero">

Ing. Victor Quevedo Dioses


62

</FORM>

HIDDEN
<?PHP
print(“<INPUT TYPE=’hidden’ NAME=’username’ VALUE=’$usuario’>\n”);
?>
<?PHP
$username = $_POST[‘username’];
print ($username);
?>

n PASSWORD
Contraseña: <INPUT TYPE="password" NAME="clave">
<?PHP
$clave = $_POST[‘clave’];
print ($clave);
?>

 SUBMIT

<INPUT TYPE="submit" NAME="enviar" VALUE="Enviar datos">


<?PHP
$enviar = $_POST[‘enviar’];
if ($enviar)
print ("Se ha pulsado el botón
de enviar");
?>

 SELECT simple
Color:
<SELECT NAME=“color">
<OPTION VALUE=“rojo" SELECTED>Rojo
<OPTION VALUE=“verde">Verde
<OPTION VALUE=“azul">Azul
</SELECT>
<?PHP
$color = $_POST[‘color’];
print ($color);
?>

 SELECT simple

Ing. Victor Quevedo Dioses


63

Color:
<SELECT NAME=“color">
<OPTION VALUE=“rojo" SELECTED>Rojo
<OPTION VALUE=“verde">Verde
<OPTION VALUE=“azul">Azul
</SELECT>
<?PHP
$color = $_POST[‘color’];
print ($color);
?>

SELECT múltiple
Idiomas:
<SELECT MULTIPLE SIZE="3" NAME="idiomas[]">
<OPTION VALUE="ingles" SELECTED>Inglés
<OPTION VALUE="frances">Francés
<OPTION VALUE="aleman">Alemán
<OPTION VALUE="holandes">Holandés
</SELECT>
<?PHP
$idiomas = $_REQUEST[‘idiomas’];
$n = count ($idiomas);
for ($i=0; $i<$n; $i++)
print (“$idiomas[$i]<BR>\n”);
//foreach ($idiomas as $idioma)
//print (“$idioma<BR>\n”);
?>

TEXTAREA
Comentario:
<TEXTAREA COLS=“50" ROWS=“4" NAME="comentario">
Este libro me parece ...
</TEXTAREA>
<?PHP
$comentario =
$_POST[‘comentario’];
print ($comentario);
?>

Ing. Victor Quevedo Dioses


64

Formulariovarios.php
<head>
<title>CURSO DE HTML</TITLE>
</head>
<BODY bgcolor="white">
<FORM METHOD=GET ACTION='respuestaformulario.php'>
<table border=1>
<tr><td>Nombres </td><td colspan=4><INPUT TYPE=TEXT SIZE=40 MAXLENGTH=20
NAME=txtNombre></td></tr>
<tr><td>Apellidos</td><td><INPUT TYPE=TEXT SIZE=20 MAXLENGTH=40
NAME=txtApellidos></td></tr>
<tr><td>Estado Civil</td>
<td><input type="radio" name="rbtECivil" value='Soltero' checked>Soltero</td>
<td><INPUT TYPE="radio"name="rbtECivil" value='Casado'>Casado</td>
<td><INPUT TYPE="radio" name="rbtECivil" value='Viudo'>Viudo</td>
<td><INPUT TYPE="radio" name="rbtECivil" value='Divorciado'>Divorciado</td>
</tr>
<tr><td colspan=4>Cursos a llevar</td></tr>
<tr><td><INPUT TYPE=checkbox name="chkCurso" value='Word'>Word</td>
<td><INPUT TYPE=checkbox name="chkCurso" value='Excel'>Excel</td>
<td><INPUT TYPE=checkbox name="chkCurso" value='Access'>Access</td>
<td><INPUT TYPE=checkbox name="chkCurso" value='Power Point'>Power Point</td>
</tr>
<tr><td>Clave de Acces</td>
<td><INPUT TYPE =PASSWORD name=txtpass size=15 maxlength=15></td>
</tr>
<tr><td>Archivo adjunto</td>
<td><INPUT TYPE=FILE name=txtattach size=30></td></tr>
<tr>
<td>
<td><INPUT TYPE=SUBMIT NAME='btnEnviar' value='Enviar'></td>
<td><INPUT TYPE=RESET NAME='btnLimpiar' value='Borrar Datos'></td><td><INPUT
TYPE=button NAME='btnCerrar' value='Cerrar Ventana '><td></tr></table></FORM>

Ing. Victor Quevedo Dioses


65

</BODY>
</HTML>

respuestaformulario.php
<?
$xnombre=$_GET[txtNombre];
$xapellido=$_GET[txtApellidos];
$xestadocivil=$_GET[rbtECivil];
$xcurso=$_GET[chkCurso];
$xpassword=$_GET[txtpass];
$xattach=$_GET[txtattach];
echo "El nombre es
".$xnombre. "<br>";
echo "El apellido es ".$xapellido. "<br>";
echo "Estado Civil ".$xestadocivil. "<br>";
echo "Curso ".$xcurso. "<br>";
echo "Password ".$xpassword. "<br>";echo "Archivo adjunto ".$xattach. "<br>";
?>
Ejercicios resueltos

Ing. Victor Quevedo Dioses


66

1.-Con sentencias bascias imprima 1,3.34,”Hola Mundo”

Ejer003.php Uso de la sentencia echo y asigna-


cion
<?
$a= 1;
$b = 3.34;
$c = "Hola Mundo";
echo
$a,"<br>",$b,"<br>",$c;
?>

2,-Imprima sus datos personales:Nombre,edad y Dirección

Ejer004.php Uso de sentencias de asignación y html


<?
$nombre=”Susana Ruiz Cortez”;
$edad=28;

Ing. Victor Quevedo Dioses


67

echo "<table border=1>";


echo "<tr><td colspan=2><b>DATOS PERSONALES</b></td></tr>";
echo "<tr><td><b>Nombre</b></td><td>".$nombre."</td></tr>";
echo "<tr><td><b>edad</b></td><td>".$edad."</td></tr>";
echo "<tr><td><b>Direccion</b></td><td>".$Direccion."</td></tr>";
echo "</table>";
?>

Ejer004.php Uso de sentencias de asignación y html


<?$nombre=”Susana Ruiz Cortez”;
$edad=28;echo "<table border=1>";
echo "<tr><td colspan=2><b>DATOS PERSONALES</b></td></tr>";
echo "<tr><td><b>Nombre</b></td><td>".$nombre."</td></tr>";
echo "<tr><td><b>edad</b></td><td>".$edad."</td></tr>";
echo "<tr><td><b>Direccion</b></td><td>".$Direccion."</td></tr>";
echo "</table>";?>

Ing. Victor Quevedo Dioses


68

CAPITLO III

ESTRUCTURAS DE PROGRAMACION DEL LENGUAJE PHP

Estructuras de Control

A partir de ahora vamos a dotar de mas "dinamismo" a nuestros scripts ya que a partir
de diversas estructuras indicaremos que acción debe realizar en cada caso, además
también nos dará la posibilidad de realizar una misma acción multitud de veces con tan
solo una línea de código.

Estructura IF

IF es una estructura de control utilizada para tomar decisiones según se cumpla una
condición (o varias) o no. Su estructura básica es la siguiente:

if(condición/es){
acción a realizar;
}
else{
acción a realizar en caso de que no se cumpla;
}

Veamos un ejemplo básico para entenderlo mejor:

if($edad>=18){
Comprar cerveza;
}
else{
echo "No puedes comprar cerveza porque no tienes 18 años";
}

e incluso podemos realizar condicionales mas completas como el siguiente caso:

if(($edad>=18)&&($dinero>0)){
Puedes comprar cerveza porque tienes 18 y tu dinero es mayor que 0;

Ing. Victor Quevedo Dioses


69

}
else{
echo "O no tienes pelas o no tienes los 18" ;
}

if (condición)
a)Primera Forma

if (condición)
sentencia
b)Segunda Forma
if (condición)
sentencia 1
else
sentencia 2
c)Tercera Forma(if anidado)

if (condición1)
sentencia 1
else if (condición2)
sentencia 2
...
else if (condición n)
sentencia n
else
sentencia n+1
 Ejemplo de estructura selectiva if-else:

Ing. Victor Quevedo Dioses


70

7
ejer005.php If(primera forma)
<?
$edad=28;
if ($edad>=0&&$edad<=13)
echo "niño";
if ($edad>=14&&$edad<=17)
echo "adolescente";
if ($edad>=18&&$edad<=60)
echo "adulto";
if ($edad>=60&&$edad<=120)
echo "anciano";
if ($edad<=0||$edad>=120)
echo "no existe";
?>

ejer006.php If(segunda forma)


<?
$edad=28;
if ($edad>=0&&$edad<=13)
echo "niño";
else
if ($edad>=14&&$edad<=17)
echo "adolescente";
else
if ($edad>=18&&$edad<=60)
echo "adulto";
else
if ($edad>=60&&$edad<=120)
echo "anciano";
else
if ($edad<=0||$edad>=120)
echo "no existe";

Ing. Victor Quevedo Dioses


71

?>

ejer007.php If(tercera forma)


<?
$edad=28;
if ($edad>=0&&$edad<=13)
echo "niño";
elseif ($edad>=14&&$edad<=17)
echo "adolescente";
elseif ($edad>=18&&$edad<=60)
echo "adulto";
elseif ($edad>=60&&$edad<=120)
echo "anciano";
elseif ($edad<=0||$edad>=120)
echo "no existe";
?>

Ing. Victor Quevedo Dioses


72

Formularios( con if)


En un formulario se ingresan la edad de una persona, determinar si es mayor de edad o
menor de edad, mostrar una imagen para cada caso.
Ejemplo de if
Ejer008.php
<?
$x=$_GET[txtedad];

if ($x>=18)
$id=1;
else
$id=2;
?>
<form name=form1 method=get action=ejer008.php>
<table border=1>
<tr><td>INGRESE EDAD</td>
<td><input type=text name=txtedad></td></tr>
<?
echo "<tr><td colspan=2><img src='../capitulo02/imagenes/imagen0".$id.".jpg'
width=300 height=300></img></td></tr>";
?>
<tr><td colspan=2><input type=submit value='Enviar'></td></tr>
</table>
</form>

Ing. Victor Quevedo Dioses


73

MENOR DE EDAD
MAYOR DE EDAD

Estructura SWITCH

Toma distintas decisiones en función de distintos estados de la variable.Su sintaxis es la


siguiente:

switch(expresión){
case valor1:
sentencia a ejecutar cuando la expresión tiene como valor valor1
break
case valor2:
sentencia a ejecutar cuando la expresión tiene como valor valor2
break
case valor3:
sentencia a ejecutar cuando la expresión tiene como valor valor3
break
default:
sentencia que se ejecutar por defecto cuando no se cumpla ninguna de las
condiciones anteriores

Ing. Victor Quevedo Dioses


74

ejer009.php
<?
$dia="Miercoles";
switch($dia)
{
case "Lunes":
{echo "Dia Lunes";break;}
case "Martes":
{echo "Dia Martes";break;}
case "Miercoles":
{echo "Dia Miercoles";break;}
case "Jueves":
{echo "Dia Jueves";break;}
case "Viernes":
{echo "Dia Viernes";break;}
case "Sabado":
{echo "Dia Sabado";break;}
case "Domingo":
{echo "Dia Domingo";break;}
default:
{echo "Dia No Existe";break;}
}
?>

En este ejercicio se muestra una lista de fotos con la lista de selección tal como se ob-
serva:

Ing. Victor Quevedo Dioses


75

Practica Dirigida
Sentencia echo
Primer Programa
Para crear programas en php debe guardar el archivo dentro de una carpeta en la ruta
1.- Mostrar la configuración del servidor

Ejer001.php Muestra la información de la configuración del servidor

<?
phpinfo();
?>

2.- Imprimir un mensaje en php


Ejer002.php Uso de la sentencia echo

<?
echo("¡Hola Mundo!<BR>");
?>

3.- Uso de la sentencia echo y asignación

Ejer003.php Uso de la sentencia echo y asignación


<?
$a= 1;
$b = 3.34;
$c = "Hola Mundo";
echo
$a,"<br>",$b,"<br>",$c;
?>

Ing. Victor Quevedo Dioses


76

4.- Ejercicio con Operaciones

Ejer004.php
<?php
$a=12;$b=20;
$suma=$a+$b;
$resta=$a-$b;
$multi=$a*$b;
$divi=$a/$b;
echo "El valor de a es==>".$a."<br>";
echo "El valor de b es==>".$b."<br>";
echo "El valor de la suma es==>".$suma."<br>";
echo "El valor de la resta es==>".$resta."<br>";
echo "El valor de la multiplicacion es==>".$multi."<br>";
echo "El valor de la division es==>".$divi."<br>";

Ejercicios con POST Y GET


5.-
EjerFormularioPOST.php
<body>
<form name=fmr1 method=POST action=bienvenidapost.php>
<table border="1">
<tr><th colspan="2">DATOS PERSONALES</th></tr>
<tr>
<td>INGRESE NOMBRE</td>
<td><input type="text" name="txtnombre"></td>
</tr>
<tr>
<td>INGRESE EDAD</td>
<td><input type="text" name="txtedad"></td>
</tr>
<tr>
<td>
<input type="submit" name="btnenviar">
</td>
<td>
<input type="reset" name="btnuevo">
</td>
</tr>
</table>
</form>
</body>

BienvenidaPost.php
<?php
$xnombre=$_POST["txtnombre"];
$xedad=$_POST["txtedad"];
echo "<h1><font color=blue</h1><br>";
echo "Su nombre es <font co-
lor=red>".$xnombre."</font><br>";
echo "Su edad es <font color=red>".$xedad."</font><br>";

Ing. Victor Quevedo Dioses


77

EjerFormularioGET.php
<body>
<form name=fmr1 method=GET action=bienvenidaGET.php>
<table border="1">
<tr><th colspan="2">DATOS PERSONALES</th></tr>
<tr>
<td>INGRESE NOMBRE</td>
<td><input type="text" name="txtnombre"></td>
</tr>
<tr>
<td>INGRESE EDAD</td>
<td><input type="text" name="txtedad"></td>
</tr>
<tr>
<td>
<input type="submit" name="btnenviar">
</td>
<td>
<input type="reset" name="btnuevo">
</td>
</tr>
</table>
</form>
</body>

BienvenidaGET.php

<?php
$xnombre=$_GET["txtnombre"];
$xedad=$_GET["txtedad"];
echo "<h1><font color=blue</h1><br>";
echo "Su nombre es <font co-
lor=red>".$xnombre."</font><br>";
echo "Su edad es <font co-
lor=red>".$xedad."</font><br>";

Estructuras de Control
Estructura if
ejercicioif.php
<? $edad=28;
if ($edad>=0&&$edad<=13)
echo "niño";
else
if ($edad>=14&&$edad<=17)
echo "adolescente";
else if ($edad>=18&&$edad<=60)
echo "adulto";
elseif ($edad>=60&&$edad<=120)
echo "anciano";
else
if ($edad<=0||$edad>=120)

Ing. Victor Quevedo Dioses


78

echo "no existe";


?>
Ejercicio recursivo con Tallas

Se ingresa la talla y mostrar con una imagen si es de estatura baja o alta

<?Php
$i=0;$xtalla = "";
echo "i= ",$i;
if( isset($_GET['txttalla'])) {
$xtalla= $_GET['txttalla']; } EjemploTallas.php
if ($xtalla>0&&$xtalla<=1.55)
$i=1;
else if($xtalla>1.55&&$xtalla<=1.85)
$i=2;
else if($xtalla>1.85&&$xtalla<=2.2)
$i=3;
?>
<body>
<form name=fmr1 method=GET action=EjemploTallas.php>
<table border="1">
<tr><th colspan="2">EJEMPLO TALLAS</th></tr>
<tr>
<td>INGRESE TALLA</td>
<td><input type="text" name="txttalla" onClick="foco('txtta');"></td>
</tr>

Ing. Victor Quevedo Dioses


79

<tr>
<td colspan="2">
<?php
echo "<img src=imagenes/imagen0".$i.".jpg></img>";
?>
</td>
</tr>
<td>
<input type="submit" name="btnenviar">
</td>
<td>
<input type="reset" name="btnuevo">
</td>
</tr>
</table>

</form>
</body>

Lazos

ejer010.php Ejemplo con While

<?
echo "<h1>Lazo While</h1>"."<br>";
$a=1;
while ( $a<=9)
{$a +=1;
echo "valor de a====>". $a."<br>";
}?>

Ing. Victor Quevedo Dioses


80

ejer011.php Ejemplo con For

<?
echo "<h1>Lazo For</h1>"."<br>";
for($a=1;$a<10;$a++)
{
echo "valor de a====>". $a."<br>";
}
?>

Controles en Formularios

RADIO
Sexo:
<INPUT TYPE="radio" NAME=“sexo" VALUE=“M“CHECKED>Mujer
<INPUT TYPE="radio" NAME=“sexo" VALUE=“H">Hombre
<?PHP
$sexo = $_POST[‘sexo’];
print ($sexo);
?>

CHECKBOX
<INPUT TYPE="checkbox" NAME="extras[]" VALUE="garaje" CHECKED>Garaje
<INPUT TYPE="checkbox" NAME="extras[]" VALUE="piscina">Piscina
<INPUT TYPE="checkbox" NAME="extras[]" VALUE="jardin">Jardín
<?PHP
$extras = $_POST[‘extras’];
$n = count ($extras);
for ($i=0; $i<$n; $i++)
print (“$extras[$i]<BR>\n”);
//foreach ($extras as $extra)
//print (“$extra<BR>\n”);
?>

Ing. Victor Quevedo Dioses


81

<form action="#" method="post">


<input type="checkbox" name="check_list[]" value="C/C++"><label>C/C++</label><br/>
<input type="checkbox" name="check_list[]" value="Java"><label>Java</label><br/>
<input type="checkbox" name="check_list[]" value="PHP"><label>PHP</label><br/>
<input type="submit" name="submit" value="Submit"/>
</form>
<?php
if(isset($_POST['submit'])){//to run PHP script on submit
if(!empty($_POST['check_list'])){
// Loop to store and display values of individual checked checkbox.
foreach($_POST['check_list'] as $selected){
echo $selected."</br>";
}
}
}
?>

SELECT simple
Color:
<SELECT NAME=“color">
<OPTION VALUE=“rojo" SELECTED>Rojo
<OPTION VALUE=“verde">Verde
<OPTION VALUE=“azul">Azul
</SELECT>
<?PHP
$color = $_POST[‘color’];
print ($color);
?>

SELECT múltiple
Idiomas:
<SELECT MULTIPLE SIZE="3" NAME="idiomas[]">
<OPTION VALUE="ingles" SELECTED>Inglés
<OPTION VALUE="frances">Francés
<OPTION VALUE="aleman">Alemán
<OPTION VALUE="holandes">Holandés
</SELECT>
<?PHP
$idiomas = $_REQUEST[‘idiomas’];
$n = count ($idiomas);
for ($i=0; $i<$n; $i++)
print (“$idiomas[$i]<BR>\n”);
//foreach ($idiomas as $idioma)
//print (“$idioma<BR>\n”);
?>

Ing. Victor Quevedo Dioses


82

Ejercicio con Listas


<?php
$xcat=$_POST["lista"];
echo "LA CATEGORIA ES ".$xcat;
?>
<body>
<form name=form1 method="POST" action="lista1.php">
<select name="lista" size="multiple">
<option value="EMBUTIDOS">EMBUTIDOS</option>
<option value="GASEOSAS">GASEOSAS</option>
<option value="LICORES">LICORES</option>
</select>
<input type="submit" name="cmdenviar" value="enviar"></input>
</form>

</body>

Ejercicio2
<script>
function escoge(combo)
{
url="Lista1.php?codigo="+combo;
document.location.replace(url);
}
</script>
<?
$cod=$_GET[codigo];
echo "Has escodigo la opcion===>".$cod."<br>";
?>

<body>
<form name="form1" method="GET" action="ListaJava.php" on-
change='escoge(document.form1.office.selectedIndex)'>
<SELECT NAME="office" size="3" MULTIPLE>
<OPTION VALUE="W">WORD</OPTION>
<OPTION VALUE="E">EXCEL</OPTION>
<OPTION VALUE="A">ACCESS</OPTION>
</select>
</body>

Ing. Victor Quevedo Dioses


83

Formulariovarios.php
<head>
<title>CURSO DE HTML</TITLE>
</head>
<BODY bgcolor="white">
<FORM METHOD=GET ACTION='respuestaformulario.php'>
<table border=1>
<tr><td>Nombres </td><td colspan=4><INPUT TYPE=TEXT SIZE=40 MAXLENGTH=20
NAME=txtNombre></td></tr>
<tr><td>Apellidos</td><td><INPUT TYPE=TEXT SIZE=20 MAXLENGTH=40
NAME=txtApellidos></td></tr>
<tr><td>Estado Civil</td>
<td><input type="radio" name="rbtECivil" value='Soltero' checked>Soltero</td>
<td><INPUT TYPE="radio"name="rbtECivil" value='Casado'>Casado</td>
<td><INPUT TYPE="radio" name="rbtECivil" value='Viudo'>Viudo</td>
<td><INPUT TYPE="radio" name="rbtECivil" value='Divorciado'>Divorciado</td>
</tr>
<tr><td colspan=4>Cursos a llevar</td></tr>
<tr><td><INPUT TYPE=checkbox name="chkCurso" value='Word'>Word</td>
<td><INPUT TYPE=checkbox name="chkCurso" value='Excel'>Excel</td>
<td><INPUT TYPE=checkbox name="chkCurso" value='Access'>Access</td>
<td><INPUT TYPE=checkbox name="chkCurso" value='Power Point'>Power Point</td>
</tr>
<tr><td>Clave de Acces</td>
<td><INPUT TYPE =PASSWORD name=txtpass size=15 maxlength=15></td>
</tr>
<tr><td>Archivo adjunto</td>
<td><INPUT TYPE=FILE name=txtattach size=30></td></tr>
<tr>
<td>
<td><INPUT TYPE=SUBMIT NAME='btnEnviar' value='Enviar'></td>
<td><INPUT TYPE=RESET NAME='btnLimpiar' value='Borrar Datos'></td><td><INPUT
TYPE=button NAME='btnCerrar' value='Cerrar Ventana '><td></tr></table></FORM>
</BODY>

Ing. Victor Quevedo Dioses


84

</HTML>

respuestaformulario.php
<?
$xnombre=$_GET[txtNombre];
$xapellido=$_GET[txtApellidos];
$xestadocivil=$_GET[rbtECivil];
$xcurso=$_GET[chkCurso];
$xpassword=$_GET[txtpass];
$xattach=$_GET[txtattach];
echo "El nombre es ".$xnombre.
"<br>";
echo "El apellido es ".$xapellido. "<br>";
echo "Estado Civil ".$xestadocivil. "<br>";
echo "Curso ".$xcurso. "<br>";
echo "Password ".$xpassword. "<br>";echo "Archivo adjunto ".$xattach. "<br>";
?>

Ing. Victor Quevedo Dioses


85

Lazos

ejer010.php Ejemplo con While

<?
echo "<h1>Lazo While</h1>"."<br>";
$a=1;
while ( $a<=9)
{$a +=1;
echo "valor de a====>". $a."<br>";
}?>

ejer011.php Ejemplo con For

<?
echo "<h1>Lazo For</h1>"."<br>";
for($a=1;$a<10;$a++)
{
echo "valor de a====>". $a."<br>";
}
?>

Ing. Victor Quevedo Dioses


86

Funciones en PHP

Una de las herramientas mas importantes en cualquier lenguaje de programación son las
funciones. Una función consiste en un conjunto de rutinas y acciones que a lo largo del
script van a ser ejecutadas multitud de veces agrupados en una FUNCION y desde cual-
quier punto del script puede ser llamada y ejecutada. A su vez, esta función puede recibir
parámetros externos de los cuales dependa el resultado de una función.

Las funciones deben ser colocadas siempre antes de realizar la llamada a la función
(como es lógico). La sintaxis de una función es la siguiente:

function nombre(parámetros){
instrucciones de la función
}
para llamar a la función sería de la siguiente forma: nombre(parámetros)

Un ejemplo para entender el uso de funciones es el siguiente:


Crearemos una función que realice la suma de dos números y muestre el resultado

function sumar($sumando1,$sumando2){
$ suma=$sumando1+$sumando2
echo $sumando1."+".$sumando2."=".$suma;
}

sumar(5,6)

Un hecho relevante que cabe destacar es que las variables que declaremos dentro de la
función solo existirán o tendrán dicho valor dentro de la función.

Existen casos en los cuales no sabemos el número de parámetros que le pasaremos a la


función y en estos casos debemos usar las funciones creadas al efecto como son:

func_num_args() Numero de parámetros que se le han pasado a la función


func_get_args() Devuelve un elemento de los que forman la lista de argumentos

Ing. Victor Quevedo Dioses


87

Funcion01.php Ejemplo con Funciones


<html>
<head>
<title>Ejemplo de Función PHP</title></head>
<body>
<?
function suma($a, $b)
{$s=$a+$b;
return $s; }
$a=1;$b=2;
echo "La suma de ".$a." y ".$b. "es
.suma($a,$b),"<br>";
echo "La suma de 3242 y 524543 es
".suma(3242,524543),"<br>";
?></body></html>
Ejemplo con Funciones
<?
function muestranombre ($titulo = "Sr.")
{
echo "Estimado $titulo: <br>";
}
muestranombre( );
muestranombre("Prof.");
?>
Los argumentos con valores por defecto deben ser siempre los últimos:
Ejemplo con Funciones
<?
function muestranombre ($nombre, $titulo=
"Sr.")
{
echo "<H1>Estimado $titulo $nombre:
"."</H1><br>";
}

Ing. Victor Quevedo Dioses


88

muestranombre (“Fernández”);
muestranombre (“Fernández”, "Prof.");
?>

Ing. Victor Quevedo Dioses


89

ARRAY ASOCIATIVOS

Estas variables no tienen asignados valores, sino elementos de array que son datos
que están asociados, a su vez, a un elemento del array llamado índice.

Este índice se caracteriza por conectar los elementos del array por medio de una nume-
ración que empieza por cero. Así, el primer elemento del array tiene índice cero, el se-
gundo tiene índice uno, y así sucesivamente.

Pero en realidad, resulta que este índice es numérico solo por defecto; es decir, te-
nemos la posibilidad de crear nuestro propio índice dentro de un array. Cuando ha-
cemos esto, estamos conviertiendo el array en un array asociativo.

<?php

$menu = array(
’Primer plato’ => ’Fabada’,
’Segundo plato’ => ’Solomillo’,
’Postre’ => ’Manzana verde’
);

echo $menu[’Primer plato’];

?>

Si te fijas en el código, hemos asignado a la variable $menu un array asociativo. Al ser


asociativo tenemos que especificar un índice. El índice que hemos especificado es:
Primer plato, Segundo plato y Postre. Posteriormente, hemos realizado una sentencia
echo para sacar en pantalla el primer plato del menú.

En el paréntesis del array, tenemos que asociar el índice con el valor por medio del
operador =>. Después, para acceder al un elemento del array asociativo tenemos
que escribir la variable asignada al array, y posteriormente escribir entre corchetes el
índice que hemos asignado a dicho elemento del array.

Ing. Victor Quevedo Dioses


90

Tenemos la posibilidad de poner, para especificar el índice, cualquier tipo de dato.


Por defecto es un número, pero también podemos poner cadenas de texto, como en el
ejemplo anterior; incluso variables o funciones.

<?php
$indice = ’favorito’;
$color = array($indice => ’violeta’);
echo $color[$indice];
?>

Este concepto de asociar datos a elementos del array por medio del índice nos permitirá
dar el siguiente paso en el tema de los arrays. Ahora estamos preparados para ver unas
matrices más complejas…

Array01.php Ejemplo con Arrays


<?
$color=array('rojo'=>101,'verde'=>51,'azul'=>255);
$medidas=array(10,25,15);
echo $color['rojo'],"<br>";
echo $color['verde'],"<br>";
echo $color['azul'],"<br>";
echo $medidas[0];
echo $medidas[1];
echo $medidas[2];
?>
Ejemplo con arrays
<?
$color=array('rojo'=>101,'verde'=>51,'azul'=>255);
foreach($color as $clave=>$valor)
{echo "Clave:", $clave."<br>";
echo "Valor:",$valor."<br>";}
?>

Ing. Victor Quevedo Dioses


91

Asociativo01.php

<?
//datos iniciales de la agenda
$agenda=
array(array('Nombre'=>'JORGE','Direccion'=>'Av Brasil
210','Telefono'=>9393993,'email'=>'victor@hotmail.com'),
array('Nombre'=>'VICTOR','Direccion'=>'AV Canada
455','Telefono'=>94593993,'email'=>'cinthya@hotmail.com'),
array('Nombre'=>'ZOILA','Direccion'=>'Av Peru 6210','Telefono'=>93963993,
'email'=>'jorge@hotmail.com'));
foreach($agenda as $clave=>$valor)
{
echo "clave==>",$clave,"<br>";
echo "valor==>",$valor[Nombre],"<br>";
echo "valor==>",$valor[Direccion],"<br>";
echo "valor==>",$valor[Telefono],"<br>";
echo "valor==>",$valor[email],"<br>";
}
echo "<br>";
echo "<table border=1>";
echo
"<tr><th>X</th><th>Nombre</th><th>Direccion</th><th>Telefono</th><th>Email</th></tr>";
for($x=0;$x<count($agenda);$x++)
{
echo "<tr><td>".$x."</td>";
echo "<td>".$agenda[$x][Nombre]."</td>";
echo "<td>".$agenda[$x][Direccion]."</td>";
echo "<td>".$agenda[$x][Telefono]."</td>";
echo "<td>".$agenda[$x][email]."</td></tr>";
}
echo "</table>";
?>

Ing. Victor Quevedo Dioses


92

arreglo02.php
<?
//datos iniciales de la agenda
$agenda=
array(array('Nombre'=>'JORGE','Dirección'=>'Av Brasil
210','Telefono'=>9393993,'email'=>'victor@hotmail.com'),
array('Nombre'=>'VICTOR','Dirección'=>'AV Canada
455','Telefono'=>94593993,'email'=>'cinthya@hotmail.com'),
array('Nombre'=>'ZOILA','Dirección'=>'Av Peru 6210','Telefono'=>93963993,
'email'=>'jorge@hotmail.com'));
foreach($agenda as $clave=>$valor)

Ing. Victor Quevedo Dioses


93

{
echo "clave==>",$clave,"<br>";
echo "valor==>",$valor[Nombre],"<br>";
echo "valor==>",$valor[Dirección],"<br>";
echo "valor==>",$valor[Telefono],"<br>";
echo "valor==>",$valor[email],"<br>";
}
for($x=0;$x<count($agenda);$x++)
{
echo "<table border=1>";
echo "<tr><td>".$agenda[$x][Nombre]."<td>";
echo "<td>".$agenda[$x][Direccion]."<td>";
echo "<td>".$agenda[$x][Telefono]."<td>";
echo "<td>".$agenda[$x][email]."<td></tr>";
echo "</table>";
}
Ejemplos con array asociativos
<?
$color=array('rojo'=>101,'verde'=>51,'azul'=>255);
$medidas=array(10,25,15);
echo $color['rojo'],"<br>";
echo $color['verde'],"<br>";
echo $color['azul'],"<br>";
echo $medidas[0];
?>
prueba9.php
<?
$color=array('rojo'=>101,'verde'=>51,'azul'=>255);
foreach($color as $valor)
{echo "valor:=>",$valor."<br>";}
foreach($color as $clave=>$valor)
{echo "Clave:", $clave."<br>";
echo "Valor:",$valor."<br>";
}

Ing. Victor Quevedo Dioses


94

?>
Prueba10.php
<?
$arrValores[0] = 1;
$arrValores[1] = "Una cadena";
echo("En \$arrValores[0] está$arrValores[0] y en "."\$arrValores[1] es-
tá$arrValores[1]<BR>");
?>
prueba11.php
<?
$arrValores[] = 1;
$arrValores[] = "Una cadena";
echo("En \$arrValores[0] está$arrValores[0] y en " . "\$arrValores[1] es-
tá$arrValores[1]<BR>");
?>

prueba12.php
<?
$arrValores= Array(1, "Una cadena");
echo("En \$arrValores[0] está$arrValores[0] y en " . "\$arrValores[1] es-
tá$arrValores[1]<BR>");
?>
prueba13.php
<?
$arrValores["nombre"] = "Tancredo";
$arrValores["Apellidos"] = array("Gómez", "Jiménez");
echo("En \$arrValores[\"nombre\"] está$arrValores[nombre] y " . "en
\$arrValores[\"Apellidos\"] está" . $arrValores["Apellidos"][0] . " y " . $arrValo-
res[Apellidos][1] . "<BR>");
?> prueba14.php
<?
$arrValores=array( "nombre" => "Tancredo", "Apellidos" => array("Gómez", "Jiménez"));

Ing. Victor Quevedo Dioses


95

echo("En \$arrValores[\"nombre\"] está$arrValores[nombre] y " . "en


\$arrValores[\"Apellidos\"] está" . $arrValores["Apellidos"][0] . " y " . $arrValo-
res[Apellidos][1] . "<BR>");
?>
prueba15.php
<?
$n1=12;$n2=14;$n3=20;
?>
<table border=1>
<tr><td>nota1</td><td><?=$n1?></td></tr>
<tr><td>nota2</td><td><?=$n2?></td></tr>
<tr><td>nota3</td><td><?=$n3?></td></tr>
</table>

Creación de tablas por medio de variables tipo array. Utilidad y funciones útiles
relacionadas.

Un tipo de variable que ya hemos descrito pero puede ser relativamente complicado a
asimilar con respecto a la mayoría son los arrays. Un array es una variable que está
compuesta de varios elementos cada uno de ellos catalogado dentro de ella misma por
medio de una clave.

En el capítulos anteriores poníamos el ejemplo de un array llamado sentido que contenía


los distintos sentidos del ser humano:

$sentido[1]="ver";
$sentido[2]="tocar";
$sentido[3]="oir";
$sentido[4]="gustar";
$sentido[5]="oler";

Ing. Victor Quevedo Dioses


96

En este caso este array cataloga sus elementos, comunmente llamados valores, por
números. Los números del 1 al 5 son por lo tanto las claves y los sentidos son los valo-
res asociados. Nada nos impide emplear nombres (cadenas) para clasificarlos. Lo único
que deberemos hacer es entrecomillarlos:

<?
$moneda["espana"]="Peseta";
$moneda["francia"]="Franco";
$moneda["usa"]="Dolar";
?>

Otra forma de definir idénticamente este mismo array y que nos puede ayudar para la
creación de arrays más complejos es la siguiente sintaxis:

<?
$moneda=array("espana"=> "Peseta","francia" => "Franco","usa" => "Dolar");
?>

Una forma muy practica de almacenar datos es mediante la creación de arrays multidi-
mensionales (tablas). Pongamos el ejemplo siguiente: Queremos almacenar dentro de
una misma tabla el nombre, moneda y lengua hablada en cada país. Para hacerlo po-
demos emplear un array llamado país que vendrá definido por estas tres características
(claves). Para crearlo, deberíamos escribir una expresión del mismo tipo que la vista an-
teriormente en la que meteremos una array dentro del otro. Este proceso de incluir una
instruccion dentro de otra se llama anidar y es muy corriente en programación:

<?
$pais=array
(
"espana" =>array

Ing. Victor Quevedo Dioses


97

(
"nombre"=>"España",
"lengua"=>"Castellano",
"moneda"=>"Peseta"
),
"francia" =>array
(
"nombre"=>"Francia",
"lengua"=>"Francés",
"moneda"=>"Franco"
)
);
echo $pais["espana"]["moneda"] //Saca en pantalla: "Peseta"
?>

Antes de entrar en el detalle de este pequeño script, comentemos algunos puntos refe-
rentes a la sintaxis. Como puede verse, en esta secuencia de script, no hemos introduci-
do punto y coma ";" al final de cada línea. Esto es simplemente debido a que lo que he-
mos escrito puede ser considerado como una sola instrucción. En realidad, somos noso-
tros quienes decidimos cortarla en varias líneas para, así, facilitar su lectura. La verdade-
ra instrucción acabaría una vez definido completamente el array y es precisamente ahí
donde hemos colocado el único punto y coma. Por otra parte, podéis observar cómo
hemos jugado con el tabulador para separar unas líneas más que otras del principio. Es-
to también lo hacemos por cuestiones de claridad, ya que nos permite ver qué partes del
código están incluidas dentro de otras. Es importante acostumbrarse a escribir de esta
forma del mismo modo que a introducir los comentarios ya que la claridad de los scripts
es fundamental a la hora de depurarlos. Un poco de esfuerzo a la hora de crearlos pue-
de ahorrarnos muchas horas a la hora de corregirlos o modificarlos meses más tarde.

Pasando ya al comentario del programa, como podéis ver, éste nos permite almacenar
tablas y, a partir de una simple petición, visualizarlas un determinado valor en pantalla.

Ing. Victor Quevedo Dioses


98

Lo que es interesante es que la utilidad de los arrays no acaba aquí, sino que también
podemos utilizar toda una serie de funciones creadas para ordenarlos por orden alfabéti-
co directo o inverso, por claves, contar el numero de elementos que componen el array
además de poder movernos por dentro de él hacia delante o atrás.

Muchas son las funciones propuestas por PHP para el tratamiento de arrays, no vamos
a entrar aquí en una descripción de las mismas. Sólo incluiremos esta pequeña tabla
que puede ser complementada, si necesario, con la documentación que ya hemos
mencionado.

Función Descripción

array_values (mi_array) Lista los valores contenidos en mi_array

Ordena por orden alfabético directo o inverso en


asort(mi_array) y arsort(mi_array)
función de los valores

count(mi_array) Nos da el numero de elementos de nuestro array

Ordena por orden alfabético directo o inverso en


ksort(mi_array) y krsort(mi_array)
función de las claves

Asigna cada una variable a cada uno de los va-


list ($variable1, $varible2...)=mi_array
lores del array

Nos permiten movernos por dentro del array con


next(mi_array), prev(mi_array), re-
un puntero hacia delante, atras y al principio y al
set(mi_array) y end(mi_array)
final.

Nos da el valor y la clave del elemento en el que


each(mi_array) nos encontramos y mueve al puntero al siguiente
elemento.

Ing. Victor Quevedo Dioses

También podría gustarte