Este es un artículo publicado en Bulma y me parecio muy bueno como para postearlo.
------------------------------------------------------------------------------------
1. Introducción al PHP
PHP es un lenguaje interpretado que sirve principalmente para realizar páginas html dinámicas, aunque sus autores aseguran emplearlo incluso para hacer shell-scripts, ya que hay intérpetes php en línea de comandos.
A pesar del ímpetu de sus desarrolladores, aquí nos centraremos especialmente en la generación de páginas dinámicas con php (versión 3), apache y el módulo mod_php.
PHP es muy parecido al C, si ya sabes C, se puede decir que ya sabes el 90% del lenguaje PHP, únicamente se diferencian en que:
- PHP no es case sensitive (no distingue mayúsculas de minúsculas), salvo bugs en el tratamiento de objetos.
- en PHP no se declaran las variables y no tienen un tipo fijo, sino que una misma variable puede almacenar a lo largo de su vida valores de todo tipo (números, cadenas...).
1.1 PHP y HTML
Para escribir código PHP dentro de una página html, tenemos varias alternativas:
- Incluir el código entre
y
?>
- Incluir el código entre
y
?>
- Incluir el código entre bloques
y
Ejemplo:
La página anterior, si la salvamos como
");
?>
ejemplo.phtml
y la cargamos con el navegador, produce como resultado una página HTML con el texto "Hola Mundo". Huelga decir que para que funcione, es necesario tener instalado un servidor web con soporte para PHP y asociar la interpretación de PHP a la extensión phtml
. En el proyecto web de Bulma tienes información de cómo instalar todo ello, incluyendo el código fuente del web, los datos de la base de datos y scripts para la instalación del web de bulma en cualquier ordenador.
En los sucesivos ejemplos, obviaremos las marcas , HTML y BODY
1.2 Comentarios
Los comentarios en PHP se escriben:
- Con
//
o#
para comentarios de una sóla línea. - Entre
/*
y*/
para comentarios de una o más líneas.
Produce la misma salida que el ejemplo anterior.
/* Título: Mi Primera página PHP
Autor: Yo
*/
// Saludamos
echo("¡Hola Mundo!
");
1.3 Variables
Todas las variables en PHP empiezan con el caracter dólar "$".
Declaración
Las variables se declaran simplemente inicializándolas:
Si intentamos acceder a una variable no inicializada, PHP se quejará. Para evitar ello, existe la función
$strCadena = "Hola Mundo";
echo($strCadena);
error_reporting(mask)
.
Tipos
Los tipos básicos de PHP son Integer, Double, String, Array y Object. Las variables booleanas no existen como tales, sino que cualquier valor numérico distinto de 0 o cualquier cadena no vacía se considera TRUE
Las variables PHP no tienen un tipo fijo, dependiendo de la última asignación realizada, tienen uno u otro tipo. La función gettype(nombrevar)
permite obtener el tipo de esa variable en forma de cadena:
El ejemplo anterior escribe "String" e "Integer" por pantalla.
$variable = "Una cadena";
echo(gettype($variable));
$variable = 0;
echo(gettype($variable));
Las funciones Is_Double($varname)
, Is_Array($varname)
, Is_String($varname)
y Is_Object($varname)
también nos permiten saber el tipo de una variable.
Cadenas
Las cadenas en PHP se especifican rodeadas por comillas simples o por comillas dobles:
Hay un matiz de diferencia entre una y otra, que podemos comprobar con este ejemplo:
$strCadena1 = "Hola Mundo
";
echo($strCadena1);
$strCadena2 = 'Hola Inmundo
';
echo($strCadena2);
Produce una página con el texto
$strMessage = "Hola Mundo";
$strMsgInABottle = "$strMessage
";
echo($strMsgInABottle);
$strMsgInABottle = '$strMessage
';
echo($strMsgInABottle);
Es decir, cuando usamos comillas dobles, las expresiones del estilo
Hola mundo
$strMessage
$varname
se sustituyen por el valor de la variable $varname
, mientras que cuando usamos comillas simples, la cadena no se evalúa y se deja como está. El operador para concatenar cadenas es el punto ".":
Las comillas pueden abarcar más de una línea sin ningún problema:
$strCadena = "Hola";
$strCadena = $strCadena . "Mundo";
echo($strCadena);
Como vemos, podemos escapar las comillas con la combinación
$strConsulta = '
SELECT *
FROM
bul_tbl_noticias
WHERE
nombre_autor = \'Alberto\';
';
\'
. De la misma manera, \n
, \t
y otros tienen el mismo significado que en C.
Arrays
Los arrays en PHP son bastante potentes y flexibles:
El no poner el subíndice del elemento, hace que el valor asignado se asigne a las siguiente posición libre del array. Los arrays en PHP comienzan en la posición 0, por lo que el anterior código podría escribirse más fácilmente así:
$arrValores[0] = 1;
$arrValores[1] = "Una cadena";
echo("En \$arrValores[0] está $arrValores[0] y en " .
"\$arrValores[1] está $arrValores[1]
");
$arrValores[] = 1;
$arrValores[] = "Una cadena";
echo("En \$arrValores[0] está $arrValores[0] y en " .
"\$arrValores[1] está $arrValores[1]
");
Otra forma de crear arrays es mediante la construcción Array()
:
$arrValores = Array(1, "Una cadena");
echo("En \$arrValores[0] está $arrValores[0] y en " .
"\$arrValores[1] está $arrValores[1]
");
Una forma muy conveniente de direccionar elementos de un array es asociativamente. En el caso de los arrays asociativos, en vez de accederse por índice, se accede por clave o key (las claves sí son case sensitive, no es lo mismo $arrValores["a"]
que $arrValores["A"]
, no es lo mismo):
Como vemos, manejar arrays multidimensionales es trivial en PHP, basta con añadir los corchetes y el subíndice deseado.
$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 " .
$arrValores[Apellidos][1] . "
");
La construcción Array()
también puede usarse con arrays asociativos:
$arrValores=array(
"nombre" => "Tancredo",
"Apellidos" => array("Gómez", "Jiménez")
);
La construcción List()
nos permite asignar los valores de un array a una serie de variables de una sola vez:
saca como resultado:
$arrValores=Array(1, "Una cadena", 1.2);
List($nNumber, $strCadena, $fNumber) = $arrValores;
echo("\$nNumber vale $nNumber, \$strCadena vale " .
"'$strCadena' y \$fNumber vale $fNumber");
$nNumber vale 1, $strCadena vale 'Una cadena' y $fNumber vale 1.2
Conversiones
Para convertir una variable de un tipo a otro se emplea el casting mediante paréntesis:
$strVariable = "5";
$valor = (integer) $strVariable;
$valor
contiene el valor numérico de la variable $strVariable
. También podemos emplear la función SetType($varname, "vartype")
para forzar que la variable $varname
sea del tipo vartype
.
De todas formas, PHP es bastante consecuente en cuanto a los tipos, de manera que si sumamos un número a una cadena, esa cadena se convierte en un número:
produce como resultado
$strCadena="5";
echo('$strCadena es de tipo ' . GetType($strCadena) .
" y vale $strCadena
");
$strCadena = $strCadena + 5;
echo('$strCadena es de tipo ' . GetType($strCadena) .
" y vale $strCadena
");
En caso de que concatenemos una cadena con un número, PHP realiza la conversión del número a cadena automáticamente:
$strCadena es de tipo string y vale 5
$strCadena es de tipo integer y vale 10
Produce la salida esperada
echo("El número es " . 5 . "
");
El número es 5
Variables predeclaradas HTTP
PHP tiene toda una serie de variables predeclaradas que tienen que ver con HTML, como:
$PHP_AUTH_USER
: Usuario de la autenticación.$PHP_AUTH_TYPE
: Tipo de autorización.$PHP_AUTH_PW
: Contraseña con la que se autenticó el usuario.$HTTP_POST_VARS
: Array con las variables de un form pasadas por el método POST.$HTTP_PUT_VARS
: Array con las variables de un form pasadas por el método PUT.
$HTTP_PUT_VARS
y $HTTP_POST_VARS
, podemos acceder a las variables provenientes de forms HTML como $nombrevariable, supongamos el siguiente form: Mientras que en la página
tratar_form.phtml
podemos acceder a las variables del form con:
Echo("Nombre: $Nombre
Apellido1: $Apellido[0]
Apellido2: $Apellido[1]
");
Comprobación de declaración
En ocasiones es necesario saber si una variable ha sido inicializada ya (sobre todo si proviene de un form html, por ejemplo), para ello tenemos la función IsSet($variable)
que nos permite saber si esa variable fue ya inicializada.
Esta función debe ser usada conjuntamente con un error_reporting(~8)
para que el intérprete no capture el error de intento de acceso a variable no inicializada.
1.4 Constantes
Las constantes en PHP son literales que no comienzan por "$" y que se inicializan con la construcción define(nomconst)
:
define("MAX_CLIENTS", 25);
Echo(MAX_CLIENTS);
Las constantes predefinidas __FILE__
y __LINE__
nos dan el nombre del fichero y el número de línea actual.
1.5 Operaciones
booleanas, concatenación de cadenas, aritméticas.
1.6 Sentencias de control
Las estructuras de control de PHP son iguales que las de C, con algún que otro añadido.
Condicionales
La estructura de los condicionales es igual que en C:
if ($usuario == "Wildfred") {
} elseif ($usuario == "Winifred") {
} else {
}
Switch
La expresión de selección de rama del case tiene que ser escalar (no objeto o array).
switch ($usuario) {
case "Wildfred":
break;
case "Winifred":
break;
default:
}
Bucles
En los bucles pueden usarse las instrucciones break
y continue
para salir del bucle actual o para avanzar hasta la próxima iteración.
For
for ($i=0;i<40;i++) { Echo("\$i vale $i
");
}
While
$bDoExit = 0;
while (!$bDoExit) {
Echo("Iterando
");
$bDoExit = 1;
}
do {
Echo("Iterando
");
$bDoExit = 1;
} while (!$bDoExit);
list, Each (arrays)
Existen dos funciones que combinadas nos permiten iterar fácilmente por todos los elementos de un array:
Todos los arrays mantienen un contador interno (accesible mediante las funciones
$arrApellidos = array("Pepe" => "Pérez", "Paco" => "Gómez");
while ( list($strNombre, $strApellidos) = each($arrApellidos)) {
Echo("$strNombre se apellida $strApellidos.
");
}
current
, reset
, next
y prev
, y la función each
se encarga de devolver current
y llamar a next
. Con la función list
asignamos la clave y el elemento a las variables $strNombre
$strApellidos
, hasta que no queda ningún elemento (each
devuelve null).
Array_Walk
Array_Walk
es una función que toma como parámetros un array y una función y aplica esa función a cada elemento del array:
function dumpit($elem) {
Echo("$elem
");
}
$arr = array("Elem1", "Elem2", "Elem3");
Array_Walk($arr,"dumpit");
1.7 Funciones
Declaración
Un esqueleto típico de una función es:
Y se llama con:
function outputcol($strCadena, $strColor) {
// Saca una cadena con el color deseado
Echo("$strCadena");
}
Dando el resultado:
outputcol("Rojo", "FF0000");
outputcol("Verde", "00FF00");
Rojo
Verde
Parámetros
Parámetros por defecto
Si deseamos que la función por defecto ponga el texto en color azul, por ejemplo, la redefiniríamos de la siguiente manera:
function outputcol($strCadena, $strColor="0000FF") {
// Saca una cadena con el color deseado
Echo("$strCadena");
}
y la podríamos llamar con:
outputcol("Defecto");
outputcol("Verde", "00FF00");
Dando el resultado:
Evidentemente, siempre que una función tenga n parámetros por defecto, éstos deberán ser los n últimos parámetros declarados.
Defecto
Verde
Parámetros por referencia
En PHP por defecto los parámetros se pasan por valor, es decir, que si los modificamos dentro de la función, a la vuelta de la función las variables pasadas como parámetro no se modificaron (a dichas variables se les denomina parámetros actuales de la función).
Si deseamos que las variables del llamante sean modificadas (los mencionados parámetros actuales), hay que pasar los parámetros por referencia:
Que ofrece el resultado:
function Concatena(&$strDest, $strSrc) {
// Esta función concatena dos cadenas y las devuelve
// en la primera cadena pasada
// $strDest se le pasa como parámetro por referencia.
$strDest = $strDest . $strSrc;
// Como $strSrc no se pasa por referencia, la siguiente
// instrucción no afecta al parámetro actual
$strSrc = "";
}
$strOrigen = "Mundo";
$strDestino = "Hola ";
Echo("Origen es $strOrigen y destino es $strDestino
");
Concatena($strDestino, $strOrigen);
Echo("Origen es $strOrigen y destino es $strDestino
");
Como se ve, para pasar un parámetro por referencia, basta con poner "&" delante del nombre del parámetro en la declaración de la función, es decir, poner "&" delante del nombre del parámetro formal.
Origen es Mundo y destino es Hola
Origen es Mundo y destino es Hola Mundo
También se puede pasar un parámetro por referencia aunque en la función no esté declarado como tal, anteponiendo el ampersand "&" al parámetro actual (al invocar la función).
Variables en funciones
Variables locales
Para definir una variable local, simplemente se asigna un valor a la variable:
function Iva($fValue) {
// $fIVA es una variable local
$fIVA = $fValue * 0.16;
Echo("El IVA de $fValue es $fIVA
");
}
Iva(2350);
Variables estáticas
Si queremos que la variable local conserve el valor de invocación a invocación de la función, basta declararla como estática:
muestra en la página:
function Counter() {
static $count = 0;
$count2 = 0;
$count2++;
Echo("Count vale $count y count2 vale $count2
");
$count++;
}
Counter();
Counter();
Counter();
La inicialización de la variable sólo tiene lugar la primera vez que
Count vale 0 y count2 vale 1
Count vale 1 y count2 vale 1
Count vale 2 y count2 vale 1
Counter
es invocada.
Acceso a variables globales
Este es uno de los puntos en los que PHP se diferencia de C y es un punto importante y causa de bastantes quebraderos de cabeza para el primerizo en PHP.
Para acceder a una variable global desde dentro de una función es imprescindible declararla dentro de la función como global $variable
, ya que de otro modo PHP pensará que se desea hacer referencia a una variable local:
function TouchGlobal() {
global $strCadena;
$strCadena = "¡Tocada!";
$nValue = 7;
Echo("Dentro de TouchGlobal ahora \$strCadena vale " .
$strCadena " . "y \$nValue vale $nValue
");
}
$strCadena = "Hola mundo";
$nValue = 4;
Echo("\$strCadena vale $strCadena y \$nValue vale $nValue
");
TouchGlobal();
Echo("\$strCadena ahora vale $strCadena y \$nValue sigue ".
"valiendo $nValue
");
Como se ve, no es necesario que la variable global esté en el fichero físicamente delante de la función, basta con que haya sido inicializada antes de llamar a la función. Los cambios realizados a una variable global dentro de una función, permanecen cuando se vuelve de la función.
Otra forma de acceder a las variables globales es mediante una indexación asociativa del array $GLOBALS
.
Devolución de un valor
Para devolver un valor se emplea la cláusula return
.
function Factorial($nValue) {
if ($nValue <= 1) { return 1; } else { return Factorial($nValue-1)*$nValue; } } $nNumber = 7; Echo("El factorial de $nNumber es " . Factorial($nNumber));
En PHP las funciones pueden llamarse a sí mismas (recursivas), e incluso se pueden declarar funciones dentro de funciones o clases dentro de funciones.
1.8 Funciones interesantes
Printf, sprintf
El formato de llamada de estas funciones es exactamente igual que en C.
Echo
Echo
en realidad no es una función sino una construcción del lenguaje, por ello se puede poner tanto con paréntesis como sin paréntesis.
Evaluación de variables con Eval
La función Eval($strExpr)
permite evaluar la expresión $strExpr
, de manera que si contiene código PHP válido, éste será interpretado. Esto permite cosas muy flexibles como por ejemplo callbacks:
function mycallback($strParam) {
Echo("Dentro del callback
con parámetro $strParam");
}
function myfunc($fnCallback) {
// Creamos una tabla
Echo("
Callback1: ");
// Llamamos al callback
Eval($fnCallback);
// Cerramos la tabla
Echo("");
}
$strCode = 'global $strParam; mycallback($strParam);';
$strParam = "Soy el parámetro del callback";
myfunc($strCode);
Podemos emplear otra técnica para hacer callbacks más sencillos con:
function mycallback() {
Echo("Dentro del callback.
");
}
$strCallback = "mycallback";
// Llamamos al callback
$strCallback();
Variables variables
No, el título no está equivocado, las variables variables son formas de indireccionamiento a la hora de referirse a variables.
Si tenemos dos variables
$strVarName
y$nValue
y hacemos que$strVarName
contenga la cadena"nValue"
, al referirnos a$$strVarName
(nótese el doble dólar"$$"
) nos estamos refiriendo a la variable que tiene como nombre el contenido de$strVarName
, es decir, a$nValue
.Lo anterior plasmado en un ejemplo sería:
En los casos en los que haya ambigüedad, puede emplearse el agrupador
$nValue = 5;
$strVarName = "nValue";
Echo("Mostrando el valor de $strVarName: $$strVarName.
");
$$strVarName = 5;
Echo("Ahora $strVarName vale $$strVarName.
");{}
, por ejemplo, para$$myarray[0])
, podríamos referirnos:Si empleásemos el operador de agrupación para evitar la ambigüedad, el primer caso lo escribiríamos
- Al primer elemento del array que tiene como nombre el contenido de la variable
$myarray
.- A la variable que tiene como nombre el contenido de
$myarray[0]
.${$myArray}[0]
y${$myArray[0]}
en el segundo.
Control de errores Error_Reporting
Mediante la función
Error_Reporting(mask)
se pueden limitar los errores que captura el intérprete de PHP y ante los que aborta la ejecución del programa de entre los siguientes:Por ejemplo, con:
- E_ERROR (1)
- E_WARNING (2)
- E_PARSE (4)
- E_NOTICE (8)
- E_CORE_ERROR (16)
- E_CORE_WARNING (32)
Se hará que el intérprete de PHP no capture los errores distintos de NOTICEs o de WARNINGs, para que podamos tratarlos nosotros.
Error_Reporting(E_NOTICE | E_WARNING);Es habitual deshabilitar
E_NOTICE
cuando se emplea la funciónIsSet
para comprobar si se inicializó una variable, ya que si no se hace así, y la variable no fue inicializada dará un error y el intérprete abortará la ejecución:Opcionalmente puede deshabilitarse la detección de errores para una sola sentencia anteponiendo la arroba "@" a la sentencia.
// Deshabilitamos notices
$nOldMask = Error_Reporting(~E_NOTICE);
if (IsSet($btnAlta)) {
// Pulsó el botón de alta en el form
Echo("Dando de alta el elemento solicitado.
");
} elseif (IsSet($btnBaja)) {
// Pulsó el botón de baja en el form
Echo("Dando de baja el elemento solicitado.
");
}
// Restauramos la máscara de error antigua
Error_Reporting($nOldMask);
Die, exit
Se emplean para terminar la ejecución del script abruptamente.
Die($msg)
muestra el mensaje$msg
antes de salir.Exit()
sale de la ejecución del script.
1.9 Librerías
Include
Incluye el fichero cada vez, por si se desea meter esta instrucción en un bucle:
// Array con los nombres de las librerías
$arrLibraries = Array("include1.php3", "include2.php3",
"include4.php3");
// Iteramos por cada nombre de librería
while (list($nIndex, $strLibname) = each(arrLibraries)) {
// Incluímos esta librería
include($strLibname);
}
Require
Se reemplaza la instrucción
Require("nomfich")
por el fichero. Es lo que se suele usar normalmente para incluir librerías externas.
1.10 Clases (Objetos)
Para declarar un objeto en PHP usamos la construcción
class
, las variables de instancia se declaran anteponiendovar
al nombre y las funciones miembro se definen dentro del bloque de la clase como funciones normales y corrientes. Un constructor se define como una función con el mismo nombre que el objeto.Para referirnos al propio objeto o a variables miembro, empleamos
$this->
.Un ejemplo de todo lo anterior sería:
Como vemos, en las funciones miembro podemos emplear parámetros por defecto y cualquier cosa que emplearíamos en una función normal.
class MyObject {
var $nCount = 0;
var $strName;
function MyObject($strName="Nonamed") {
$this->strName = $strName;
}
function AddCount($nDelta) {
$this->nCount += $nDelta;
}
function GetCount() {
return $this->nCount;
}
}Para usar este objeto, haríamos:
Mucho cuidado con las mayúsculas y minúsculas en los nombres de las variables de tipo objeto, porque el PHP tiende a ser case sensitive con éstas.
$myObj = new MyObject("Pepito");
Echo("Count vale " . $myObj->GetCount() . "
");
$myObj->AddCount(5);
Echo("Ahora count vale " . $myObj->GetCount());
2. Librerías de Bulma
A lo largo de todos los ficheros PHP de Bulma, se sigue la notación húngara (bueno, técnicamente es un derivado denominado notación checoslovaca, creo), es decir, anteponer el prefijo de tipo al nombre de la variable.
Por ejemplo, la variable de tipo cadena que almacene el nombre de usuario, podría ser
strUser
(
str
es el prefijo de variables de tipo cadena). Otros prefijos habituales son:
n
para enteros:nCounter
,nIndex
...lrc
para instancias de la claseLoginRec
.rs
para instancias de la claseRecordSet
:rsUsuarios
,rsNoticias
...con
para instancias de la claseConnection
:conBulma
...
2.1 recordset.php3
Este fichero contiene objetos para abstraer de la base de datos en concreto a usar. De esta manera, si en algún punto del desarrollo se desea cambiar de base de datos (mySQL...), se podrá hacer cambiando únicamente este fichero.
Actualmente este fichero implementa las funciones de acceso únicamente para la fantástica base de datos PostgreSQL.
Connection
Connection($strDBName, $bPersistent)
Crea la conexión con la base de datos dada.
Parámetros
- $strDBName Nombre de la base de datos a la que conectar.
- $bPersistent Si usar conexiones persistentes o no (reciclar una conexión anterior, cosas del PostgreSQL).
Notas
Es importante cerrar la conexión llamando a
Close()
cuando se haya acabado de emplear.
Close()
Cierra la conexión previamente abierta.
Exec($strQuery)
Ejecuta la consulta
$strQuery
sobre esta conexión.Parámetros
- $strQuery Cadena cno la consulta SQL a ejecutar.
Valor de retorno
Devuelve un
RecordSet
con el resultado de la consulta.Notas
Es importante llamar al método
Close
delRecordSet
cuando se haya acabado de usar éste.
RecordSet
Los
RecordSet
almacenan conjuntos de registros, resultado de una consulta a una base de datos.
RecordSet($con)
Parámetros
- $con
Connection
sobre la que operará esteRecordSet
Notas
Cuando se acabe de usar el
RecordSet
se debe llamar aClose
para liberar los recursos de esteRecordSet
.
Open($strQuery)
Es equivalente al método
Exec()
.
GetError()
Devuelve la cadena del último error ocurrido en la última llamada a
Exec()
uOpen()
, o 0 si no se produjo ningún error.
Exec($strQuery)
Ejecuta la consulta SQL dada.
Parámetros
- $strQuery Consulta SQL a ejecutar.
Notas
Antes de llamar al próximo
Exec()
uOpen
es necesario cerrar elRecordSet
actualmente abierto.
MoveNext()
Recupera los datos del siguiente registro de este
RecordSet
.
MoveTo($nRow)
Se posiciona sobre un registro concreto del RecordSet.
Parámetros
- $nRow Número de fila del
RecordSet
sobre la que posicionarse.
Eof()
Valor de Retorno
Devuelve TRUE si se intentó avanzar más allá de la última fila del
RecordSet
.Notas
Un
RecordSet
vacío devuelveEof()
a TRUE nada más ejecutarse.
GetActRow()
Devuelve el número de fila actual, es decir, el número de registro que está siendo visualizado actualmente en el campo
fields
.
GetNumRows()
Devuelve el número de registros de este
RecordSet
.Valor de Retorno
- -1 Si el
RecordSet
no ha sido ejecutado aún o la última consulta devolvió error.- 0 Si el
RecordSet
está vacío.- Mayor que 0 Si el
RecordSet
es válido y tiene registros (en cuyo caso devuelve el número de registros delRecordSet
).
Close()
Cierra el
RecordSet
y desaloja los recursos asignados.Notas
Después de cada llamada con éxito a
Open()
o aExec()
tiene que haber una llamada correspondiente aClose()
. Después de llamar aClose()
, pueden realizarse nuevas llamadas aExec()
yOpen()
sobre esteRecordSet
.
fields
Array asociativo que se indexa con los nombres de los campos de la consulta realizada y devuelve los valores para el registro actual del
RecordSet
.
2.2 loginrec.php3
Esta librería contiene el objeto que soporta la autenticación HTTP mediante autenticación básica y contraste de la contraseña frente a una base de datos.
LoginRec
LoginRec()
Inicializa el objeto
LoginRec
, tomando las variables HTTP de información de login.
Authenticate($con)
Fuerza la autenticación de la conexión HTTP consultando la base de datos asociada al objeto
Connection
pasado como parámetro.Si la autenticación no es correcta, devuelve una página de error.Matches($strUser, $strPassword)
Devuelve TRUE si el objeto
LoginRec
coincide con el usuario$strUser
y la contraseña$strPassword
.
GetUser
Devuelve el usuario HTTP.
GetIdUser
Devuelve el identificador del usuario en la base de datos.
GetPassword
Devuelve la contraseña HTTP.
IsLogged
Devuelve TRUE si se ha introducido información de usuario y contraseña.
IsAuthenticated
Devuelve TRUE si se ha introducido información de usuario y coontraseña y estos se han validado contra la base de datos, mediante una llamada anterior a
Authenticate()
.
$lrcLoginRec
Objeto de tipo
LoginRec
creado al incluir esta librería, que contiene la información de login de la conexión HTTP actual.
------------------------------------------------------------------------------------
Visto en : Bulma
Autor : Antonio Tejada Lacaci
No comments:
Post a Comment