Foros del Web » Programando para Internet » PHP »

Comprobación de BD y creación de Cookies

Estas en el tema de Comprobación de BD y creación de Cookies en el foro de PHP en Foros del Web. Según tengo entendido el uso de setcookie() solo puede efectuarse antes de cualquier salir del script, por lo que situé mi código justo antes de ...
  #1 (permalink)  
Antiguo 29/03/2009, 22:36
Avatar de Dude--  
Fecha de Ingreso: junio-2004
Ubicación: Sevilla - España
Mensajes: 197
Antigüedad: 19 años, 10 meses
Puntos: 4
Comprobación de BD y creación de Cookies

Según tengo entendido el uso de setcookie() solo puede efectuarse antes de cualquier salir del script, por lo que situé mi código justo antes de la declaración "<?xml version="1.0" encoding="UTF-8"?>". El problema surge porque me gustaría comprobar, mediante una conexión a la Base de Datos, si los recibidos del formulario son correctos o no, antes de registrar las cookies. Obviamente si realizo dicha comprobación antes de la etiqueta <html>, en caso de que se produjera algún error, como por ejemplo que los datos ingresados no correspondieran con los de la BD la única forma que se me ocurre de comunicárselo al usuario sería mediante die(error) lo que causaría que el usuario "saliera" del contexto de la página y eso no es bueno :S.

Lo que necesito saber es como podría lanzar un "El nombre de usuario/contraseña no son correctos" de otra forma, ¿quizás volcando este error en una variable y luego cargándolo donde quiera?... ¿quizás se podría hacer con una capa oculta que fuera cargada con DOM, tipo ventanita emergente?.. ¿quizás insertando con DOM un mensaje de error justo encima del <input> del nombre de usuario? En realidad lo adecuado sería que se pudiera hacer de las 3 formas, así no dependes tanto de DOM por si el navegador no lo soporta bien.

¿Alguna sugerencia y/o forma de hacerlo?
__________________
"El camino empieza renunciando el control y volviéndose flexibles, como una brizna de paja en un huracán."

"Desconozco tanto... es excitante comenzar a nadar en este mar de dudas..."
  #2 (permalink)  
Antiguo 29/03/2009, 23:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: Comprobación de BD y creación de Cookies

muy simple, usa la lógica....

Código PHP:
<?php
$mensaje 
'';


// ...

if (/* ... */)
{
  
$mensaje 'algo ocurrio';
}

?><html>

...

<?php if ( ! empty($mensaje)) { echo $mensaje; } ?>
ves como es sencillo, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 30/03/2009, 00:21
Avatar de Dude--  
Fecha de Ingreso: junio-2004
Ubicación: Sevilla - España
Mensajes: 197
Antigüedad: 19 años, 10 meses
Puntos: 4
Respuesta: Comprobación de BD y creación de Cookies

Mmm vaya, como no habré caido antes, debo estar empanado de tantas horas delante del código :S.

Una pequeña duda adicional: ¿Cómo puedo ir añadiendo strings a un array? quiero decir... es posible crear un array llamado $errores e ir añadiéndole frases? de forma parecida a esto:

Código:
$errores = array("Deberías revisar lo que has escrito.");

//..... en otro sitio del código......./
			$errores = array("No has rellenado todos los datos.");
//..... en otro sitio del código......./
			$errores = array("No puedes hacer eso.");
Tal que luego se pudiera recorrer los índices de ese array, de [0] a [2] en este caso, para mostrar todos los errores acumulativos? Ignoro la sintaxis para añadir cadenas completas como elementos de un array.
__________________
"El camino empieza renunciando el control y volviéndose flexibles, como una brizna de paja en un huracán."

"Desconozco tanto... es excitante comenzar a nadar en este mar de dudas..."
  #4 (permalink)  
Antiguo 30/03/2009, 01:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: Comprobación de BD y creación de Cookies

pues lee el manual de PHP

Código PHP:
$foo []= 'bar'
http://php.net/array

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:37.