¿En que me estoy equivocando? :(

  • Autor Autor DosTera
  • Fecha de inicio Fecha de inicio
D

DosTera

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Betas!. Estoy con un formulario de Login y me sale este error:
Insertar CODE, HTML o PHP:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given on line 15

y el código:
PHP:
<?php 
    session_start(); 
    include('acceso_db.php'); 
    if(isset($_POST['enviar'])) { 
        if(empty($_POST['usuario_nombre']) || empty($_POST['usuario_clave'])) { 
					echo header('Location: ingresau.php');
        }else { 
            $usuario_nombre = mysql_real_escape_string($_POST['usuario_nombre']);
            $usuario_clave = mysql_real_escape_string($_POST['usuario_clave']); 
            $usuario_clave = md5($usuario_clave); 
            // comprobamos que los datos ingresados en el formulario coincidan con los de la BD 
            $sql = mysql_query("SELECT usuario_nombre, usuario_clave FROM add WHERE usuario_nombre='".$usuario_nombre."' AND usuario_clave='".$usuario_clave."'"); 
            if($row = mysql_fetch_array($sql)) { 
                $_SESSION['usuario_id'] = $row['usuario_id'];
                $_SESSION['usuario_nombre'] = $row['usuario_nombre'];
               echo header('Location: Ofertas.php');
            }else { 
?> 
               
			   
<?php echo"<script language='javascript'>window.location='ocurridounerror.php'</script>"; ?>
<?php 
            } 
        } 
    }else { 
       echo" <SCRIPT LANGUAGE='javascript'>"
                 . "		location.href = 'index.php';"
                 . "		</SCRIPT>"
                 ."";
    } 
?>


Agradezco si me pudieran hechar una mano!
 
linea 6 y 17: no debe tener echo

PHP:
echo header('Location: ingresau.php');

- - - Actualizado - - -

También aquí:

PHP:
$sql = mysql_query("SELECT usuario_nombre, usuario_clave FROM add WHERE usuario_nombre='".$usuario_nombre."' AND usuario_clave='".$usuario_clave."'");

Hazlo así:

PHP:
$conexion = mysqli_conect("localhost", "root", "", "Nombre base de datos");
$sql = mysql_query($conexion, "SELECT usuario_nombre, usuario_clave FROM add WHERE usuario_nombre='".$usuario_nombre."' AND usuario_clave='".$usuario_clave."'");

x.x ta,poco entiendo esto:

PHP:
if($row = mysql_fetch_array($sql))
 
Última edición:
Gracias, me fijaré!
Lo raro es que estoy utilziando otro archivo MUY similar en otra web y si funciona :O

PHP:
<?php 
    session_start(); 
    include('acceso_db.php'); 
    if(isset($_POST['enviar'])) { // comprobamos que se hayan enviado los datos del formulario 
        // comprobamos que los campos usuarios_nombre y usuario_clave no estén vacíos 
        if(empty($_POST['usuario_nombre']) || empty($_POST['usuario_clave'])) { 
					echo header('Location: ingresau.php');
        }else { 
            // "limpiamos" los campos del formulario de posibles códigos maliciosos 
            $usuario_nombre = mysql_real_escape_string($_POST['usuario_nombre']); 
            $usuario_clave = mysql_real_escape_string($_POST['usuario_clave']); 
            $usuario_clave = md5($usuario_clave); 
            // comprobamos que los datos ingresados en el formulario coincidan con los de la BD 
            $sql = mysql_query("SELECT usuario_id, usuario_nombre, usuario_clave FROM usuarios WHERE usuario_nombre='".$usuario_nombre."' AND usuario_clave='".$usuario_clave."'"); 
            if($row = mysql_fetch_array($sql)) { 
                $_SESSION['usuario_id'] = $row['usuario_id']; // creamos la sesion "usuario_id" y le asignamos como valor el campo usuario_id 
                $_SESSION['usuario_nombre'] = $row["usuario_nombre"]; // creamos la sesion "usuario_nombre" y le asignamos como valor el campo usuario_nombre 

               echo" <SCRIPT LANGUAGE='javascript'>" . "location.href = 'publioferta.php';" . "</SCRIPT>" ."";
            }else { 
?> 
               
			   
<?php echo"<script language='javascript'>window.location='ocurridounerror.php'</script>"; ?>
<?php 
            } 
        } 
    }else { 
       echo" <SCRIPT LANGUAGE='javascript'>"
                 . "		location.href = 'index.php';"
                 . "		</SCRIPT>"
                 ."";
    } 
?>

 
Es un login, así debería estar:

PHP:
<?php
$sql = mysqli_query($conexion, 'SELECT * FROM usuarios WHERE usuario_nombre = "'.$usuario_nombre.'" AND usuario_clave = "'.md5($usuario_clave).'" ');
if (mysqli_num_rows($sql) == 1){
//Demás códigos
}
?>
 
Lo sustituí por otro código mas simple que tengo. Ahora el error es en la línea 14 XD

PHP:
<?php
    $host_db = "localhost"; // Host de la BD 
    $usuario_db = "root"; // Usuario de la BD 
    $clave_db = ""; // Contraseña de la BD 
    $nombre_db = "prueba"; // Nombre de la BD
    mysql_connect($host_db, $usuario_db, $clave_db); 
    mysql_select_db($nombre_db);

//declaramos como variables a los campos de texto del formulario.
$nombre=$_POST["usuario_nombre"];
$password=$_POST["usuario_clave"];

//Consulta del usuario y el password
$query="SELECT usuario_nombre, usuario_clave FROM add WHERE usuario_nombre="$usuario_nombre' and usuario_clave='$usuario_clave"";
$rs=mysql_query($query); 
$row=mysql_fetch_object($rs); 
$nr = mysql_num_rows($rs); 

//Si existe el usuario lo va a redireccionar a la pagina de Bienvenida.

if($nr == 1){ 
 header ("Location:bienvenido.php"); 

}

//Si no existe lo va a enviar al login otra vez.
else if($nr <= 0) { 
  header("Location:login.html"); 
}   
?>

 

:distant::distant::distant:

PHP:
$query="SELECT usuario_nombre, usuario_clave FROM add WHERE usuario_nombre='".$usuario_nombre."' and usuario_clave='".$usuario_clave."' ";
 
Última edición:
Insertar CODE, HTML o PHP:
Parse error: syntax error, unexpected '$usuario_nombre' (T_VARIABLE) in C:\xampp... on line 14

Gracias por tu paciencia XD

:distant::distant::distant:

PHP:
$query="SELECT usuario_nombre, usuario_clave FROM add WHERE usuario_nombre='"$usuario_nombre"' and usuario_clave='"$usuario_clave"' ";
 
Super bien Compilado en el Blog

Dios le bendiga


felicitaciones Kanikase..!


DosTera, favor se más ordenado en las comillas..!

Exito a ambos..!
 
Insertar CODE, HTML o PHP:
Parse error: syntax error, unexpected '$usuario_nombre' (T_VARIABLE) in C:\xampp... on line 14

Gracias por tu paciencia XD

Ya está XD faltaban los puntos . 😕
 
Ya está XD faltaban los puntos . 😕
What?? :O jajaja XD

- - - Actualizado - - -

Disculpen el re-float, ¡¡pero ya terminé la primera parte de mi primer CMS!!. Por algo es empieza 😀
Gracias por responder a mis dudas.
 
Te recomiendo que utilizes mysqli, mysql esta obsoleto
 
hola DosTera,

te recomendaría echar un vistazo a bind_param de mysql, ya que de esta forma evitarás que te puedan hacer ataques sql injection, en la documentación de php podrás encontrar ejemplos
PHP: mysqli_stmt::bind_param - Manual

espero que te resulte útil! :encouragement: