Foros del Web » Programando para Internet » PHP »

problema con mysql/php

Estas en el tema de problema con mysql/php en el foro de PHP en Foros del Web. Hola a todos, estoy desarrollando una aplicación de registro de usuarios y en la parte de login, al hacer clic en ingresar, el archivo que ...
  #1 (permalink)  
Antiguo 23/09/2010, 06:29
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
problema con mysql/php

Hola a todos, estoy desarrollando una aplicación de registro de usuarios y en la parte de login, al hacer clic en ingresar, el archivo que valida el usuario no reconoce los datos introducidos en el formulario. ¿Cuál es la parte del codigo que no funciona?

login.php:
Código:
<form action="validar_usuario.php" method="post">
Usuario:<input type="text" name="usuario" size="20" maxlength="20" />
<br />
Password:<input type="password" name="password" size="10" maxlength="10" />
<br />
<input type="submit" value="Ingresar" />
</form>
validar_usuario.php:
Código:
<?php session_start();
//datos para establecer la conexion con la base de mysql.
    mysql_connect('localhost','user','pssw')or die ('Ha fallado la conexión: '.mysql_error());
    mysql_select_db('db')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"]) != "")
{
  
    $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 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
            echo '<a href="index.php">Index</a></p>';
            
        }else{
            echo 'Password incorrecto';
        }
    }else{
        echo 'Usuario no existente en la base de datos';
    }
    mysql_free_result($result);
}else{
    echo 'Debe especificar un usuario y password';
}
mysql_close();
?>
EDIT: quiero decir que imprime el mensaje 'Debe especificar un usuario y password'.
  #2 (permalink)  
Antiguo 23/09/2010, 06:45
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: problema con mysql/php

Bueno lo primero de todo, cuando sea código PHP intenta meterlo entre las etiquetas [ PHP ] y [ /PHP ] ya que de esta manera el código tendrá color según la sintaxis.

Lo segundo es que, no uses $HTTP_POST_VARS['var]', ya que es una opción antigua y desaconsejada, usa $_POST['var'].

De todas maneras veo raro que siempre te salga ese mensaje, voy a probar yo mismo el código y ahora te comento.
  #3 (permalink)  
Antiguo 23/09/2010, 07:00
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Respuesta: problema con mysql/php

El código en si esta bien, exceptuando de $HTTP_POST_VARS pues eso ya esta en desuso como comento 3nr1c, así que sustituyelo por $_POST

1.- Comprueba que en tu base de datos tengas a ese usuario...
2.- Haz un echo a las variables usuario y password para ver si alguna de ellas viene vacía.

Lo digo porque yo acabo de probar tu codigo modificando únicamente las variables usuario y password y me ha funcionado.

Saludos,
  #4 (permalink)  
Antiguo 23/09/2010, 07:05
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: problema con mysql/php

Acabo de probar el código quitando la parte de conexiones etc, y funciona, el código no tiene ningún problema, por lo menos la lógica del código, ifs etc.
  #5 (permalink)  
Antiguo 23/09/2010, 10:49
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema con mysql/php

Si era ese el problema muchas gracias a todos .
  #6 (permalink)  
Antiguo 23/09/2010, 11:38
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema con mysql/php

Y por cierto una cosa más...

En el archivo index.php, hay una función de session_start:

Código PHP:
<?php session_start($sesion);
echo 
'Bienvenido ';
if (isset(
$_SESSION['k_username'])) {
    echo 
'<b>'.$_SESSION['k_username'].'</b>.';
    echo 
'<p><a href="logout.php">Logout</a></p>';
}else{ 
?>
<div align="right" id="cabecera"><?php include('login.php'); ?></div>

<hr>
<?php include('registrar.php'); ?>

<?php }
?>
Pero el navegador imprime este error:

Cita:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\user\index.php:2) in C:\xampp\htdocs\user\index.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\user\index.php:2) in C:\xampp\htdocs\user\index.php on line 2
que quiere decir esto???
  #7 (permalink)  
Antiguo 23/09/2010, 11:40
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: problema con mysql/php

Quiere decir que hay alguna salida en pantalla antes del session_start(), el session_start va al principio de todo, justo en la primera linea, si sigues teniendo ese problema muéstranos el código.
  #8 (permalink)  
Antiguo 23/09/2010, 11:55
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema con mysql/php

Solucionado. Gracias.
  #9 (permalink)  
Antiguo 26/10/2010, 19:21
Avatar de vistas  
Fecha de Ingreso: julio-2007
Mensajes: 3
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: problema con mysql/php

Hola soy novato en mysql, php y javascript tengo una duda, mi lista esta enlazada ami base de datos en mysql, mi javascript si funciona siempre y cuando no este enlazada a mysql no este el php, quiero saber el por que, por favor me pueden ayudar.

<script type="text/javascript" language="javascript" src="validate_bemp.js" >
</script>

<tr>
<td class="texto"><font color="#FF0000">*</font>Telefono:</td>
<td align="left"><input type="text" name="telefono" class="texto_imprime" id="telefono" tabindex="5" title="Introduzca el telefono del empleado" onchange="javascript:this.value=this.value.toUpper Case();" onKeypress="return validar_tel(event)" maxlength="10"/></td>
</tr>

<tr>
<td class="texto"><font color="#FF0000">*</font>Cargo:</td>
<td>

<?php
include ('conexion.php');
echo "<select align='left' name='cargo' id='cargo' class='texto_imprime' tabindex='6' title='Seleccione el cargo del empleado'>";
echo "<option value='0'>Elige el Cargo</option>";

$consulta="Select CARGO from empleado GROUP BY CARGO";
$cursor = mysql_query($consulta,$conexion) ;

while($reg=mysql_fetch_array($cursor)) {
echo $reg[0]."<BR>";
echo "<option value=".$reg[0].">".$reg[0]."</option>";
}
mysql_close($conexion);

echo "</select>";
?>

y mi script es el siguiente:

function validate_be()
{
if(document.alta_empleado.telefono.value.length < 8)
{
longuitud = document.alta_empleado.telefono.value.length;
document.alta_empleado.telefono.setSelectionRange( 0,longuitud);
alert("El Telefono debe de tener por lo menos 8 numeros");
document.alta_empleado.telefono.focus();
return false;
}
else if (document.alta_empleado.cargo.selectedIndex ==0) {
alert("Selecciona la el cargo del empleado");
document.alta_empleado.cargo.focus();
return false;
}
else
{
document.alta_empleado.action='instance_empleado.p hp';
document.alta_empleado.submit();
}
}

---------------------------------------

else if (document.alta_empleado.cargo.selectedIndex ==0) {
alert("Selecciona la el cargo del empleado");
document.alta_empleado.cargo.focus();
return false;
}

Acaso esta mal la condición?, me podrian asesorar por favor

Etiquetas: Ninguno
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:03.