Foros del Web » Programando para Internet » PHP »

Problema en session_start cual es el error

Estas en el tema de Problema en session_start cual es el error en el foro de PHP en Foros del Web. Código PHP: <?php session_start (); echo  'Cuenta de ' ; if (isset( $_SESSION [ 'k_username' ])) { echo  '<b>' . $_SESSION [ 'k_username' ]. '</b>.' ; echo  '<p><a href="logout.php">Cerrar seccion</a></p>' ; } ...
  #1 (permalink)  
Antiguo 16/01/2011, 11:09
 
Fecha de Ingreso: diciembre-2008
Mensajes: 52
Antigüedad: 15 años, 4 meses
Puntos: 0
Problema en session_start cual es el error

Código PHP:
<?php session_start();
echo 
'Cuenta de ';
if (isset(
$_SESSION['k_username'])) {
echo 
'<b>'.$_SESSION['k_username'].'</b>.';

echo 
'<p><a href="logout.php">Cerrar seccion</a></p>';


}
?>
Aqui cuando el usuario ingresa correctamente lo que me sale es esto


Cuenta de (usuario fulano de tal)
Cerrar seccion




pero quiero que me muestre sus datos del usuario ingresado


Código PHP:
<?php
function Conectarse()
{
   if (!(
$link=mysql_connect("localhost","root","root")))
   {
      echo 
"Error conectando a la base de datos.";
      exit();
   }
   if (!
mysql_select_db("base",$link))
   {
      echo 
"Error seleccionando la base de datos.";
      exit();
   }
   return 
$link;
}
$link=Conectarse();
echo 
"Conexión con la base de datos conseguida.<br>";


$result=mysql_query("select * from usuarios",$link); 

?>
Código HTML:
<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
<TR><TD>Codigo</TD></TR> 
Código PHP:
<?php

 
            
while($row mysql_fetch_array($result)) {
              
printf("<TR><TD>%s</TD></TR>"$row["usuario"]);
               }
                
                
mysql_free_result($result);
               
               
mysql_close($link); // cierra la conexion
?>
pero me extrae todos los campos usuarios y solo quiero el de campo del usuario ingresado ahora si le cambio esta parte $row["usuario"] por esta $_SESSION['k_username'] funciona aparentemente aqui el problema es que me extrae como 10 veces el mismo nombre los 10 registros de la base de datos ejemplo




usuario
juanito
juanito
juanito
juanito
juanito
juanito
juanito
juanito
juanito
juanito

Lo que quiero es leer datos del usuario que entre en sección

su nombre
su correo

  #2 (permalink)  
Antiguo 16/01/2011, 11:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema en session_start cual es el error

creo que deberías leer algo básico de consultas, si no especificas alguna condición es obvio que te entregue todos los resultados...
Cita:
SELECT * FROM tabla WHERE id = 99
claro que debes darte la idea, de que la columna id existe, y 99 es el ID del usuario logeado...

(por cierto, nada que ver con el foro de php...)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/01/2011, 11:29
 
Fecha de Ingreso: diciembre-2008
Mensajes: 52
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Problema en session_start cual es el error

Pero es que si le pongo SELECT * FROM tabla WHERE id = 99 solo me arrojara el resultado del usuario # 99 y se supone que este dato mas o menos quedaria asi WHERE id =$_SESSION['k_username'] para que te de los datos del usuario que se ingreso por que si ingresa el usuario que no es 99 y ingresa el 22 y lo programas con WHERE id = 99 al usuario 22 le mostrara los datos del usuario 99


Lee algo de logica evita que te mande a leer un manual de logica

Última edición por helsingius; 16/01/2011 a las 11:32 Razón: Se me olvido que el nacio sabiendo
  #4 (permalink)  
Antiguo 16/01/2011, 11:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema en session_start cual es el error

