Foros del Web » Programando para Internet » PHP »

Sistema de autentificación usuarios PHP

Estas en el tema de Sistema de autentificación usuarios PHP en el foro de PHP en Foros del Web. Hola, Tengo la siguiente tabla: Nombre de la tabla: users Campos: id, nick, pass, email - El sistema para añadir usuarios a la base de ...

  #1 (permalink)  
Antiguo 29/09/2010, 10:21
 
Fecha de Ingreso: septiembre-2010
Mensajes: 75
Antigüedad: 13 años, 7 meses
Puntos: 0
Sistema de autentificación usuarios PHP

Hola,

Tengo la siguiente tabla:

Nombre de la tabla: users
Campos: id, nick, pass, email

- El sistema para añadir usuarios a la base de datos ya lo tengo y me funciona perfectamente

Lo que quería és loginarse y autentificar.. no hay ninguna manera de que me salga porfabor espero vuestras respuestas. Grácias

A la hora de loginarse que pida el nick y el pass

Muchas gracias otra vez.
  #2 (permalink)  
Antiguo 29/09/2010, 10:26
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: Sistema de autentificación usuarios PHP

Un ejemplo

solo adapta el ejemplo a tus variables

saludos espero te sirva
__________________
--No todos aprendemos de la misma forma, ni a la misma velocidad---
  #3 (permalink)  
Antiguo 29/09/2010, 10:26
Avatar de vicmx  
Fecha de Ingreso: junio-2008
Ubicación: México
Mensajes: 59
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Sistema de autentificación usuarios PHP

De entrada necesitas un formulario en el que el usuario introduzca sus datos (usuario, contraseña), en tu script php debes comparar estos datos introducidos con los de la base de datos, y si usas algún algoritmo como md5 para codificar las contraseñas tu script debe encriptar el password del usuario para poder ser comparado, posteriormente usar cookies o sesiones de php para mantenerlo ingresado en el sistema, de entrada es lo primero que necesitas.
  #4 (permalink)  
Antiguo 29/09/2010, 10:29
 
Fecha de Ingreso: septiembre-2010
Mensajes: 75
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Sistema de autentificación usuarios PHP

Cita:
Iniciado por zapt142 Ver Mensaje
[URL="http://www.forosdelweb.com/f18/aporte-sistema-registro-reconocimiento-usuario-aporte-561417/"]Un ejemplo[/URL]

solo adapta el ejemplo a tus variables

saludos espero te sirva
No queria exactamente esto sino un formulario que pida user y pass y en el mismo index.php hacer la autentificación normal y si puede ser mostrar su nickname despres de haberse loginado

Todo lo otro ya lo tengo

Te agredezco tu respuesta
  #5 (permalink)  
Antiguo 29/09/2010, 13:11
 
Fecha de Ingreso: septiembre-2010
Mensajes: 75
Antigüedad: 13 años, 7 meses
Puntos: 0
Loginarse en PHP

Hola
Aver si alguien me puede ayudar porfabor
Tengo una tabla llamada users con los siguientes campos:
id, nick, pass y email

Lo que quiero es un formulario de login y en la misma pagina hacer la autentificación y mostrar su nombre de usuario

Osea si se logina bien que muestre Hola user y si la session no está que aparezca el formulario que comenté arriba.

Espero una respuesta y muchas gracias
  #6 (permalink)  
Antiguo 29/09/2010, 13:28
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Loginarse en PHP

Querras decir loguearse no loginarse

y es un sistema de sesiones

checa algo basico como ene ste link http://bloggeandolo.blogspot.com/201...-usuarios.html
  #7 (permalink)  
Antiguo 29/09/2010, 13:38
 
Fecha de Ingreso: septiembre-2010
Mensajes: 75
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Loginarse en PHP

Cita:
Iniciado por memoadian Ver Mensaje
Querras decir loguearse no loginarse

y es un sistema de sesiones

checa algo basico como ene ste link [url]http://bloggeandolo.blogspot.com/2010/02/tutorial-crear-sistema-de-usuarios.html[/url]
Gracias por tu respuesta pero todo esto ya lo tengo solo que no entiendo el
if (!isset($_COOKIE['loggedin']).. el nombre de loggedin de donde sale??

Aver si tienes alguno hecho solo quiero el de autentificación que no me funciona

Todo lo otro ya lo tengo

Gracias
  #8 (permalink)  
Antiguo 29/09/2010, 13:46
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Loginarse en PHP

Bueno eso depende del código que tengas

esta parte que no habia visto por cierto mal por mi

quiere decir que verifica si la cookie existe en realidad prefiero usar $_SESSION

si ya tienes el sistema de sesiones, y no te funciona el form para acceder a tu

cuenta tal vez deberias postear ese código y asi veriamos el fallo, bien podria ser eso

o bien podrias comprobar que llegan todos los datos desde el form, y comprobar tambein que no haya errores en tu script de identificacion del usuario.
  #9 (permalink)  
Antiguo 29/09/2010, 13:46
 
Fecha de Ingreso: septiembre-2010
Mensajes: 75
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Loginarse en PHP

Nadie Me puede ayudar???
  #10 (permalink)  
Antiguo 29/09/2010, 13:47
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Loginarse en PHP

lee lo que deje arriba, si no eres paciente tambein yo dejaré de ayudarte.
  #11 (permalink)  
Antiguo 29/09/2010, 13:58
Avatar de vicmx  
Fecha de Ingreso: junio-2008
Ubicación: México
Mensajes: 59
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Loginarse en PHP

Esto ya lo habías posteado me parece:
http://www.forosdelweb.com/f18/siste...os-php-846279/

Como que me da la impresión de que quieres que alguien te haga el código, pero dudo que lo te lo den así como así, al menos pon algo de lo que llevas trabajado, se te puede orientar mejor para saber cual es el problema.
  #12 (permalink)  
Antiguo 29/09/2010, 14:00
 
Fecha de Ingreso: septiembre-2010
Mensajes: 75
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Loginarse en PHP

Gracias por tu respuesta pero no es el error que tu decis
Te pongo el codigo aver si me puedes ayudar. Gracias

<?
include('config.php');
if(!isset($_SESSION[usuario]) )
{
echo '<form action="index.php" method="POST">
Nick: <input type="text" name="nick" size="30"><br>
Password: <input type="password" name="pass" size="30" ><br>
<input type="submit" name="submit" value="Enviar"></form>';

}else{
echo 'Bienvenido '.$_SESSION[usuario];
echo '<br><a href=logout.php>Salir</a>'; //link para deslogearse, iría a logout.php
}
?>

<?
include('config.php');
if( ($_POST[nick] == ' ') or ($_POST[pass] == ' ') )
{
Header("Location: index.php");
}else{

$usuarios=mysql_query("SELECT * FROM users WHERE nick='$_POST[nick]' and pass='$_POST[pass]' ");
if($user_ok = mysql_fetch_array($usuarios))
{

session_register("usuario");
session_register("idusuario");
$_SESSION[usuario] = $user_ok["nick"]; //damos el nick a la variable usuario
$_SESSION[idusuario] = $user_ok["id"]; //damos la id del user a la variable idusuario

Header("Location: index.php"); //volvemos al login donde nos saldrá nuestro menú de usuario

}else{
echo 'Nick y pass incorrectos';
}

}
?>

Te agredezco tu ayuda
  #13 (permalink)  
Antiguo 29/09/2010, 14:02
 
Fecha de Ingreso: septiembre-2010
Mensajes: 75
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Loginarse en PHP

Cita:
Iniciado por vicmx Ver Mensaje
Esto ya lo habías posteado me parece:
[url]http://www.forosdelweb.com/f18/sistema-autentificacion-usuarios-php-846279/[/url]

Como que me da la impresión de que quieres que alguien te haga el código, pero dudo que lo te lo den así como así, al menos pon algo de lo que llevas trabajado, se te puede orientar mejor para saber cual es el problema.
Hola..
Ya he puesto el codigo que tengo yo pero creo que el error esta aqui:

session_register("usuario");
session_register("idusuario");
$_SESSION[usuario] = $user_ok["nick"]; //damos el nick a la variable usuario
$_SESSION[idusuario] = $user_ok["id"]; //damos la id del user a la variable idusuario
  #14 (permalink)  
Antiguo 29/09/2010, 14:06
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Loginarse en PHP

parece que todo esta bien, pero... que tal si empezamos por lo más básico

cambia esto
Código PHP:
<?
por esto
Código PHP:
<?php
a mi no me funciona ningun codigo php si no lo comienzo bien.

otra cosa

todo lo que va entre corchetes debe llevar comillas

ejemplo

Código PHP:
$_POST['nick'];

$_SESSION['usuario']; 
  #15 (permalink)  
Antiguo 29/09/2010, 14:09
Avatar de vicmx  
Fecha de Ingreso: junio-2008
Ubicación: México
Mensajes: 59
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Loginarse en PHP

Bueno ahí no veo donde inicializas session_start(); pues es importante que lo hagas antes de trabajar con sesiones, debes iniciarla al comienzo de tu script, a lo mejor la inicializas en el config si es así, hazlo hasta arriba siempre y me parece que ya no es necesario que pongas:

session_register("usuario");
session_register("idusuario");


Con estas son suficientes:
$_SESSION[usuario] = $user_ok["nick"]; //damos el nick a la variable usuario
$_SESSION[idusuario] = $user_ok["id"]; //damos la id del user a la variable idusuario
  #16 (permalink)  
Antiguo 29/09/2010, 14:33
 
Fecha de Ingreso: septiembre-2010
Mensajes: 75
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Loginarse en PHP

Hola muchas gracias por vuestras respuestas
Hice todo pero sigue sin funcionar

Al poner el nick y el pass me va index.php pero no me muestra el:

echo 'Bienvenido '.$_SESSION[usuario];
echo '<br><a href=logout.php>Salir</a>';


Me muestra el siguiente error:

Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\index.php:6) in C:\AppServ\www\index.php on line 84

