Aparece un mensaje de error al momento de verificar el usuario y su contraseña estoy utilizando wamp server

Soy novata en utilizar mysql y php y quisiera saber en qué me estoy equivocando o qué hice mal pues estoy realizando una pagina web para un usuario y otra para el administrador llamado paga1.html antes de ingresar a ella se requiere un login y la contraseña para comprobar el tipo de usuario al cual lo va a dirigir si a la pagina de usuario o a paga1 del administrador, estaba probando

Con un usuario registrado en la base de datos de mysql de la tabla llamada usuario pero me muestra un mensaje de error al dar click en el submit. Adjunto formulario con su script y archivo php llamado verificar.php. Agradezco su ayuda

1

1 Respuesta

54.035 pts.

Lo primero que te aconsejaría es que en vez de imágenes utilices la función que tienes en los mensajes de esta web para pegar código fuente (el botón tiene un icono "<>"), ya que resulta tedioso tener que estar ampliando las imágenes para ver el código, ademas de que resulta imposible copiar un fragmento y copiarlo en una respuesta para hacer referencia a él.

En segundo lugar, no incluyes la forma que tienes de conectar a la base de datos con la función conectarse(), supongo que para que no se vea el usuario y la clave, pero si haces lo que te he sugerido en vez de hacer capturas, en el código que pegues puedes cambiar esos datos y poner unos de ejemplo (usuario "pepito" y clave "abcde").

Por último, yo el código lo veo bien, a excepción de que no le veo utilidad al valor guardado en $contador y que creo que has puesto al revés los parámetros de mysqli_query (desconozco si funcionan al revés, pero debería ser la variable de conexión primero y luego el texto de la consulta). Además, comentar que algunas bases de datos MySQL de algunos servidores no devuelven contenido si no incluyes el nombre de la base de datos donde está la tabla en la consulta (no siempre). Por ejemplo, en tu caso sería SELECT * FROM NOMBRE_BASE_DE_DATOS.usuario WHERE etc...

gracias por tus sugerencias y ya cambié el parámetro de mysqli_query estaba al revés  también eliminé el contador estaba de más y el cotejamiento porque me aparecía error de PHP non_object. ¿cuál es la instrucción que debo implementar para que en php me acepte el cotejamiento UTF-8? 

Y todavía me sigue apareciendo la falla con mysqli_query. Adjunto código. Gracias por tu ayuda

<?php
session_start();
require('conexion.php');
$link=Conectarse();
$id_nom=$_POST['id_nom'];          //recuperar nombre de usuario
$pass=$_POST['pass'];                //contraseña
$sql="SELECT * FROM peliculas.usuario WHERE id_nom='$id_nom' and pass='$pass'";      
$res=mysqli_query($link,$sql);
if (!$res)
    die("fallo".mysqli_error());
if (!$res) {
            echo "perfil seleccionado <br />";
        }
        else {
            echo "error en la ejecución de la consulta. <br />";
        }
$row=mysqli_fetch_array($res);
    if($row["tipous"]== 0) {                    // Si es administrador es decir valor 0 navegará en la página "paga1.html"
        header("location:paga1.html");
        exit;
    }elseif ($row["tipous"]== 1){
        header("location:../pagina1.html");    /// Si es usuario es decir valor 1 navegará en la página "pagina1.html"
        exit;
    }else {
        echo "Error";exit;
    }
if (mysqli_close($link)){ 
            echo "desconexion realizada. <br />";
        } 
        else {
            echo "error en la desconexión";
        }
mysqli_free_result($res);
?>

Para elegir un juego de carácteres:

mysqli_set_charset($link, "utf8");

En cuanto a la cadena de consulta prueba a no encapsular las variables:

$sql="SELECT * FROM peliculas.usuario WHERE id_nom='" . $id_nom . "' AND pass='" . $pass . "'";      

Salu2.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas