0% encontró este documento útil (0 votos)
71 vistas17 páginas

Apuntes PHP - Mini

Este documento introduce conceptos básicos de PHP como páginas PHP, scripts PHP, sitios web dinámicos con PHP, funciones básicas como echo, comentarios, constantes predefinidas, variables y tipos de variables en PHP. Explica cómo insertar código PHP en páginas web, la diferencia entre sitios estáticos y dinámicos, y conceptos fundamentales sobre variables y tipos de datos en PHP.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
71 vistas17 páginas

Apuntes PHP - Mini

Este documento introduce conceptos básicos de PHP como páginas PHP, scripts PHP, sitios web dinámicos con PHP, funciones básicas como echo, comentarios, constantes predefinidas, variables y tipos de variables en PHP. Explica cómo insertar código PHP en páginas web, la diferencia entre sitios estáticos y dinámicos, y conceptos fundamentales sobre variables y tipos de datos en PHP.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 17

TIC 2º BTO IES Grande Covián

Curso 2017-18 Zaragoza

1. Introducció n a PHP
Páginas PHP
Una página PHP es una página web normal en la que utilizamos la extensión “.php” en lugar de
“.htm” o “.html”.
Departamento Tecnología En una página “.php” se pueden insertar bloques de código escrito en lenguaje PHP. Estos
2017-2018 bloques de código reciben el nombre de scripts.
Script PHP: Bloque de código escrito en lenguaje PHP dentro de una página web.
Un script PHP se limita anteponiendo los símbolos <?php a la primera instrucción y escribiendo
después de la última instrucción los símbolos ?>.

Bloque 1: Programación El siguiente script ejecuta la función phpinfo(). Esta función muestra información sobre la versión
y configuración de la versión de PHP instalada en el servidor.

Programando en PHP con MySQLi <?php


phpinfo();
?>
Dentro de una misma página PHP puede haber tantos scripts como se desee.
Es muy recomendable indentar el código (no es necesario) para mejorar su legibilidad.

Sitios web dinámicos con PHP


Los sitios web tradicionales son sitios web estáticos. Esto quiere decir que muestran información
permanente. En ellos el navegante se limita a obtener dicha información, sin poder interactuar con
la página web visitada. En esquema:

1. El navegador la solicita la página web al servidor web correspondiente.


2. El servidor busca y lee el fichero que corresponde a esa página web
3. El servidor envía el fichero al navegador y este muestra la página web al usuario.
En un sitio web dinámico los ficheros que muestra el navegador no son archivos estáticos
guardados en el disco, sino que las páginas se generan automáticamente en el servidor adaptándose
a los datos que hayamos envidado en la petición del navegador.
PHP permite la creación de sitios web dinámicos. En esquema:

IES Fco. Grande Covián


TIC II - VERSION 1.1.2

1 de 33
TIC 2º BTO IES Grande Covián TIC 2º BTO IES Grande Covián
Curso 2017-18 Zaragoza Curso 2017-18 Zaragoza

Constantes predefinidas:
- No requieren la orden define. Algunos ejemplos son:
- __FILE__ Nombre del fichero ejecutado y ruta en el servidor.
- __LINE__ Nº línea en el fichero cuyo script se está interpretando.
- PHP_OS Sist Operativo del servidor.
- PHP_VERSION

Variables
Para definir su valor se utilizará una expresión del tipo:
$variable = valor;
1. El usuario escribe la dirección de la página web en su navegador y este la solicita al - El nombre ha de comenzar con $ seguido de una letra.
servidor web correspondiente. - Se distingue Mayúsculas/Minúsculas.
2. El servidor detecta que dentro de la página hay uno o varios programas PHP y los envía al - No es necesario definir el tipo.
intérprete del lenguaje. - Si valor es un texto, ha de ir entre comillas.
3. El intérprete del lenguaje completa la ejecución del programa PHP. - Nos podemos referir a su valor desde cualquier parte del script, salvo que sea una variable
4. El resultado final del programa se envía al servidor definida en una función. En ese caso sólo tiene sentido en el interior de la función.
5. El servidor envía el fichero al navegador que muestra la página web al usuario - Una variable definida en una función no puede utilizarse en el script (toma valor cero o “”).
- Variable global: EXCEPCION a lo anterior. La función puede utilizar valores de variables
externas si se ha incluido en la función la orden “global nombrevariable;”, se busca el valor
2. Funciones bá sicas de la variable en el resto del script).
Escribir por pantalla, echo - Existe otro tipo Variable Superglobal, se puede acceder a su valor desde cualquier punto sin
utilizar la orden global.
Aunque existen otras opciones utilizaremos la función echo con la forma: - Variables estáticas. Si definimos una variable como estática dentro de una función, cuando
echo “texto”; salimos de su ámbito conserva el valor que tenga en el momento de salir y la línea que le da
- Escribe el texto entre comillas. valor inicial la primera vez que se ejecuta no volverá actuar cuando se ejecute la función
- Como toda orden termina con punto y coma. hasta que actualicemos la página. Para definir la variable $a como estática y con un valor
- Hay dos tipos de comillas (“) y (‘), se puede utilizar cualquiera de los dos. Si van anidadas inicial utilizaremos la orden (static $a = 3;), al salir de la función $a conservará el último valor
(queremos que aparezca un texto entre comillas) se van alternando. que se haya asignado hasta que se actualice la página.
- Para encadenar varios “texto” se separan por comas o por puntos. Tipos de variables
<br> actúa como retorno de carro. En PHP no es necesario definir el tipo. Según sea el valor almacenado se adapta el tipo.
Hay tres tipos
Comentarios Integer: Enteros (+/- 231)
De una sola línea Se coloca // al comienzo de la línea o tras el punto y coma. Double: Coma flotante
De varias líneas Se coloca /* al comienzo de la primera línea y */ al final de String: Cadenas
la última. Estos no se pueden anidar. - gettype(variable); Devuelve una cadena de caracteres (Integer, double o string) según cual
En la parte HTML <!--comentario--> sea el tipo de la variable.
- Forzar tipo en una variable y asignarle a la vez valor:
Constantes o $a=((integer)4.5); fuerza y convierte a tipo entero (trunca).
Se pueden usar tal cual o utilizar la función define para asignarle un nombre: o $a=((int)45); fuerza tipo entero.
define(“nombre”,”valor”)
o $a=((double)45); fuerza tipo double.
o $a=((float)45); fuerza tipo double.
- Si valor es numérico no es preciso colocarlo entre comillas.
o $a=((real)45); fuerza tipo double.
- Al realizar operación aritmética con una constante cuyo valor comienza con cifras y
o $a=((string)4.5); fuerza y convierte a tipo string.
continúa con letras se toma como valor el de las cifras hasta la primera letra.
- Forzar tipos en una variable ya definida:
- Se puede definir valor como el resultado de una operación aritmética.
o Settype(var,tipo) tipo ha de ir entre comillas.
- OJO: Distingue mayúsculas de minúsculas.

2 de 33 3 de 33
TIC 2º BTO IES Grande Covián TIC 2º BTO IES Grande Covián
Curso 2017-18 Zaragoza Curso 2017-18 Zaragoza

o Esta orden devuelve 1 si ha ido bien y 0 si no se ha podido realizar. $a =”cadena1”.”cadena2”;


$a =$b.$c;
Funciones - Para añadir algo a una cadena:
Función: Conjunto de órdenes predefinidas que se ejecutan al incluir en el código del script $a .=”cadena”;
un nombre que la define. $a .=$b;

Sintáxis:
3. Comunicació n cliente-servidor sencilla
function nombrefuncion(){
ordenes Envío de información a través del navegador al servidor
}
A través de la barra de direcciones del navegador según la forma:
Para llamar a una función desde el script:
pagina.php?n1=v1&n2=v2
Nombrefuncion(); - pagina.php: Dirección de la página que contiene el script que ha de procesar los valores
Una función no lee valores de variables definidas fuera de la función salvo que dentro de la propia transferidos.
función se definan como globales. - ?: indica que tras él van nombres de variables y sus valores.
- n1, n2…: nombres de las variables (no llevan signo $).
La función puede escribirse: - =: separa nombres de las variables de sus valores.
- En cualquier script y ser invocada desde el mismo o cualquier otro. - v1,v2…: valores de las variables (no llevan comillas).
- En un documento aparte, cuando se invoque hay que indicar dónde buscarlas. - &: separa las distintas variables.
Asignación de valores a variables Recepción de información mandada a través navegador.
A las variables no globales se les pueden asignar sus valores iniciales de varias formas: Al recibir la petición anterior el servidor crea dos tipos de variables php:
- Incluyéndolas en una línea de instrucciones contenida en la propia función. - Variables superglobales:
- Insertando los nombres y valores de las variables dentro del paréntesis: $_GET[‘n1’]
function nom ($a=v1,$b=v2) $_GET[‘n2’]
- Definiendo los nombres de la variable en la definición de la función y sus valores:
n1, n2…son los nombres asignados a través del navegador a cada una de las variables. El
function nom ($a,$b)
nombre (valor1, valor2,...); contenido de estas variables será el definido en la petición.
- Si en un archivo llamado php.ini se ha configurado register_globals=ON, también se crean:
Las funciones PHP pueden ser llamadas a partir de un script y posteriormente recoger –en ese
$n1
mismo script– los resultados de su ejecución. Hay que escribir dentro de la función la instrucción
$n2
return seguida de la variable o la instrucción cuyo resultado queremos que sea devuelto al script
desde el que ha sido llamada la función. 000webhost tiene desactivada esta opción.
También es posible que la función genere un array y que este sea devuelto a una variable que se
convertiría a ese tipo de forma automática. 4. Formularios
Otra opción de recoger los valores devueltos por return es invocar la función mediante una
Formulario: Conjunto de elementos que colocados en la página web permiten mandar
llamada del tipo:
información al servidor.
list(v1, v2,..)=llamada
El formulario se define en HTML. Dentro del mismo podemos incluir scripts php cuando
Las variables v1, v2, etc. recogerán los valores de los elementos del array devuelto por la función. sea necesario.
Cosas En primer lugar crearemos el formulario y definiremos sus propiedades. A continuación
- Se puede prescindir del encabezado HTML y empezar con el script php añadiremos y configuraremos todos los elementos que utilizar.
- Sumar (restar igual) siete a una variable y almacenar (es decir a=a+7) se pone: Dreamweaver permite hacer ambos procesos sin necesidad de conocer la sintaxis HTML.
$a +=7;
- Para unir dos cadenas en una nueva variable:

4 de 33 5 de 33
TIC 2º BTO IES Grande Covián TIC 2º BTO IES Grande Covián
Curso 2017-18 Zaragoza Curso 2017-18 Zaragoza

Crear el formulario - Init val (pestaña propiedades ) o value=' ' (código HTML) puede no contener nada entre las
comillas o contener el texto que por defecto queremos que aparezca en ese campo al cargar
En Dreamweaver: Menú Insertar, formulario, formulario. Se mostrará la línea de código HTML: el formulario.
<form></form> - size=xx opcional. Su utilidad es la de ajustar el tamaño de la ventana al número de caracteres
que se indiquen, no limita el número de caracteres que se pueden escribir.
Hacemos clic en el interior de la etiqueta del formulario y en la parte inferior de la ventana se
mostrará la pestaña Propiedades con la forma: En caso de dejar una caja “campo de texto” sin completar se envía al servidor como
valor una cadena de texto vacía.

4.2.2 Campo de texto PASSWORD


<input type='password' name='clave' value=''>
Sólo se diferencia del anterior en que en el momento de rellenarlo se sustituyen los caracteres
visualizados (no el contenido).
En esta pestaña habrá que definir las siguientes propiedades:
Para crear un campo PASSWORD utilizando Dreamweaver es suficiente con crear una elemento
Define el nombre (o la ruta completa en el caso de que
“campo de texto” y seleccionar la opción password en la propiedad Type de la pestaña de
estuviera en un directorio o hosting distinto del que
propiedades.
action='nombre.extension' alberga el documento que contiene el formulario desde el
que se realiza la petición) de la página web que se 4.2.3 Botón de opción
mostrará como respuesta a la recepción del formulario
<input type='radio' checked name='color' value='Verde'>Verde</br>
por parte del servidor.
Method=”GET” o Opcional, define el sistema de envío de la información,
Method=”POST” por defecto GET. Mejor POST (oculta valores).
Name=”loquesea” Opcional, nombre del formulario
enctype="multipart/form-data" Opcional, dos tipos de encriptación. Si no se especifica
o encytpe=”application/x-www- toma la primera opción. Si es POST puede tomarse la
form-urlencoded/ segunda (igual a la del email) - Permite elegir uno de los varios valores posibles.
- Todos los inputs correspondientes a la misma opción deben tener el mismo nombre (name).
Elementos de un formulario - value='loquesea'. El “loquesea” del botón activado será transferido a través del formulario.
Se añaden desde el menú Insertar, formulario. Sus propiedades se pueden definir desde la - Para marcar una opción por defecto al cargar el formulario, se incluye en su etiqueta la
pestaña propiedades una vez que hayamos añadido el elemento o directamente en el código HTML. palabra checked.
- Conviene incluir una descripción de los valores después de cerrar la etiqueta de cada input.
4.2.1 Campo de texto
Permite introducir un texto o un valor numérico. Su sintaxis HTML es: 4.2.4 Casilla de verificación (checkbox)
<input type='text' name='nombre' value='' size=15> <input type='checkbox' checked name="tapiceria" value="Tapicieria">

Su etiqueta de propiedades tiene la apariencia:

- Tantos como se quiera, activables todos los que se quiera simultáneamente.


- Cada uno de los <input type='checkbox'> requiere un nombre distinto (name) y un valor
(value).
- Es obligatorio asignar un nombre en el campo TextField de la pestaña de propiedades, o - Se mandan todos los value de las casillas activadas.
establecer name='nombre' (caracteres alfabéticos, sin tildes ni eñes y sin espacios) en el - Para que una casilla aparezca marcada al cargar el formulario, incluir en su etiqueta la
código HTML. Este nombre identificará a la variable que almacenará la información que se palabra checked.
escriba posteriormente en la caja de texto.
PROBLEMA CON LOS CHECKBOX. Función isset()

6 de 33 7 de 33
TIC 2º BTO IES Grande Covián TIC 2º BTO IES Grande Covián
Curso 2017-18 Zaragoza Curso 2017-18 Zaragoza

Cuando un formulario con chekboxes envía los datos al servidor, en caso de no haber activado En esta tabla podremos añadir tantos elementos como queramos. Para cada uno de ellos
un checkbox no se envía ningún tipo de información sobre el mismo. podremos definir el texto que se mostrará en el menú y el valor que se mandará a través del
Eso hace que si más adelante utilizáramos la variable en el formato $_GET[‘nombre’] o formulario si lo seleccionamos.
$_POST[‘nombre’] la página devolvería un error por pedir algo que no existe. Para evitar este 4.2.6 Área de texto (textarea)
problema hay un sencillo truco que es utilizar la función isset(variable). Esta función devuelve el
Similar al elemento campo de texto pero permite definir el número de filas y columnas de la caja
valor TRUE si la variable existe y su valor es no nulo y el valor FALSE si no se cumple lo anterior.
que de texto que se mostrará en el formulario.
Así por ejemplo:
<textarea rows=5 cols=50 name='texto'></textarea>
if(isset($_POST['numero'])==TRUE){ - Deben tener una etiqueta de apertura <textarea name='loquesea'>
$sumar=$_POST['numero']; - Dentro de la etiqueta de apertura puede incluirse rows=xx (número de filas) cols=yy (ancho
}else{
en número de caracteres)
$sumar=’’;
- Opcionalmente puede incluirse un value='lo que sea...'que contenga el texto que, por
}
defecto, se mostrará en ese espacio al cargar el formulario.
Si se ha generado la variable $_POST[‘numero’] se define la variable $sumar y será utilizada en la Para añadirlo desde Dreamweaver seleccionamos Instert, Form, TextArea:
página como tal con el valor recibido. En caso contrario genero una variable vacía.
4.2.5 Lista, menú
Tiene el formato:
<select name="select">
<option selected>(Vacio)</option>
4.2.7 Campo oculto
<option>A</option> <input type="hidden" name='oculto' value='Esto iría oculto'>
<option>B</option>
<option>C</option> Permite insertar en un formulario un valor oculto que no requiere ser cumplimentado por el
<option>D</option> usuario y que no aparece visible en el documento.
<option>E</option> Desde Dreamweaver: Insert, form, hidden field. Las dos únicas propiedades que se pueden
</select>
definir en este caso son el name con el que nos referiremos a la variable asociada el valor que
- Requiere un nombre (name) que será el nombre de la variable que almacene la información: pasaremos con ella.
- Entre la apertura y cierre deben incluirse las diferentes opciones entre las de etiquetas
<option>valor</option> . 4.2.8 Botón (enviar)
- Al enviar el form se transmite lo contenido en option en la opción seleccionada. <input type="submit" value="enviar">
- Si dentro de una etiqueta option escribimos selected, aparecerá por defecto al cargarse el
Al hacer clic en el botón de envía se mandan los valores asociados al servidor y se ejecuta la
formulario.
action incluida en la etiqueta de apertura del formulario.
Con Dreamweaver es posible añadir la lista desde el menú inset, form, select (list/menu). Se El texto que incluyamos en value='enviar...' será el que se visualice en el botón.
mostrará la pestaña de propiedades: Dreamweaver: Insert, form, button. Comprobar que la acción seleccionada en la pestaña de
propiedades es “submit form”.
4.2.9 Botón (reset)
<input type="reset" value="borrar">
Borra todos los contenidos del formulario y reestablece los valores por defecto de cada campo.
Para añadir elementos a la lista haremos clic en el botón “List Values…”: Dreamwaver: Insert, form, button y en la ventana asociada de propiedades seleccionaremos la
opción “Reset form”.

Trabajar con los datos enviados al servidor con el formulario


Una vez que hemos enviado los datos del formulario al servidor, éste los mantiene como
variables. Si queremos utilizarlos, llamarlos desde otra página (por ejemplo, la referida como action

8 de 33 9 de 33
TIC 2º BTO IES Grande Covián TIC 2º BTO IES Grande Covián
Curso 2017-18 Zaragoza Curso 2017-18 Zaragoza

en la etiqueta form) habrá que referirnos a ellos en el script de una forma adecuada. Tenemos varias Formato de presentación de números:
posibilidades:
Permiten mejorar la presentación de los valores numéricos:
Si hemos utilizado el método de envío GET
- number_format (número). Presenta la parte entera del número y utiliza como separador
$_GET[‘n1’]
de unidades de millar una coma.
- Si en un archivo llamado php.ini se ha configurado register_globals=ON, también se crean:
- number_format (número, núm decimales) Presenta el número de cifras decimales que se
$n1
indiquen, utiliza como separador decimal el punto y el separador de miles es una coma.
000webhost tiene desactivada esta opción. - number_format (número, núm decimales, "sep. decimal", "sep. miles"). Permite definir los
caracterers que se usarán como separador de decimales y separador de unidades de millar.
Si hemos utilizado el método POST
$_POST[‘n1’]
6. Arrays
- Si en un archivo llamado php.ini se ha configurado register_globals=ON, también se crean:
$n1 Array: Conjunto de variables que queda definido por un mismo nombre. Cada elemento del
array se identifica por medio de uno o varios índices.
000webhost tiene desactivada esta opción.
Tienen la forma:
POST vs GET $nombre[índice]
GET En función del tipo de índice tendremos tres tipos de arrays:
- Todos los datos de la petición son visibles en la barra de direcciones del navegador.
Array escalar
- Sólo acepta caracteres ASCII.
- Longitud máxima de la cadena de datos a transferir 2083 (Explorer). Nos podemos referir a cada uno de los elementos del array de dos formas:
POST - $a[xx]=valor Asigna “valor” al elemento xx del array.
- No tiene ninguna de esas pegas, es el método más utilizado. - $a[] = valor Asigna “valor” automáticamente al elemento del array siguiente al último
asignado. Si es el primero que se define le asigna el índice 0.
5. Operaciones aritmé ticas Array asociativo
Operaciones aritméticas Estamos obligados a escribir la palabra que va a actuar como índice (entre comillas).
Operación Sintaxis A B Resultado - $a[“nombre”] = valor
Suma $a+$b 12 -7.3 4.7
Diferencia $a-$b 12 -7.3 19.3 Array con índice tipo variable
Producto $a*$b 12 -7.3 -87.6 - $a[$variable] = valor
Valor absoluto abs($a) -12 12 Arrays bidimensionales (o multidimensionales)
Cociente $a/$b 12 -7.3 3.46410161514
Cociente entero (int)($a/$b) 12 -7.3 -1 Son arrays que utilizan dos índices. Permiten crear tablas de doble entrada:
Resto de la división $a%$b 12 5 2 Array escalar
Potencias ab pow($a,$b) 12 5 248832 - $a[xx][yy] = valor
Raíz cuadrada sqrt($a) 12 3.46410161514 - $a[][] = valor
- $a[xx][] = valor
Redondeos - $a[][xx] = valor
tipo Sintaxis A Resultado Array asociativo
Parte entera (int)$a -7.3 -7 - $a[“nombre”] [“nombre2”] = valor
Redondeo por defecto floor($a) 138.546 13
Redondeo por exceso ceil($a) 138.546 14 Array con índice tipo variable
Redondeo round($a) -138.546 -14 - $a[$variable][$variable] = valor
Array mixtos
- Un índice es un escalar y el otro un número.

10 de 33 11 de 33
TIC 2º BTO IES Grande Covián TIC 2º BTO IES Grande Covián
Curso 2017-18 Zaragoza Curso 2017-18 Zaragoza

Función Array Varios