Y en la linia 84 tengo:

Header("Location: index.php");

Gracias otra vez
  #17 (permalink)  
Antiguo 29/09/2010, 14:40
Avatar de vicmx  
Fecha de Ingreso: junio-2008
Ubicación: México
Mensajes: 59
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Loginarse en PHP

La razón de que te marque ese error, es debido a que no puedes poner headers antes de cualquier salida html. Si hay salida html o texto antes de header(... te mandará ese error, debes cambiar la forma en que manejas tus condicionales y no te hagan conflicto.
  #18 (permalink)  
Antiguo 29/09/2010, 14:55
 
Fecha de Ingreso: enero-2009
Ubicación: Neiva, Huila
Mensajes: 196
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Loginarse en PHP

bueno muestra el archivo config.php...session_start() debe ser la primera linea, lo del los headers y el html es cierto...pero ps le puedes dar la vuelta mas facilmente usando

ob_start();

ob_end_flush();
  #19 (permalink)  
Antiguo 29/09/2010, 15:00
 
Fecha de Ingreso: septiembre-2010
Mensajes: 75
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Loginarse en PHP

Muchas Gracias Ahora SÍI
Lo único que me muestra las dos cosas, osea el bienvenido user y el formulario
Yo quiero ke si la session esta activa que muestre beinvenido user y sino pues el formulario para iniciar la session

No sé si me esplico bien..
  #20 (permalink)  
Antiguo 29/09/2010, 15:02
 
Fecha de Ingreso: enero-2009
Ubicación: Neiva, Huila
Mensajes: 196
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Loginarse en PHP

no entiendo ahora si que ? jajajajajaajajaja
  #21 (permalink)  
Antiguo 29/09/2010, 15:08
 
Fecha de Ingreso: septiembre-2010
Mensajes: 75
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Loginarse en PHP

Cita:
Iniciado por naciostars Ver Mensaje
no entiendo ahora si que ? jajajajajaajajaja
Ahora sí que no me da el error de antes pero he cambiado algo el codigo pero este no me muestra nada.. porfabor te pongo el codigo aver si ves algun error.
Gracias

codigo::

<?php
include('config.php');
if(isset($_SESSION['usuario']) )
{
$usuarios=mysql_query("SELECT * FROM users WHERE nick='$_POST[nick]' and pass='$_POST[pass]' ");
if($user_ok=mysql_fetch_array($usuarios))
{
$_SESSION[usuario] = $user_ok["nick"];
$_SESSION[idusuario] = $user_ok["id"];
echo 'Bienvenido '.$_SESSION[usuario];
echo '<br><a href=logout.php>Salir</a>';
}
else {
echo '<form action="index.php" method="POST">
Nick: <input type="text" name="nick" size="30"><br>
Password: <input type="password" name="pass" size="30" ><br>
<input type="submit" name="submit" value="Enviar"></form>';
}

}
?>
  #22 (permalink)  
Antiguo 29/09/2010, 15:34
Avatar de vicmx  
Fecha de Ingreso: junio-2008
Ubicación: México
Mensajes: 59
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Loginarse en PHP

Cita:
Iniciado por web33 Ver Mensaje
Ahora sí que no me da el error de antes pero he cambiado algo el codigo pero este no me muestra nada.. porfabor te pongo el codigo aver si ves algun error.
Gracias

codigo::

<?php
include('config.php');
if(isset($_SESSION['usuario']) )
{
$usuarios=mysql_query("SELECT * FROM users WHERE nick='$_POST[nick]' and pass='$_POST[pass]' ");
if($user_ok=mysql_fetch_array($usuarios))
{
$_SESSION[usuario] = $user_ok["nick"];
$_SESSION[idusuario] = $user_ok["id"];
echo 'Bienvenido '.$_SESSION[usuario];
echo '<br><a href=logout.php>Salir</a>';
}
else {
echo '<form action="index.php" method="POST">
Nick: <input type="text" name="nick" size="30"><br>
Password: <input type="password" name="pass" size="30" ><br>
<input type="submit" name="submit" value="Enviar"></form>';
}

}
?>
Lo que dice ahí, es que si existe $_SESSION['usuario'] va a entrar a la consulta sql y si no al formulario, siempre y cuando $_SESSION['usuario'] exista.
  #23 (permalink)  
Antiguo 29/09/2010, 16:13
 
Fecha de Ingreso: septiembre-2010
Mensajes: 75
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Loginarse en PHP

Porfabor necesito ayuda.. lo estoy probando de todas las formas pero no puedo

al final he separao el codigo en 2 paginas pero NADA

Porfabor si sabes como solucionar esto ayudame please te lo agredezco mucho

Los dos codigos son:

index.php
<?php
include('config.php');
if(!isset($_SESSION['usuario']) )
{
echo '<form action="auten.php" method="POST">
Nick: <input type="text" name="nick" size="30"><br>
Password: <input type="password" name="pass" size="30" ><br>
<input type="submit" name="submit" value="Enviar"></form>';

}else{
echo 'Bienvenido '.$_SESSION[usuario];
echo '<br><a href=logout.php>Salir</a>';
}
?>

auten.php
<?php
include('config.php');
if( ($_POST[nick] == "") or ($_POST[pass] == "") )
{
echo "llena todos campsss";
}
else{

$usuarios=mysql_query("SELECT * FROM users WHERE nick='$_POST[nick]' and pass='$_POST[pass]' ");
if($user_ok = mysql_fetch_array($usuarios))
{
$_SESSION[usuario] = $user_ok["nick"];
$_SESSION[idusuario] = $user_ok["id"];

print "<meta http-equiv=Refresh content=\"2 ; url=index.php\">";

}else{
echo 'Nick y pass incorrectos';
}
}
?>


Porfabor espero tu respuesta
  #24 (permalink)  
Antiguo 29/09/2010, 16:42
 
Fecha de Ingreso: mayo-2008
Mensajes: 9
Antigüedad: 16 años
Puntos: 0
Respuesta: Loginarse en PHP

Pega tu config.php
Y puede quedarte algo así tu código:

Código PHP:
Ver original
  1. <?php
  2. include('config.php');
  3. if(!isset($_SESSION['usuario']) ) {
  4. ?>
  5. <form action="auten.php" method="POST">
  6. Nick: <input type="text" name="nick" size="30" /><br />
  7. Password: <input type="password" name="pass" size="30" /><br />
  8. <input type="submit" name="submit" value="Enviar" />
  9. </form>
  10. <?php
  11. if (isset ($_GET['err'] && !empty ($_GET['err'])) {
  12. ?>
  13. <script type="text/JavaScript">alert('Los datos no son correctos, intenta de nuevo');</script>
  14. <php
  15. }
  16. }else{
  17. ?>
  18. Bienvenido <?php echo $_SESSION[usuario]; ?> <br />
  19. <a href=logout.php>Salir</a>
  20. <?php
  21. }

Código PHP:
Ver original
  1. <?php
  2. include('config.php');
  3. if( ($_POST['nick'] == "") || ($_POST['pass'] == "") ) {
  4. ob_clean(); // Esto limpia lo enviado y lo borra
  5. header ('location: index.php?err=1');
  6. exit();
  7. } else {
  8. $usuarios=mysql_query("SELECT * FROM users WHERE nick='$_POST[nick]' and pass='$_POST[pass]' ");
  9. if($user_ok = mysql_fetch_array($usuarios)) {
  10. $_SESSION['usuario'] = $user_ok["nick"];
  11. $_SESSION['idusuario'] = $user_ok["id"];
  12.  
  13. header('location: index.php');
  14. exit();
  15. }else{
  16. header ('location: index.php?err=1');
  17. exit();
  18. }
  19. }

Al hacer los redirect con PHP y al redirigir al index evitas que el usuario tenga que dar click en su navegador en atrás

Lee acerca de estándares web y de estándares en PHP. Sigue lo que dice

[URL="http://framework.zend.com/manual/en/coding-standard.html"]El manual de los creadores de PHP[/URL]

Los que lo inventaron son los mejores para decirte cómo usar su código
  #25 (permalink)  
Antiguo 29/09/2010, 17:18
 
Fecha de Ingreso: septiembre-2010
Mensajes: 75
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Loginarse en PHP

Cita:
Iniciado por citosid Ver Mensaje
Pega tu config.php
Y puede quedarte algo así tu código:

Código PHP:
Ver original
  1. <?php
  2. include('config.php');
  3. if(!isset($_SESSION['usuario']) ) {
  4. ?>
  5. <form action="auten.php" method="POST">
  6. Nick: <input type="text" name="nick" size="30" /><br />
  7. Password: <input type="password" name="pass" size="30" /><br />
  8. <input type="submit" name="submit" value="Enviar" />
  9. </form>
  10. <?php
  11. if (isset ($_GET['err'] && !empty ($_GET['err'])) {
  12. ?>
  13. <script type="text/JavaScript">alert('Los datos no son correctos, intenta de nuevo');</script>
  14. <php
  15. }
  16. }else{
  17. ?>
  18. Bienvenido <?php echo $_SESSION[usuario]; ?> <br />
  19. <a href=logout.php>Salir</a>
  20. <?php
  21. }

Código PHP:
Ver original
  1. <?php
  2. include('config.php');
  3. if( ($_POST['nick'] == "") || ($_POST['pass'] == "") ) {
  4. ob_clean(); // Esto limpia lo enviado y lo borra
  5. header ('location: index.php?err=1');
  6. exit();
  7. } else {
  8. $usuarios=mysql_query("SELECT * FROM users WHERE nick='$_POST[nick]' and pass='$_POST[pass]' ");
  9. if($user_ok = mysql_fetch_array($usuarios)) {
  10. $_SESSION['usuario'] = $user_ok["nick"];
  11. $_SESSION['idusuario'] = $user_ok["id"];
  12.  
  13. header('location: index.php');
  14. exit();
  15. }else{
  16. header ('location: index.php?err=1');
  17. exit();
  18. }
  19. }

Al hacer los redirect con PHP y al redirigir al index evitas que el usuario tenga que dar click en su navegador en atrás

Lee acerca de estándares web y de estándares en PHP. Sigue lo que dice

[URL="http://framework.zend.com/manual/en/coding-standard.html"]El manual de los creadores de PHP[/URL]

Los que lo inventaron son los mejores para decirte cómo usar su código
hola.. Te agredezco mucho tu respuesta pero por empezar ya me muestra un error:

Parse error: syntax error, unexpected T_BOOLEAN_AND, expecting ',' or ')' in C:\AppServ\www\index.php on line 68

Espero que me puedas ayudar.. Muchas gracias.

Ah en la liea 68 hay esto:

67 <?php
68 if (isset ($_GET['err'] && !empty ($_GET['err'])) {
69 ?>
70 <script type="text/JavaScript">alert('Los datos no son correctos, intenta de nuevo');</script>
<?php
  #26 (permalink)  
Antiguo 29/09/2010, 17:20
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Loginarse en PHP

Cita:
Iniciado por web33 Ver Mensaje
Porfabor necesito ayuda.. lo estoy probando de todas las formas pero no puedo

al final he separao el codigo en 2 paginas pero NADA

Porfabor si sabes como solucionar esto ayudame please te lo agredezco mucho

Los dos codigos son:

index.php
<?php
include('config.php');
if(!isset($_SESSION['usuario']) )
{
echo '<form action="auten.php" method="POST">
Nick: <input type="text" name="nick" size="30"><br>
Password: <input type="password" name="pass" size="30" ><br>
<input type="submit" name="submit" value="Enviar"></form>';

}else{
----------------------->>>>>>> echo 'Bienvenido '.$_SESSION[usuario];
echo '<br><a href=logout.php>Salir</a>';
}
?>

auten.php
<?php
include('config.php');
if( ($_POST[nick] == "") or ($_POST[pass] == "") )
{
echo "llena todos campsss";
}
else{

$usuarios=mysql_query("SELECT * FROM users WHERE nick='$_POST[nick]' and pass='$_POST[pass]' ");
if($user_ok = mysql_fetch_array($usuarios))
{
$_SESSION[usuario] = $user_ok["nick"];
$_SESSION[idusuario] = $user_ok["id"];

print "<meta http-equiv=Refresh content=\"2 ; url=index.php\">";

}else{
echo 'Nick y pass incorrectos';
}
}
?>


Porfabor espero tu respuesta

$_SESSION[usuario] no existe deberia ser $_SESSION['usuario']
  #27 (permalink)  
Antiguo 29/09/2010, 17:21
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Loginarse en PHP

web33, que tanto conocimiento tienes de PHP?

Todas las funciones donde no se cierren parentesis correctamente te daran ese tipo de error:
isset(variable) <---- Esto falta!
__________________
- León, Guanajuato
- GV-Foto
  #28 (permalink)  
Antiguo 29/09/2010, 17:26
 
Fecha de Ingreso: septiembre-2010
Mensajes: 75
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Loginarse en PHP

Cita:
Iniciado por Triby Ver Mensaje
web33, que tanto conocimiento tienes de PHP?

Todas las funciones donde no se cierren parentesis correctamente te daran ese tipo de error:
isset(variable) <---- Esto falta!
Muchas gracias amigo
Era esto que no me habia fijado
Este es el primer año que he estudiado algo de php solo sé lo basico
muchas gracias
  #29 (permalink)  
Antiguo 29/09/2010, 17:28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 75
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Loginarse en PHP

Cita:
Iniciado por citosid Ver Mensaje
Pega tu config.php
Y puede quedarte algo así tu código:

Código PHP:
Ver original
  1. <?php
  2. include('config.php');
  3. if(!isset($_SESSION['usuario']) ) {
  4. ?>
  5. <form action="auten.php" method="POST">
  6. Nick: <input type="text" name="nick" size="30" /><br />
  7. Password: <input type="password" name="pass" size="30" /><br />
  8. <input type="submit" name="submit" value="Enviar" />
  9. </form>
  10. <?php
  11. if (isset ($_GET['err'] && !empty ($_GET['err'])) {
  12. ?>
  13. <script type="text/JavaScript">alert('Los datos no son correctos, intenta de nuevo');</script>
  14. <php
  15. }
  16. }else{
  17. ?>
  18. Bienvenido <?php echo $_SESSION[usuario]; ?> <br />
  19. <a href=logout.php>Salir</a>
  20. <?php
  21. }

Código PHP:
Ver original
  1. <?php
  2. include('config.php');
  3. if( ($_POST['nick'] == "") || ($_POST['pass'] == "") ) {
  4. ob_clean(); // Esto limpia lo enviado y lo borra
  5. header ('location: index.php?err=1');
  6. exit();
  7. } else {
  8. $usuarios=mysql_query("SELECT * FROM users WHERE nick='$_POST[nick]' and pass='$_POST[pass]' ");
  9. if($user_ok = mysql_fetch_array($usuarios)) {
  10. $_SESSION['usuario'] = $user_ok["nick"];
  11. $_SESSION['idusuario'] = $user_ok["id"];
  12.  
  13. header('location: index.php');
  14. exit();
  15. }else{
  16. header ('location: index.php?err=1');
  17. exit();
  18. }
  19. }

Al hacer los redirect con PHP y al redirigir al index evitas que el usuario tenga que dar click en su navegador en atrás

Lee acerca de estándares web y de estándares en PHP. Sigue lo que dice

[URL="http://framework.zend.com/manual/en/coding-standard.html"]El manual de los creadores de PHP[/URL]

Los que lo inventaron son los mejores para decirte cómo usar su código
el formulario todo bien pero me da el error este del header:

Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\auten.php:1) in C:\AppServ\www\auten.php on line 15

en la linia 15:

header('location: index.php');
  #30 (permalink)  
Antiguo 29/09/2010, 17:37
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Loginarse en PHP

El mensaje te dice que el error se genero en la linea 15, porque en la linea 1 de ese mismo archivo ya enviaste un espacio, un salto de linea, algun caracter... asegurate de que auten.php inicie especificamente con <?php y que no tengas algun echo, print, o similares.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: usuarios, sitemap
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 05:07.