Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consultas mysql siempre erroneas

Estas en el tema de Consultas mysql siempre erroneas en el foro de Mysql en Foros del Web. Lo siento si no me explico muy bien es que soy mas o menos nuevo en esto :( A ver, hago que los usuarios se ...
  #1 (permalink)  
Antiguo 19/11/2011, 19:18
Avatar de hzmen1  
Fecha de Ingreso: abril-2011
Ubicación: España
Mensajes: 11
Antigüedad: 13 años
Puntos: 1
Consultas mysql siempre erroneas

Lo siento si no me explico muy bien es que soy mas o menos nuevo en esto :(

A ver, hago que los usuarios se registren así:

Código PHP:
<div class="title">Registrarse</div>
    <
form action="/insertar.php" method="post" onsubmit="return onSubmitReg();">
        <
div class="demot form">
            <
label for="usuario">Nombre de usuario</label><input type="text" name="usuario" id="usuario" maxlength="25" value="" /><br />
            <
label for="password">Contraseña</label><input type="password" name="password" id="password" /><br />
            <
label for="pass2">Repita la contraseña</label><input type="password" name="pass2" id="pass2" /><br />
            <
label for="email">Tu correo</label><input type="text" name="email" id="email" maxlength="50" value="" /><br /><br />
            <
label for="accept">Acepto <a href='/reglas'>las condiciones</a></label><input style="width: 2%;" type="checkbox" name="accept" id="accept" /><br /><br />
            <
label></label><input type="submit" value="Registrarse" />
        </
div>
    </
form
Luego inserto los datos en la base de datos con insertar.php

Código PHP:
<? 
// Primero comprobamos que ningún campo esté vacío y que todos los campos existan. 
if(isset($_POST['usuario']) && !empty($_POST['usuario']) && 
isset(
$_POST['password']) && !empty($_POST['password']) && 
isset (
$_POST['email']) && !empty($_POST['email'])) { 

// Si entramos es que todo se ha realizado correctamente 

$link mysql_connect("host","base","contraseña");
mysql_select_db("tabla",$link); 

// Con esta sentencia SQL insertaremos los datos en la base de datos 
mysql_query("INSERT INTO usuarios (usuario,password,email) 
VALUES ('{$_POST['usuario']}','{$_POST['password']}','{$_POST['email']}')"
,$link);

// Ahora comprobaremos que todo ha ido correctamente 
$my_error mysql_error($link); 

if(!empty(
$my_error)) { 

echo 
"Ha habido un error al insertar los valores. $my_error"

} else { 

echo 
'<meta http-equiv="refresh" content="0;URL=/inicio-de-sesion.php">'



} else { 

echo 
"Error, no ha introducido todos los datos"



?>
Después recojo los datos en un formulario de inicio: inicio-de-sesion.php
Código PHP:
<div class="title">Iniciar sesión</div>
        <
form action="/sucess.php" method="post" onsubmit="return onSubmitLog();">
            <
div class="demot form">
                <
label for="username">Nombre de usuario</label><input type="text" name="username" id="username" maxlength="25" value="" /><br />
                <
label for="password">Contraseña</label><input type="password" name="password" id="pass" /><br />
                <
br />
                <
label></label><input type="submit" value="Iniciar sesión" /> 
y con sucess.php los envio a la base de datos.

Código PHP:
<?php
session_start
(); //crea la cookie
//datos para establecer la conexion con la base de mysql.
mysql_connect('host','base','contraseña')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('tabla')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function 
quitar($mensaje)
{
    
$nopermitidos = array("'",'\\','<','>',"\"");
    
$mensaje str_replace($nopermitidos""$mensaje);
    return 
$mensaje;
}
if(
trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
    
// Puedes utilizar la funcion para eliminar algun caracter en especifico
    //$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
    //$password = $HTTP_POST_VARS["password"];
    // o puedes convertir los a su entidad HTML aplicable con htmlentities
    
$usuario strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));
    
$password $HTTP_POST_VARS["password"];
    
$result mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
    if(
$row mysql_fetch_array($result)){
        if(
$row["password"] == $password){
            
$_SESSION["k_username"] = $row['usuario'];
            echo 
'<meta http-equiv="refresh" content="0;URL=/inicio.php">';
            echo 
'<meta http-equiv="refresh" content="0;URL=/inicio.php">';
            
//Elimina el siguiente comentario si quieres que re-dirigir automáticamente a inicio.php
            /*Ingreso exitoso, ahora sera dirigido a la pagina principal.
            <SCRIPT LANGUAGE="javascript">
            location.href = "inicio.php";
            </SCRIPT>*/
        
}else{
            echo 
'<p align="center">contraseña incorrecta</p>';
        }
    }else{
        echo 
'<p align="center">usuario incorrecto</p>';
    }
    
mysql_free_result($result);
}else{
    echo 
'<p align="center">no has introducido nada';
}
mysql_close();
?>
El problema es que siempre me dice que los campos están vacios, alguna idea? :S
  #2 (permalink)  
Antiguo 20/11/2011, 04:43
Avatar de hzmen1  
Fecha de Ingreso: abril-2011
Ubicación: España
Mensajes: 11
Antigüedad: 13 años
Puntos: 1
Respuesta: Consultas mysql siempre erroneas

ya encontre el fallo, cierren tema

Etiquetas: login, registro
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 09:46.