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