Foros del Web » Programando para Internet » PHP »

mostrar usuario en php

Estas en el tema de mostrar usuario en php en el foro de PHP en Foros del Web. buenas tardes amigos tengo una pagina html donde se autentica los usuarios tengo otra pagina que se llama login.php que es la que me hace ...
  #1 (permalink)  
Antiguo 13/02/2008, 14:04
 
Fecha de Ingreso: septiembre-2007
Mensajes: 47
Antigüedad: 16 años, 7 meses
Puntos: 0
mostrar usuario en php

buenas tardes

amigos

tengo una pagina html donde se autentica los usuarios

tengo otra pagina que se llama login.php
que es la que me hace la consulta del usuario y la contraseña en una base datos, para permitir le acceso a otra pagina web.

este es el codigo fuente:


?php
$txtlogin=$_REQUEST['txtlogin'];

$txtpass=$_REQUEST['txtpass'];


$conexion=mysql_connect("localhost","root","") or die("Problemas en la conexion");

mysql_select_db("sisbagir",$conexion) or die("Problemas en la selección de la base de datos");

$registros1=mysql_query("select login, pass from usuario where login ='$txtlogin'",$conexion) or
die("Problemas en el select:".mysql_error());

if (mysql_num_rows($registros1) > 0)
{
$regs=mysql_fetch_array($registros1);
if ($regs['pass'] == $txtpass)
{
$txtlogin=$txtlogin;
header("Location: index12.php");

}
else
{
echo "contraseña no válida :"; }
?>
<p>Contrase&ntilde;a No Validad Por Favor Verifica Su contrase&ntilde;a</p>
<p><a href="index.html">Regrese</a></p>
<p>
<?

}
else { echo "no existe el usuario."; }
mysql_close($conexion);
?>

</p>

la inquietud tiene que ver como hago yo para mostrar el nombre usuario en la tercera pagina

gracias
  #2 (permalink)  
Antiguo 13/02/2008, 14:12
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Re: mostrar usuario en php

Si el nombre de usuario y la contraseña son correcto deberías crear una sesion. Por ejeplo:

Código PHP:
<?php session_start();

$txtlogin=$_REQUEST['txtlogin'];

$txtpass=$_REQUEST['txtpass'];


$conexion=mysql_connect("localhost","root","") or die("Problemas en la conexion");

mysql_select_db("sisbagir",$conexion) or die("Problemas en la selección de la base de datos");

$registros1=mysql_query("select login, pass from usuario where login ='$txtlogin'",$conexion) or
die(
"Problemas en el select:".mysql_error());

if (
mysql_num_rows($registros1) > 0)
{
$regs=mysql_fetch_array($registros1);
if (
$regs['pass'] == $txtpass)
{

$_SESSION["usuario"] = $txtlogin;
session_write_close();

header("Location: index12.php");

}
else
{
echo 
"contraseña no válida :"; }
?>
<p>Contrase&ntilde;a No Validad Por Favor Verifica Su contrase&ntilde;a</p>
<p><a href="index.html">Regrese</a></p>
<p>
<?

}
else { echo 
"no existe el usuario."; }
mysql_close($conexion);
?>

</p>
Y en las otras páginas para saber el nombre del usuario que esta logueado haces:

Código PHP:
<?

session_start
();

$usuario $_SESSION["usuario"];

?>

Luego para hacer un logout:

Código PHP:
<?

session_start
();
session_destroy();

?>


En esta página explican también como hacerlo http://www.desarrolloweb.com/articulos/1007.php

Última edición por hgp147; 13/02/2008 a las 14:21
  #3 (permalink)  
Antiguo 13/02/2008, 15:33
 
Fecha de Ingreso: septiembre-2007
Mensajes: 47
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: mostrar usuario en php

amigo no me funcion ese codigo

tengo tres paginas

la primera se llama index.html

la segunda se llama login.php
en esta es que coloco
session_start();

y la tercera que es en la que quiero mostrar el nombre de usuario se llama index12.php
aqui que es lo que debe colocar
  #4 (permalink)  
Antiguo 13/02/2008, 16:34
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Re: mostrar usuario en php

ARCHIVO LOGIN.PHP

Código PHP:
<? session_start();

$txtlogin=$_REQUEST['txtlogin'];

$txtpass=$_REQUEST['txtpass'];


$conexion=mysql_connect("localhost","root","") or die("Problemas en la conexion");

mysql_select_db("sisbagir",$conexion) or die("Problemas en la selección de la base de datos");

$registros1=mysql_query("select login, pass from usuario where login ='$txtlogin'",$conexion) or
die(
"Problemas en el select:".mysql_error());

if (
mysql_num_rows($registros1) > 0)
{
$regs=mysql_fetch_array($registros1);
if (
$regs['pass'] == $txtpass)
{

$_SESSION["usuario"] = $txtlogin;
session_write_close();

header("Location: index12.php");

}
else
{
echo 
"contraseña no válida :"; }
?>
<p>Contrase&ntilde;a No Validad Por Favor Verifica Su contrase&ntilde;a</p>
<p><a href="index.html">Regrese</a></p>
<p>
<?


}
else { echo 
"no existe el usuario."; }
mysql_close($conexion);
?>

ARCHIVO INDEX12.PHP

Código PHP:
<?

session_start
();

$usuario $_SESSION["usuario"];

if(empty(
$usuario)){ // Verifico si se inicio sesion, de lo contrario me redireccionará al index. 

header("Location: index.html");

}else{

echo 
$usuario;

// Mostras lo que queres

}

?>
  #5 (permalink)  
Antiguo 14/02/2008, 07:05
 
Fecha de Ingreso: septiembre-2007
Mensajes: 47
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: mostrar usuario en php

me saca este error

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Archivos de programa\xampp\htdocs\SICE\index12.php:6) in C:\Archivos de programa\xampp\htdocs\SICE\index12.php on line 206
jpulgarin

pero la palabra que esta en rojo es el usuario
osea que me lo esta mostrando, pero ese error no se a que se debe
  #6 (permalink)  
Antiguo 14/02/2008, 08:01
GPS
 
Fecha de Ingreso: diciembre-2003
Ubicación: Montevideo, Uruguay
Mensajes: 110
Antigüedad: 20 años, 4 meses
Puntos: 0
Re: mostrar usuario en php

me parece que el problema esta en que el session_star() tiene que ir antes de cualquier salida de texto. Prueba poniendo <?php session_start(); ?> en la primera linea de tu pagina, antes del codigo php y/o html
saludos
  #7 (permalink)  
Antiguo 14/02/2008, 13:47
 
Fecha de Ingreso: septiembre-2007
Mensajes: 47
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: mostrar usuario en php

amigo lo que me indicaste me funciono a la perfeccion pero hasta la tercera pagina que es la que contiene el menu de otras paginas,


como haria que lo que me muestra en esa pagina, tambien me lo muestre en las demas paginas que se encuentran el el menu.

como podria yo cerrar la session que cuando le dea atras en la pagina que autentica los usurios no me deje pasar hacia la que contiene el menu
  #8 (permalink)  
Antiguo 14/02/2008, 13:50
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Re: mostrar usuario en php

Para cerrar la sesión:

Crea un archivo que se llame salir.php. Y pega ese código de abajo:

Código PHP:
<?

session_start
();
session_destroy();

?>
En las demás páginas hace un <a href="salir.php">Salir</a>

Fijate en estos links que esta muy bien explicado:

http://www.desarrolloweb.com/articulos/1007.php
http://www.desarrolloweb.com/articulos/1008.php
http://www.desarrolloweb.com/articulos/1009.php
http://www.desarrolloweb.com/articulos/1010.php
http://www.desarrolloweb.com/articulos/1011.php
http://www.desarrolloweb.com/articulos/1012.php


Acá podés ver un ejemplo http://www.desarrolloweb.com/articul...-php/index.php

Última edición por hgp147; 14/02/2008 a las 13:56
  #9 (permalink)  
Antiguo 14/02/2008, 16:04
 
Fecha de Ingreso: septiembre-2007
Mensajes: 47
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: mostrar usuario en php

cuando agrego el codigo para validar el usuario en cada una de las paginas

me saca este error


Bienvenido
Warning: Cannot modify header information - headers already sent by (output started at C:\Archivos de programa\xampp\htdocs\SICE\index12.php:7) in C:\Archivos de programa\xampp\htdocs\SICE\index12.php on line 160


y no me esta redirecionante a la donde debe ingresar de nuevo el usuario
  #10 (permalink)  
Antiguo 14/02/2008, 16:13
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Re: mostrar usuario en php

Para solucionarlo:

Código PHP:
<? session_start(); /// Al principio de todo

$usuario $_SESSION["usuario"];

if(empty(
$usuario)){ // Verifico si se inicio sesion, de lo contrario me redireccionará al index. 

header("Location: index.html");

}else{

echo 
$usuario;

?>


// Solamente poné acá código HTML




<? ?> // Al fina l de todo

Última edición por hgp147; 14/02/2008 a las 16:21
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 13:04.