Permite dar valores a los elementos de un array. Ejemplo (variable bidimensional): 8.1.1 Orden de precedencia
$z[0][0]=34; El orden de prioridad en PHP es el siguiente:
$z[0][1]=35;
$z[1][0]=134; NOT, AND, XOR y, por último, OR.
$z[1][1]=135; Es posible utilizar paréntesis para priorizar una operación frente a otra.
Podríamos hacerlo así: 8.1.2 Operadores de preincremento
$z=array( ++$A y --$A Este operador incrementa el valor de la variable en una unidad (+1 o -1) antes de
0 => array ( ejecutar el contenido de la instrucción.
0 => 34,
1 => 35, $A+=n y $A-=n Este operador incrementa el valor de la variable en n unidades (+n o -n) y luego
), ejecuta el contenido de la instrucción.
1 => array (
0 => 134, 8.1.3 Operadores de post-incremento
1 => 135, $A++ y $A—Cuando los operadores ++ o -- están situados a la derecha de la variable los
) incrementos no se producen hasta que se ejecute la instrucción siguiente.
);
Se puede utilizar también con arrays asociativos, con variables y mixtos. 9. Operador condicional, orden if
7. Operadores de comparació n if sencillo
La forma más simple es (una única instrucción):
PHP dispone de los siguientes operadores de comparación:
if (condición)
Comparador Significado: Instrucción;
$A == $B Devuelve 1 (CIERTO) si los valores son iguales y NUL –carácter ASCII 0– (FALSO) cuando son
distintas. Discrimina entre mayúsculas y minúsculas. Si queremos poner varias instrucciones:
$A != $B 1 cuando los valores de las variables son distintos y NUL cuando son iguales. if (condición){
$A < $B Devuelve 1 cuando los valores de $A son menores que los de $B. Instrucción1;
Los criterios de comparación son los siguientes: Instrucción2;
$A <= $B Idéntica al anterior, salvo que aceptará como ciertos los casos de igualdad. ....;
$A > $B Equivalente a $A < $B.
}
$A >= $B Añade al anterior la posibilidad de certeza en caso de igualdad.
If ... else
8. Operadores ló gicos if (condición){
Instrucciones si ese cumple;
Mediante operadores lógicos es posible evaluar un conjunto de variables lógicas, es decir,
} else {
aquellas cuyos valores sean únicamente: VERDADERO o FALSO (1 ó NUL). El resutado será 1 ó NUL.
Instrucciones si no se cumple;
Comparador Valor devuelto }
$A and $B VERDADERO (1) si todas la variables lógicas comparadas son verdaderas, y FALSO (NUL) cuando
alguna de ellas sea falsa. if ... elseif .. else
$A or $B VERDADERO (1) si al menos una de las variables comparadas es verdadera, FALSO (NUL) cuando
if (condición1){
todas ellas sean FALSAS.
instrucciones:
$A xor $B VERDADERO (1) cuando es cierta una sola de las variables, FALSO (NUL) cuando ambas sean
ciertas o ambas sean falsas. }elseif(condición2){
! $A (negación) devuelve VERDADERO (1) si $A es FALSA y devuelve FALSO (NUL) si es VERDADERA. instrucciones;
} else {
instrucciones;
}

12 de 33 13 de 33
TIC 2º BTO IES Grande Covián TIC 2º BTO IES Grande Covián
Curso 2017-18 Zaragoza Curso 2017-18 Zaragoza

10. La funció n exit() y la instrucció n continue 12. Bucle while


La función exit() La sintaxis más sencilla es:

La función exit() interrumpe la ejecución del script con lo que la respuesta del servidor a la while(condición)
petición del cliente incluirá únicamente los contenidos generados antes de su ejecución. instrucción
La instrucción siguiente (sólo una instrucción) se ejecuta repetidamente hasta que deje de
Instrucción continue cumplirse la condición.
Mediante continue se puede impedir que, se ejecuten algunas o todas las instrucciones de un
Si queremos que se repita un bloque de instrucciones:
bucle sin que por ello se interrumpa la ejecución de las iteraciones siguientes. Se puede utilizar con
bucles for, while o do while. Basta con incluir la línea: while(condición){
instrucción
continue; .....
}
11. La funció n switch – (switch con break)
Condicional que evalúa una variable y, según su valor, ejecuta unas instrucciones u otras. 13. El bucle do... while
Su sintaxis es la siguiente: La sintaxis es la siguiente:
switch ( variable ) { do {
case n1: intrucción 1...
instrucciones caso n1... instruccion2...
case n2: } while(condición) ;
instrucciones caso n2...
En este caso se comprueba la condición después de haber ejecutado las instrucciones contenidas
.....................
en el bucle, con lo cual, en el caso de que desde el comienzo no se cumplieran las condiciones
}
establecidas en while, las instrucciones del bucle se ejecutarían una vez.
Cuando se usa esta sintaxis solo se ejecutan TODAS las instrucciones que han sido incluidas a
partir de la etiqueta en la que el número que sigue a case coincide con el valor de la variable.
14. El bucle for
La forma más habitual de uso de esta función es combinada con la orden break La sintaxis es la siguiente:
switch ( variable ) { for ( desde ; hasta ; incre ){
case n1: ...instrucciones....
instrucciones caso n1... }
break;
- desde permite asignar un valor inicial a una variable ($var=num) que hará funciones de
case n2:
instrucciones caso n2...
controladora de iteraciones.
break; - mientras establece la condición que limita el fin del bucle, mientras sea cierta el bucle
} continuará funcionando.
- incre (con una sintaxis del tipo $variable++; $variable--; ++$variable --$variable; $variable
Esta opción incluye antes de cada nuevo case la función de ruptura break. Cuando PHP encuentra +=n o $variable -=n establece los incrementos o decrementos de la variable controladora en
el break interrumpe la ejecución y no la reanuda hasta la instrucción siguiente a la } que cierra la cada iteración del bucle.
función switch.
El siguiente ejemplo muestra un bucle en el que la variable de control $i, toma
default:
inicialmente el valor 1, en el que el bloque de instrucciones internas se repetirá mientras
Bajo este nombre (default:) se pueden incluir –dentro de la función switch– un conjunto de
el valor de dicha variable sea menor de 10 y que en cada iteración incrementa su valor
instrucciones que solo serán ejecutadas en el caso que el valor de la variable no coincida con ninguno en una unidad.
de los case.
for ( $i; $i<10 ; $i++ ){
...instrucciones....
}

14 de 33 15 de 33
TIC 2º BTO IES Grande Covián TIC 2º BTO IES Grande Covián
Curso 2017-18 Zaragoza Curso 2017-18 Zaragoza

A diferencia de include, lee y escribe el archivo referenciado completo y no acepta condicionales


15. Bucles foreach que sí son aceptados por include.
Se utiliza con arrays, puede trabajar de dos formas: include_once("fichero") y require_once("fichero")
Lectura de los valores de los elementos del array
Van a impedir que un mismo fichero pueda incluirse dos veces.
Utiliza la sintaxis:
16.1.1 Seguridad
foreach( array as var ){
instrucciones... show_source permitía ver el código fuente de los scripts de cualquier URL salvo que esté
} desactivada en el php.ini. Esto permite el espionaje y ver las claves y contraseñas de acceso a las
bases de datos contenidas en ellos. Usar ficheros externos permite guardar esa información fuera
array es el nombre del array (sin incluir índices ni corchetes) y var el nombre de una variable. Las del root del servidor y usarla mediante llamadas, así show_source sólo permitirá ver el nombre del
instrucciones escritas entre las { } permiten el tratamiento o visualización de los valores obtenidos. fichero externo (include ha de contener el path).
En cada pasada var almacena sucesivamente el valor del elemento del array que se está leyendo,
los elementos del array se van leyendo sucesivamente en cada pasada.
Lectura de índices y valores de los elementos de un array
Sintaxis:
foreach( array as v1 => v2 ) {
instrucciones...
}

array es el nombre de la matriz, v1 es el nombre de la variable que recogerán los índices, v2 es el


nombre de la variable que recoge el valor de cada uno de los elementos del array.

Arrays bidimensionales
Cuando se trata de arrays bidimensionales la lectura de los valores que contienen sus elementos
requiere el uso de dos bucles anidados. La sintaxis sería de este tipo:

foreach($a as $i1=>$na){
foreach($na as $i2=>$val){
...
}
}

16. Llamadas a ficheros externos


Permiten incluir dentro del documento otros ficheros con texto, HTML o funciones. Si no
contiene funciones se podrá insertar tantas veces como se quiera. Si contiene funciones solo podrá
ser invocado una vez (una segunda llamada produciría un error por duplicidad en los nombres de
las funciones).
include("nom. del fichero")
nom. del fichero: path y nombre del fichero (válidos ficheros con cualquier extensión).
Definidas la funciones en el fichero a incluir y colocado al comienzo de la página un script con el
include y la ruta del fichero, basta con invocar cualquiera de las funciones, en cualquier punto del
documento, la llamada se sustituye por el resultado de la ejecución de la función.
La función require()

16 de 33 17 de 33
TIC 2º BTO IES Grande Covián TIC 2º BTO IES Grande Covián
Curso 2017-18 Zaragoza Curso 2017-18 Zaragoza

Bases de datos MySQLi


17. Bases de datos: MySQLi
Base de datos: Conjunto de datos pertenecientes a un mismo contexto y almacenados
sistemáticamente para su posterior uso en tablas.
Hacemos clic en el botón Create y tras esperar un par de minutos se mostrará la ventana con los
Una tabla de una base de datos es en apariencia muy similar a una tabla Excel. Se utilizan para datos completos de nuestra base de datos:
almacenar información dentro de una tabla. Dentro de ella tendremos:
- Registros: Llamaremos registro a cada una de las filas de la tabla. Es el conjunto de datos
correspondientes a un mismo elemento.
- Campo: Cada uno de los elementos de información de cada registro, se correspondería con
Estos datos serán más adelante necesarios para conectarnos desde nuestro sitio web a la base
las columnas de la tabla.
de datos.
PHP permite utilizar de forma muy sencilla el estándar de base de datos relaciones MySQL y
MySQLi (en el caso de 000webhost solo este último). Que MySQLi sea una base de datos relacional Administrar la base de datos desde phpMyAdmin
quiere decir que es posible establecer conexiones entre las distintas tablas que formen nuestra base Partiendo de la tabla anterior, hacemos clic en el botón Manage y seleccionamos la opción
de datos. phpMyAdmin. Se abrirá una nueva ventana en nuestro navegador:
Una base de datos MySQLi consta de tres tipos de archivos:
- El fichero con .frm define los registros de la tabla de datos (nombre de los campos, tamaño,
tipo…).
- El fichero .MYD contiene los datos, lo que hay en las casillas de la tabla.
- Los ficheros .MYI contienen los índices que permiten encontrar una determinada
información, pueden ser varios y con contenidos distintos.

18. Creando bases de datos con phpMyAdmin


Creando una base de datos en 000webhost
000webhost nos ofrece con su paquete gratuito la posibilidad de crear hasta dos bases de datos.
Para ello, una vez que nos hayamos identificado como usuarios registrados, hacemos clic en el botón Introducimos el nombre de usuario indicado en la tabla anterior y la contraseña de ese usuario.
“Manage database” del menú superior. En la siguiente pantalla se mostrará una tabla con los datos Se mostrará ventana principal de phpMyAdmin.
de las bases de datos que hayamos creado. Para añadir una nueva base hacemos clic en el botón
phpMyAdmin es una aplicación php que permite gestionar una base de datos MySQL de una
“New Database”. Se mostrará la ventana:
forma muy sencilla.
En la columna de la izquierda tendremos un listado con el
nombre de todas las bases de datos que de momento tengamos
creadas en el servidor:
La base creada con 000webhost es id4704652_ensayo (en tu
caso será un nombre similar). Las otras dos bases de datos no
las utilizaremos.
Escribimos el nombre de la base de datos que queremos crear y un nombre usuario con su Haciendo clic en el nombre de nuestra base de datos
contraseña: accederemos a ella. De momento estará vacía.

18 de 33 19 de 33
TIC 2º BTO IES Grande Covián TIC 2º BTO IES Grande Covián
Curso 2017-18 Zaragoza Curso 2017-18 Zaragoza

Conexión con el servidor de bases de datos Ahora cuando queramos realizar la conexión desde una página del sitio web será suficiente con
llamar a ese fichero externo mediante la orden include:
Para que PHP pueda trabajar con la base datos MySQLi es necesario crear una conexión entre
ambos. Para ello y estando activos Apache y MySQLi usaremos la función PHP: include('../seguridad/mysql.inc');

$con = new mysqli(server, login, pass, base); los dos puntos (..) establecen que la ruta absoluta del archivo dentro del servidor.
- $con es una variable que recogerá el identificador de la conexión a la base de datos.
- server es la dirección del servidor de bases de datos, ("localhost" si trabajamos con 19. Operaciones MySQLi desde phpMyAdmin
000webhost).
- login es el nombre de uno de los usuarios registrados en la base de datos. Aunque sería posible utilizar código propio MySQLi combinado con PHP, muchas operaciones
- pass la contraseña (""). (Todo entre comillas). básicas sobre la base datos se pueden hacer utilizando el gestor phpMyAdmin lo cual facilita
- base Nombre de la base de datos. enormemente el trabajo.

Los cuatro parámetros de la conexión pueden ser cadenas de texto (entre comillas) o Creación de tablas
nombres de variables. Seleccionamos la pestaña “Estructura” en el
menú superior. En la ventana “Crear tabla”
Esta conexión de momento es insegura, cualquiera que conozca la dirección ip podría escribimos el nombre que asignaremos a la tabla
entrar fácilmente y el número de campos (columnas) que va a
tener, para terminar pulsamos el botón
Para cerrar la conexión insertaremos:
“continuar”.
mysqli_close ($con)
En el ejemplo, tablaEnsayo con 5 columnas:
18.3.1 Conectando a través del fichero mysql.inc Se mostrará una ventana del tipo:
En los scripts PHP que manejan bases de datos vamos a necesitar insertar continuamente los
datos de conexión: (nombre del servidor, nombre de usuario y contraseña). Por comodidad y
también por privacidad, guardaremos los datos de usuario en lugar seguro.
En primer lugar creamos un fichero, al que llamaremos por ejemplo mysql.inc y lo guardaremos
utilizando Filezilla fuera del directorio public_html de nuestro sitio web. En este caso creamos una
carpeta a la que llamaremos seguridad y lo guardaremos dentro:

En ella definiremos el nombre y las características de cada uno de los campos.


- Nombre: Nombre con el que nos referiremos al campo (interesa que sea descriptivo).
- Tipo: Indica las propiedades del tipo de datos que se guardara en el campo. Los distintos
tipos de dato se explican en el punto siguiente de los apuntes.
- Longitud/Valores: Número máximo del valores que tendrá el dato o en su caso valores entre
De esta forma el archivo será inaccesible para usuarios que quisieran averiguar los datos de los cuales será posible elegir el dato.
conexión. - Predeterminado: Valor que se asignará por defecto si no lo define el usuario.
El script PHP de este archivo será del tipo: - Cotejamiento: Tipo de codificación queremos usar para los valores de estos campos, en
principio definimos "utf8_spanish_ci" o lo dejamos vacío y seleccionamos ese modo en las
<?php propiedades generales de la tabla (parte inferior de la página).
// Datos de conexión - Atributos: Propiedades que utilizaremos según sea el tipo de dato almacenado.
$servidor='localhost'; - Nulo: Tiene dos opciones NULL/NOT NULL. Si se establece como NOT NULL no se aceptará
$base='id4704652_ensayo';
que ese campo pueda estar vacío al insertar un nuevo registro.
$usuario='id4704652_josesallan';
$password='Achilipun34';
- Índice: Muy importante. Se explica a continuación.
// Orden de conexión a la base de datos - A_I (Autoincremento): Si se activa esta casilla el valor del campo lo calcula automáticamente
$con = new mysqli($servidor, $usuario, $password, $base); MySQLi incrementando en uno el valor anterior.
?>

20 de 33 21 de 33
TIC 2º BTO IES Grande Covián TIC 2º BTO IES Grande Covián
Curso 2017-18 Zaragoza Curso 2017-18 Zaragoza

Una vez que hayamos definido las propiedades de los campos hacemos clic en guardar para recar - Year: Almacena un año. Valores permitidos desde el 1901 al 2155.
la tabla. Tipos de cadena:
19.1.1 Campo índice: índices MySQLi - Char(n): Almacena una cadena de longitud fija que hay que definir en la ventana de
longitud/valores. La cadena podrá contener desde 0 a 255 caracteres.
Indice MySQLi: Campo o campos de una tabla MySQLi que se utiliza para identificar a cada
- VarChar(n): Almacena una cadena de longitud variable, la longitud máxima se define la
registro de forma unívoca.
ventana longitud/valores. La cadena podrá contener desde 0 a 255 caracteres.
Existen varios tipos de índices con distintas funciones. Nosotros solo utilizaremos índices - Enum: Campo que puede tener un único valor de una lista que se especifica en la ventana
primarios (primary index). longitud/valores. El tipo Enum acepta hasta 65535 valores distintos
- Set: Campo que puede contener ninguno, uno ó varios valores de una lista. La lista puede
El índice primario será el identificador (la “matrícula”) de cada registro. Su valor es único, no
tener un máximo de 64 valores y sus componentes se definen en la ventana longitud/valores.
puede haber dos registros con el mismo índice primario y sirve para distinguir ese registro de
cualquier otro de la tabla. Operaciones con tablas
En una tabla de usuarios un campo que podríamos utilizar como índice primario sería el del DNI Una vez creada la tabla, su nombre aparecerá en el menú de la izquierda de la página de
por ser único. En otros casos activaremos la opción de autoincremento para que sea la base de phpMyAdmin, dentro de la base de datos a la que pertenece. Haciendo clic en este nombre
datos la que asigne valor al índice. podremos acceder a múltiples opciones, las más importantes son:
Por norma, en cada tabla definiremos un campo como índice primario. 19.2.1 Insertar un registro en la tabla
Hacemos clic en la pestaña superior “Insertar”. Se mostrará una ventana en la que podemos
Habitualmente utilizaremos id como nombre del campo que es índice primario.
introducir los datos de dos nuevos registros. Si deseamos añadir más de dos registros de vez
19.1.2 Tipos de campos MySQLi seleccionaremos la cantidad deseada en el selector “Continuar inserción con” situado en la parte
inferior. Una vez que hayamos completado los campos haremos clic en continuar, se mostrará la
Los tipos más importantes son: ventana con el código MySQLi que ejecutará la acción, hacemos clic en continuar para confirmar la
Tipos numéricos: acción y los registros quedarán añadidos.
- Bit ó Bool: Núm. entero que puede ser 0 ó 1. 19.2.2 Eliminar un registro de la tabla
- TinyInt: Número entero muy pequeño con o sin signo. Con signo desde -128 a 127. Sin signo
de 0 a 255. Hacemos clic en la pestaña superior “Examinar”. Se mostrará una tabla con todos los registros.
- SmallInt: Núm. entero con o sin signo. Con signo de -32768 a 32767. Sin signo de 0 a 65535. Seleccionamos el registro a eliminar y hacemos clic en el icono borrar.
- MediumInt: Núm entero con o sin signo. Con de -8.388.608 a 8.388.607. Sin de 0 a Desde esta ventana también existe la posibilidad de copiar el registro en lugar de eliminarlo.
16777215.
- Integer, Int: Núm entero con o sin signo. Con de -2147483648 a 2147483647. Sin de 0 a 19.2.3 Modificar o eliminar uno de los campos de la tabla
429.4967.295. Hacemos clic en la pestaña superior “Estructura”, activamos el selector del registro que
- BigInt: Núm entero con o sin signo. Con de -9.223.372.036.854.775.808 a queremos modificar (izquierda de la tabla de campos) y a continuación seleccionamos la operación
9.223.372.036.854.775.807. Sin signo de 0 a 18.446.744.073.709.551.615. que queremos realizar, las más habituales son:
- Float: Número pequeño en coma flotante de precisión simple. Los valores válidos van desde
-3.402E+38 a -1.175E-38, 0 y desde 1.175E-38 a 3.402+38. - Cambiar: Nos lleva a una tabla en la que puedo cambiar cualquier propiedad del campo.
- xReal, Double: Número en coma flotante de precisión doble. Los valores permitidos van - Eliminar: Elimina el campo seleccionado. Los valores almacenados en él se perderán.
desde -1.797E+308 a -2.225E-308, 0 y desde 2.225E-308 a 1.797E+308. - Primaria: Permite seleccionar otro campo como clave primaria.
- Decimal, Dec, Numeric: Número en coma flotante desempaquetado. El número se almacena 19.2.4 Añadir un nuevo campo a la tabla
como una cadena.
Hacemos clic en la pestaña superior “Estructura”. Justo debajo de la tabla de campos de la tabla
Tipos fecha: aparecerá un selector que permite definir el número de campos que se quieren añadir y la posición
A la hora de almacenar fechas Mysql no comprueba de una manera estricta si una fecha es válida que esos nuevos campos tendrán en la tabla. Por ejemplo:
o no. Simplemente comprueba que el mes está comprendido entre 0 y 12 y que el día entre 0 y 31.
- Date: Tipo fecha, almacena una fecha. El formato de almacenamiento es de año-mes-dia.
Una vez establecidos los valores deseados pulsamos en continuar y se mostrará una ventana en
- DateTime: Combina fecha y hora. El formato es año-mes-dia horas:minutos:segundos.
la que definiremos las propiedades del campo.
- Time: Almacena una hora. El formato de almacenamiento es de 'HH:MM:SS'

22 de 33 23 de 33
TIC 2º BTO IES Grande Covián TIC 2º BTO IES Grande Covián
Curso 2017-18 Zaragoza Curso 2017-18 Zaragoza

19.2.5 Vaciar o eliminar una tabla Consultar los registros de una tabla
Seleccionamos el nombre de la base de datos a la que pertenece la tabla en el menú de la La consulta más simple tiene la forma:
izquierda de la página. Se mostrará un listado con todas las tablas contenidas en la base de datos.
$sel= $con ->query("SELECT * FROM tabla ");
Seleccionamos la tabla que queremos eliminar y elegimos la opción variar o eliminar según lo que
nos interese. Esta línea de código almacena todos los campos, de todos los registros, de la tabla de nombre
“tabla” en la variable $sel. Se leen todos los campos (*) de todos los registros, la salida está en el
orden en el que fueron añadidos los registros.
20. Comunicació n PHP con MySQLi
La expresión tabla puede ser una variable php.
La función que utiliza PHP para comunicar con MySQLi es:
$sel= $con ->query("sent"); El resultado recogido en la variable $sel, está estructurado en líneas. La forma más sencilla de
leer los campos de cada registro es a través del siguiente bucle while:
la cadena sent contiene las instrucciones propias de MySQLi y $con sigue siendo la variable que
while($fila=$sel ->fetch_assoc()){
contiene el identificador de la conexión. El resultado de la consulta se guaradará en $sel.
echo $fila['id'].' - ';
Obviamente $sel y $con son nombres de variables a modo de ejemplo, no han de ser echo $fila['pregunta'].'<br>';
esos valores necesariamente. }

Veamos las operaciones básicas: Parece complicado, pero no lo es tanto. Observa el ejemplo anterior:
Al comenzar el bucle la variable array $fila recoge el contenido de la primera línea y coloca su
Añadir registros a una tabla puntero interno al comienzo de la línea siguiente. Esta nueva línea se leerá en la pasada siguiente y
La orden MySQLi tiene la forma: así sucesivamente.
INSERT INTO tabla (campo1,campo2,..) VALUES (‘valor1’, ’valor2’,..) Además la función fetch_assoc() hace que $fila sea un array asociativo en el cual el índice del
- tabla es el nombre de la tabla en la que queremos añadir el registro. elemento del array es el nombre del campo en la tabla. Es decir en el ejemplo anterior se supone
- campo1,… es el nombre de cada uno de los campos de ese registro a los cuales queremos que tenemos una tabla en la que dos de sus campos se llaman id y pregunta. Al utilizar fetch_assoc()
asignar algún valor se crean elementos dentro del array con esos índices y sus valores asociados.
- valor1…. Es el valor que queremos asignar a cada uno de los campos del registro. Cuando ya no hay más filas que leer fetch_assoc() genera un valor NULL y el bucle while termina.
Los valores tipo numérico no se incluyen entre comillas, mientras que los no numéricos 20.2.1 Consultando sólo algunos campos
tienen que estar contenidos entre comillas incluso en el caso de no se inserten
directamente sino a través de una variable PHP. Cambia la forma de la sentencia

Normalmente estas líneas de código son muy largas y es frecuente que aparezcan errores. Suele SELECT campo1,campo2, ... FROM tabla
ser buena idea montar una estructura del tipo: 20.2.2 Consultando sólo algunos campos y ordenando la salida
$sql = "INSERT INTO $tabla (nombre, apellido, password) VALUES ('$nombre', SELECT campo1,campo2, ... FROM tabla ORDER BY campo_n [ASC|DESC],
'$apellido','$password')"; campo_m [ASC|DESC]
$resultado=mysql_query($sql,$c);
Genera una lista ordenada por el primero de los campos indicados en ORDER BY, y en caso de
Separando en dos partes la línea de código. coincidencia de valores en ese campo, utilizaríamos el criterio de ordenación señalado en segundo
También suele ser buena noticia añadir un if que nos informe del éxito o fracaso de la operación lugar.
de inserción.
20.2.3 Consulta seleccionando registros
if($sel){
echo ‘fila insertada’; SELECT campo1, ... FROM tabla WHERE condición
}else{ Devuelve la lista de registros que cumplen la condición indicada.
echo ‘fila no insertada’;
} La cláusula WHERE permite un variado abanico de condiciones:
Operador Tipo de campo Sintaxis
= Numérico WHERE campo=num

24 de 33 25 de 33
TIC 2º BTO IES Grande Covián TIC 2º BTO IES Grande Covián
Curso 2017-18 Zaragoza Curso 2017-18 Zaragoza

= Cadena WHERE campo="cadena" 20.3.2 Selección y modificación de un solo registro


< Numérico WHERE campo<num
Normalmente modificaremos los campos en un único registro:
< Cadena WHERE campo<"cadena"
<= Numérico WHERE campo<=num UPDATE tabla SET campo1=valor1, campo2=valor2 WHERE condición
<= Cadena WHERE campo<="cadena" La condición normalmente aludirá a un campo índice (clave principal o única), de modo que sea
> Numérico WHERE campo>num un solo registro el que cumpla la condición.
> Cadena WHERE campo>"cadena"
>= Numérico WHERE campo>=num Eliminar registros de una tabla
>= Cadena WHERE campo>="cadena" La sintaxis de la orden es:
Para comparar cadenas, MySQL dispone la instrucción LIKE que permite establecer los criterios mysql_query(“DELETE FROM $tabla [WHERE condicion][ORDER BY ...][LIMIT
de selección a toda o parte de la cadena. Su sintaxis contempla distintas posibilidades utilizando row_count]”,$c)
dos comodines>: %
Donde los apartados entre corchetes son opcionales.
Sintaxis Descripción La sintaxis de “condición” sigue las mismas normas descritas en el apartado Consultas.
WHERE campo LIKE '%cadena%' Selecciona todos los registros que contengan la cadena en
el campo indicado sea cual fuere su posición
WHERE campo LIKE 'cadena%' Selecciona todos los registros en los que el campo indicado 21. Los errores MySQLi
contenga la cadena exactamente al principio del campo PHP dispone de dos funciones que nos permiten detectar si una sentencia MySQL se ha ejecutado
WHERE campo LIKE '%cadena' Selecciona todos los registros en los que el campo indicado correctamente o si se ha producido algún error.
contenga la cadena exactamente al final del campo
mysql_errno($enl)
WHERE campo LIKE '_cadena%' Selecciona todos los registros en los que el primer caracter
del campo puede ser cualquiera pero los siguientes han de Indica el número de error que se ha producido en la transacción MySQL realizada a través del
ser exactamente los indicados en cadena pudiendo ir identificador de enlace $enl.
seguidos de cualesquiera otros caracteres
Cuando el número de error es CERO significa que no se ha producido error.
El comodín (_) puede ir tanto al principio como al final y puede repetirse tantas veces como sea Valores bastante usuales son los siguientes:
necesario. Seria correcto LIKE '___es%' y también LIKE 'a___es%' así como: LIKE '%a___es'.
Error número 1050: Indica que hemos tratado de crear una tabla ya existente.
WHERE acepta múltiples condiciones vinculadas por los operadores lógicos AND, OR, NOT o sus
sintaxis equivalentes: &&, || y !. Error número 1062: Indica que hemos tratado de introducir un valor con clave duplicada.
mysql_error($enl)
Modificar registros
Devuelve la descripción del error. Cuando el número de error es CERO devuelve una cadena vacía.
20.3.1 Modificar un campo en todos los registros de una tabla
Resulta de muchísima utilidad para depurar scripts.
UPDATE tabla SET campo1=valor1, campo2=valor2
Se modificarán TODOS LOS REGISTROS DE LA TABLA, los campos modificados tendrán el mismo
valor en todos los registros.
MySQL requiere SIEMPRE que los valores tipo cadena que incluyen campos de fecha
vayan entre comillas. Por el contrario, los numéricos no deben llevar comillas.
Cuando se pasan valores desde una variable PHP y el contenido de la variable es una
cadena que va a ser tratada como tal por MySQL hay dos opciones para evitar el error:
Definir la variable así: $variable ="'valor'" (comillas dobles, comilla simple al principio y
comilla simple, comilla doble al final)
Definir la variable PHP así: $variable ="valor" y al escribir el nombre de esa variable en
la sentencia MySQL escribirlo entre comillas sencillas, es decir, así: '$variable'

26 de 33 27 de 33
TIC 2º BTO IES Grande Covián TIC 2º BTO IES Grande Covián
Curso 2017-18 Zaragoza Curso 2017-18 Zaragoza

22. Filezilla
Aplicación de código libre que
permite conectarse a través de
protocolo FTP al servidor donde
tenemos alojada nuestro sitio web.
Una vez realizada la conexión
intercambiar archivos entre nuestro
ordenador y el espacio web que
tengamos reservado en el servidor
es tan sencillo como arrastrar los Para configurar el servidor remoto ir a Servidores:
iconos de estos elementos entre la
ventana que muestra el contenido
de nuestro equipo (ventana de la
izquierda) y la ventana que muestra
el contenido en el servidor (ventana
de la derecha).

23. Anexo I - Servidor internet gratuito


Vamos a utilizar el sitio 000webhost. Su dirección web es:
https://www.000webhost.com Clic en el botón “+” e introduce los datos:
Seleccionamos la opción Free Sign Up. Nos pide correo electrónico, contraseña y nombre del - Nombre de servidor: Es descriptivo
sitio web. Completa tus datos: - Conectar usando: FTP
- Dirección FTP: Host name dado por
Email: 000webhost
Password: - Usuario: El dado por 000webhost
Website name: - Directorio raíz: /public_html/
Cambiar la hora de apagado por mantenimiento y elegir una hora noctura. - URL Web: La dada por 000webhost

Servidor ftp Clic en Guardar y hacer clic en el selectro


“De prueba” en la ventana siguiente:
Ir a la sección de Settings y allí bajar hasta encontrar los datos de conexión ftp: Host Name, Port,
Username y Password.
Entrar y comprobar que existe una carpeta public_html. Esta es la carpeta que deberá contener
nuestro sitio web.

Crear sitio web en Dreamweaver


Nuevo sitio y datos:

28 de 33 29 de 33
TIC 2º BTO IES Grande Covián TIC 2º BTO IES Grande Covián
Curso 2017-18 Zaragoza Curso 2017-18 Zaragoza

Tabla de contenido
1. Introducción a PHP ............................................................................................................. 1
Páginas PHP ........................................................................................................................... 1
Sitios web dinámicos con PHP ............................................................................................... 1
2. Funciones básicas ............................................................................................................... 2
Escribir por pantalla, echo ..................................................................................................... 2
Comentarios .......................................................................................................................... 2
Constantes ............................................................................................................................. 2
Variables ................................................................................................................................ 3
Para terminar haz clic en Guardar. Ya solo quedaría crear un archivo de prueba, guardar y subir Tipos de variables .................................................................................................................. 3
con “Colocar”. Funciones............................................................................................................................... 4
Cosas ...................................................................................................................................... 4
24. Anexo II - Funciones que informan sobre las variables 3. Comunicación cliente-servidor sencilla ................................................................................ 5
Envío de información a través del navegador al servidor ..................................................... 5
En muchos casos nos serán de utilidad: Recepción de información mandada a través navegador..................................................... 5
- sizeof(variable) Devuelve el número de elementos de un array. Con una variable (no array) 4. Formularios ........................................................................................................................ 5
da uno y tanto si se aplica sobre un array vacío, una variable con valor nulo o sobre una Crear el formulario ................................................................................................................ 6
variable no definida, devolverá cero. Elementos de un formulario.................................................................................................. 6
- count(variable) Idéntica a sizeof. 4.2.1 Campo de texto .......................................................................................................... 6
- isset(variable) Comprueba si una variable está definida o no lo está. Si lo está devuelve 4.2.2 Campo de texto PASSWORD ...................................................................................... 7
UNO, en caso contrario NUL. 4.2.3 Botón de opción ......................................................................................................... 7
- is_array(variable) Da UNO si la variable es un array, NUL en el caso contrario. 4.2.4 Casilla de verificación (checkbox)............................................................................... 7
- is_long(variable) ó is_int(variable) ó is_integer(variable) devuelven UNO en el caso de que 4.2.5 Lista, menú ................................................................................................................. 8
la variable sea del tipo y NUL en el caso contrario. 4.2.6 Área de texto (textarea) ............................................................................................. 9
- is_float(variable) ó is_double(variable) ó is_sting(variable) devuelven UNO en el caso de 4.2.7 Campo oculto ............................................................................................................. 9
que la variable sea del tipo y NUL en el caso contrario. 4.2.8 Botón (enviar)............................................................................................................. 9
- unset(variable) Destruye la variable indicada. Se puede aplicar tanto sobre variables, sobre 4.2.9 Botón (reset)............................................................................................................... 9
un array y sobre un elemento de un array. Trabajar con los datos enviados al servidor con el formulario ............................................. 9
5. Operaciones aritméticas ................................................................................................... 10
Formato de presentación de números:............................................................................... 11
6. Arrays ............................................................................................................................... 11
Arrays bidimensionales (o multidimensionales) ................................................................. 11
Función Array ...................................................................................................................... 12
7. Operadores de comparación ............................................................................................. 12
8. Operadores lógicos ........................................................................................................... 12
Varios ................................................................................................................................... 13
8.1.1 Orden de precedencia .............................................................................................. 13
8.1.2 Operadores de preincremento................................................................................. 13
8.1.3 Operadores de post-incremento .............................................................................. 13
9. Operador condicional, orden if ......................................................................................... 13
if sencillo .............................................................................................................................. 13
If ... else ............................................................................................................................... 13
if ... elseif .. else ................................................................................................................... 13
10. La función exit() y la instrucción continue ....................................................................... 14
La función exit() ............................................................................................................... 14
Instrucción continue ........................................................................................................ 14

30 de 33 31 de 33
TIC 2º BTO IES Grande Covián TIC 2º BTO IES Grande Covián
Curso 2017-18 Zaragoza Curso 2017-18 Zaragoza

11. La función switch – (switch con break) ........................................................................... 14 Apuntes elaborados a partir de los materiales:
12. Bucle while .................................................................................................................... 15 - PHP Aplicación en la Enseñanza de Joaquín Álvarez García
13. El bucle do... while ......................................................................................................... 15 - Programación web en PHP (http://www.mclibre.org/consultar/php/index.html) de
14. El bucle for ..................................................................................................................... 15 Bartolomé Sintes Marco
15. Bucles foreach ............................................................................................................... 16 - php para principiantes. Curso con información de sentencias mysqli.
Arrays bidimensionales.................................................................................................... 16 https://www.udemy.com/php-para-principiantes/learn/v4/content
16. Llamadas a ficheros externos ......................................................................................... 16
16.1.1 Seguridad .............................................................................................................. 17
Bases de datos MySQLi............................................................................................................. 18
17. Bases de datos: MySQLi ................................................................................................. 18
18. Creando bases de datos con phpMyAdmin ..................................................................... 18
Creando una base de datos en 000webhost ................................................................... 18
Administrar la base de datos desde phpMyAdmin ......................................................... 19
Conexión con el servidor de bases de datos ................................................................... 20
18.3.1 Conectando a través del fichero mysql.inc........................................................... 20
19. Operaciones MySQLi desde phpMyAdmin ...................................................................... 21
Creación de tablas ........................................................................................................... 21
19.1.1 Campo índice: índices MySQLi .............................................................................. 22
19.1.2 Tipos de campos MySQLi ...................................................................................... 22
Operaciones con tablas ................................................................................................... 23
19.2.1 Insertar un registro en la tabla ............................................................................. 23
19.2.2 Eliminar un registro de la tabla............................................................................. 23
19.2.3 Modificar o eliminar uno de los campos de la tabla ............................................ 23
19.2.4 Añadir un nuevo campo a la tabla ........................................................................ 23
19.2.5 Vaciar o eliminar una tabla ................................................................................... 24
20. Comunicación PHP con MySQLi ...................................................................................... 24
Añadir registros a una tabla............................................................................................. 24
Consultar los registros de una tabla ................................................................................ 25
20.2.1 Consultando sólo algunos campos ....................................................................... 25
20.2.2 Consultando sólo algunos campos y ordenando la salida .................................... 25
20.2.3 Consulta seleccionando registros ......................................................................... 25
Modificar registros........................................................................................................... 26
20.3.1 Modificar un campo en todos los registros de una tabla ..................................... 26
20.3.2 Selección y modificación de un solo registro ....................................................... 27
Eliminar registros de una tabla ........................................................................................ 27
21. Los errores MySQLi ........................................................................................................ 27
22. Filezilla .......................................................................................................................... 28
23. Anexo I - Servidor internet gratuito ................................................................................ 28
Servidor ftp ...................................................................................................................... 28
Crear sitio web en Dreamweaver .................................................................................... 28
24. Anexo II - Funciones que informan sobre las variables .................................................... 30

32 de 33 33 de 33

También podría gustarte