Pequeña duda en el login sencillo de usuarios en PHP.

Hola amigo como te va.
Siempre has sido el experto que me ha ayudado en mis problemas, pero ahora tengo un problema sencillo que no he podido solucionar.
Mi misión es que crear un mini sistema de registro de usuarios en PHP y MySQL
Te explico:
1) Ya tengo la tabla que necesito en mi base de datos:
______________________________________
CREATE TABLE `pacientes` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(100) NOT NULL,
`tel` VARCHAR(20) NOT NULL,
`cuenta` VARCHAR(10) NOT NULL,
`saldo` VARCHAR(10) NOT NULL,
`proxcita` VARCHAR(20) NOT NULL,
`password` VARCHAR(10) NOT NULL,
`fecha` DATE NOT NULL,
PRIMARY KEY (`id`)
)
______________________________________
Puedo registrar usuarios correctamente mediante un register.php que logre hacer funcionar después de muchos intentos,
pero el problema que tengo es el login de los usuarios.
Solo quiero que se pueda hacer login con un solo campo de formulario con solo tipear el password.
ejemplo:
index.php
_________________________________________
<form action="login.php" method="post">
<input type="password" name="password">
<input type="submit" value="Entrar">
</form>
_________________________________________
Y en el mismo index.php remplazar el formulario de login por el "name", "proxcita", "cuenta" y "saldo" de la persona que acaba de logniarse.
Amigo, como serían los códigos del index.php y el de login.php
Muchísimas gracias.
Saludos!

1 respuesta

Respuesta
1
Antes que nada, creo que deberías garantizar que las contraseñas sean únicas, sino podría darse el caso de que dos usuarios distintos tuvieran la misma y estarías logeando al usuario incorrecto. Te recomiendo que hagas UNIQUE el campo password.
El código del index.php ya lo has escrito correctamente: el formulario con la casilla para la contraseña.
El del login.php debería ser algo como:
<?php
$error="";
if (strlen($_POST["password"]) > 0) {
  $sql = "SELECT * FROM pacientes WHERE password='$_POST[password]'";
  $result = mysql_query($sql);
  if (mysql_num_rows($result) > 0) {
    $paciente = mysql_fetch_assoc($result):
  } else
    $error = "Password incorrecto";
} else
  $error = "Password vacio";
if ($error > "")
    header("Location: index.php");
echo "Bienvenido, usuario $paciente[name]";
?>
Muchísimas gracias amigo, lo del password es cierto, no se me habiía ocurrido XD.
¿Me darías una última ayuda?
Mira, el registro me va a la perfección, el login funciona si se tipea el password correcto, si no, el login no tira ningún error =´(
Pero ahora el index.php no corre bien, cuando doy click para ir al index.php no aparezco identificado, como si no hubiera echo sesión.
Mi index.php esta así:
_______________________________
<?php
session_start();
mysql_connect('localhost','username','pass')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('dbname')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
echo 'Bienvenido, ';
if (isset($_SESSION['name']))
{
echo '<b> $_POST[name] </b>. <br>
<p><a href="logout.php">Cerrar seción</a></p>
';
}
else{
echo '
<a href="registrar.php">Registrar</a>
<br>
<form action="login.php" method="post">
Password: <input type="password" name="password" size="20" maxlength="20" />
<input type="submit" value="Ingresar" />
</form>';
}
?>
__________________________________
Me ayudas:
Mira por favor amigo:
http://foroactivo.fo.funpic.org/prueba
Si pudieras chekar mis archivos para saber cual es mi falla.
FTP
servidor: ftp.foroactivo.fo.funpic.org
Username: foroactivo_02
Password: 12345678
Muchas gracias de antemano.
No encuentro ningún fallo en tus archivos. Parece que funcionan correctamente.
¿Qué es para ti lo que no funciona?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas