Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/09/2003, 20:58
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
while ($row1 = mysql_fetch_row($resultadouser)){
foreach($row1 as $campo1 => $clave1){
if ($clave1 != $pass) { echo "<h2>¡Error al identificarse!</h2>"; mysql_close();}
if ($clave1 == $pass) { echo "<h2>Bienvenido usuario <b> $user </b></h2>";}
}
}
Conoces exactamente la sintax de uso de IF ?

sabías que existe el "else" para el IF (e incluso el elseif ..) ?

Bueno .. en tu caso ya que el mensaje de error que dás es simplemente "Error en autentificación" y no discriminas si el error fué por el passwor mál .. o el usuario no existe en tu BD .. etc .. Te vendría mejor usar "Condiconales y operadores lógicos" . pero en tu consulta SQL que estás usando ..

Ademas .. Mysql en su SQL dispone de funciones para "contar" el total de registros que te arroje una consulta (con condicionales por ejemplo como es tu caso) .. y así Si te devuelve + de 0 registros .. es que existe el registro (en realidad debería ser 1 siempre si es válido y 0 si no es valido .. se supone que no vas a tener parejas de datos: usuarios/passwords duplicados)

Código PHP:
$resultadouser=mysql_query ("SELECT count(*) FROM $usuarios WHERE Usuario='$user' AND Pass='$pass'" ,$conexion);
if (
mysql_result($resultadouser,0) == 1){
    echo 
"Es correcta la autentificación ...bla bla ";
    
// y el resto de código que quieras presentar si se autentifica correctamente . o redireccionas o lo que quieras ..    
} else {
    echo 
"No es correcta la autentificación ...";


Un saludo,

pd: usa más amenudo www.php.net/manual/es
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 24/09/2003 a las 21:08