Cita:
Iniciado por helsingius Ver Mensaje
Pero es que si le pongo SELECT * FROM tabla WHERE id = 99 solo me arrojara el resultado del usuario # 99 y se supone que este dato mas o menos quedaria asi WHERE id =$_SESSION['k_username'] para que te de los datos del usuario que se ingreso por que si ingresa el usuario que no es 99 y ingresa el 22 y lo programas con WHERE id = 99 al usuario 22 le mostrara los datos del usuario 99


Lee algo de logica evita que te mande a leer un manual de logica
bueno, lo que sucede es que el ejemplo te lo tomaste muy textual, lo cual no es...

se supone que claramente debes empelar una condición que maneje tus datos, si en este caso en la sesión ya tienes el ID de usuario los debes usar en lugar del 99, creo que a eso se le dice sentido común... si lo que quieres manejar es el nombre de usuario, o email, o lo que se te da la gana no importa... el concepto es idéntico!!

Código PHP:
session_start();
$valor $_SESSION['el_id_del_usuario_que_inicio_sesion'];
$sql "SELECT * FROM tabla WHERE la_columna_que_desees_comparar = '$valor'"
Edito: se me olvidaba que el sentido común es algo con lo que tampoco se nace...
Cita:
Iniciado por helsingius Ver Mensaje
Lee algo de logica evita que te mande a leer un manual de logica
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 16/01/2011 a las 11:47 Razón: >.<
  #5 (permalink)  
Antiguo 16/01/2011, 12:16
 
Fecha de Ingreso: enero-2011
Mensajes: 13
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Problema en session_start cual es el error

solo para complementar un poco, tu consulta deberia de quedar algo asi:

Código PHP:
$usuario $_SESSION['k_username'];
$sql "SELECT nombre, email FROM tabla WHERE usuario = '$usuario'"
Suponiendo que los campos nombre y email existen en tu tabla.

Cita:
ahora si le cambio esta parte $row["usuario"] por esta $_SESSION['k_username'] funciona aparentemente aqui el problema es que me extrae como 10 veces el mismo nombre los 10 registros de la base de datos
al hacer eso no esta extrayendo 10 veces el mismo nombre sino que estas imprimiendo 10 veces la variable $_SESSION['k_username']

deberías de tomar enserio la recomendación que te dieron de leer sobre como crear consultas, este tipo de consultas son muy basicas.
  #6 (permalink)  
Antiguo 16/01/2011, 17:36
 
Fecha de Ingreso: febrero-2010
Mensajes: 7
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema en session_start cual es el error

Pues si que es muy basico, si tus dudas se te han despejado doy por cerrado el tema. xD
  #7 (permalink)  
Antiguo 16/01/2011, 18:26
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema en session_start cual es el error

Cita:
Lee algo de logica evita que te mande a leer un manual de logica
Pues para la próxima lee el manual de PHP y el de MySQL, haz tu propio código y evita que te los mandemos a leer :)
  #8 (permalink)  
Antiguo 17/01/2011, 22:10
 
Fecha de Ingreso: diciembre-2008
Mensajes: 52
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Problema en session_start cual es el error

Agradesco pateketrueke y nerisw sin embargo la solucion fue el ejemplo de nerisw les agradesco a ambos.
  #9 (permalink)  
Antiguo 17/01/2011, 22:11
 
Fecha de Ingreso: diciembre-2008
Mensajes: 52
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Problema en session_start cual es el error

nerisw Apesar de que eres nuevo usuario se ve que sabes ayudar de justa razon te debo una cuando sea experto si es que llegaras a necesitar otra ves gracias
  #10 (permalink)  
Antiguo 18/01/2011, 01:13
(Desactivado)
 
Fecha de Ingreso: noviembre-2010
Ubicación: Malaga
Mensajes: 225
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Problema en session_start cual es el error

ahh.. que tonteria yo hago siempre un echo de la cookie.

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




La zona horaria es GMT -6. Ahora son las 00:30.