Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problemas con sesion de usuario

Estas en el tema de Problemas con sesion de usuario en el foro de PHP en Foros del Web. Nuevamente por aqui, esta vez con un problema de sesión, verán tengo un formulario y quiero que al momento de almacenar el formulario se registre ...
  #1 (permalink)  
Antiguo 31/05/2015, 21:45
 
Fecha de Ingreso: julio-2013
Mensajes: 123
Antigüedad: 10 años, 9 meses
Puntos: 1
Problemas con sesion de usuario

Nuevamente por aqui, esta vez con un problema de sesión, verán tengo un formulario y quiero que al momento de almacenar el formulario se registre también el usuario logueado en ese momento.

Código PHP:
Ver original
  1. <?php session_start();
  2. $_SESSION['apellido'];
  3. $_SESSION['nombre'];
  4. $_SESSION['profesion'];
  5. if (isset ($_SESSION['username'])){    
  6. } else{
  7. header("Location: ../index.php?errorusuario=si");}
  8. if($_SESSION['tipo']!="1") {
  9.     header('location: ../index.php');
  10. }
  11. ?>

De esta forma coloco llos datos del usuario logueado al final de mi formulario

Código PHP:
Ver original
  1. <?php echo '<strong>'.htmlentities($_SESSION['profesion']).' '.htmlentities($_SESSION['apellido']).' '.htmlentities($_SESSION['nombre']).'</strong>';?>

como puedo hacer que a lmomento de almacenar los datos del formulario se envíen los datos del usuario logueado en ese momento.
  #2 (permalink)  
Antiguo 01/06/2015, 02:00
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 12 años, 11 meses
Puntos: 261
Respuesta: Problemas con sesion de usuario

Hola keivis,

En teoría eso sobraría, otra cosa es que se lo quieras mostrar al usuario en un formulario. Pero si lo que quieres es guardar los datos del formulario, y a modo de registro interno, los datos del usuario que ha realizado la acción, lo único que debes hacer es meter en la acción de guardar los datos del usuario.

La sesión "en teoría es persistente", por lo tanto puedes recoger esos datos en cualquier parte del proceso.
Código PHP:
INSERT INTO nombreTabla VALUES ($_POST['dato1'], $_POST['dato2'], $_SESSION['usuario'], $_SESSION /*...*/)
Solo necesitarás un campo específico para cada registro...

Si aún así, lo quieres enviar como parte del formulario
Código PHP:
<input type="hidden" name="usuario" value="<?php echo $_SESSION['usuario']; ?>">
Saludos,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #3 (permalink)  
Antiguo 01/06/2015, 15:22
 
Fecha de Ingreso: julio-2013
Mensajes: 123
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Problemas con sesion de usuario

Lo tengo así
Código PHP:
Ver original
  1. <?php echo '<strong>'.htmlentities($_SESSION['profesion']).' '.htmlentities($_SESSION['apellido']).' '.htmlentities($_SESSION['nombre']).'</strong>';?> <

Lo coloco al momento de insertar así pero me da error

Código PHP:
Ver original
  1. $sql = "INSERT INTO reg_paciente values('$ce_paciente','$ape_paciente','$nom_paciente','$edad_paciente','$sexo_paciente','$diag_paciente','$fec_con_paciente','$hora','$paciente_status','$observacion_paciente','$_SESSION['usuario']')";

Agradezco tu ayuda.
  #4 (permalink)  
Antiguo 01/06/2015, 15:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problemas con sesion de usuario

Cita:
Lo coloco al momento de insertar así pero me da error
Esa sintaxis que utilizas tiene problemas de comillas.

Por favor lee el siguiente tutorial: http://www.forosdelweb.com/f18/como-...s-bien-588701/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 01/06/2015, 19:17
 
Fecha de Ingreso: julio-2013
Mensajes: 123
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Problemas con sesion de usuario

Hola, he colocado las comillas de mil y una forma y no logro que me ejecute lo que quiero.
  #6 (permalink)  
Antiguo 01/06/2015, 20:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problemas con sesion de usuario

Cita:
Iniciado por keivis Ver Mensaje
Hola, he colocado las comillas de mil y una forma y no logro que me ejecute lo que quiero.
¿Tantas? No digas falacias.

No te creo, sólo se pueden combinar ciertas formas, no miles de ellas.

¿Y si mejor muestras todas las formas en que lo has intentado para orientarte al respecto?

Vamos, que sería fácil darte el código ya hecho pero tu no quieres eso: tu buscas aprender ¿o me equivoco?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 02/06/2015, 01:14
Avatar de fbedia  
Fecha de Ingreso: julio-2010
Mensajes: 159
Antigüedad: 13 años, 9 meses
Puntos: 8
Respuesta: Problemas con sesion de usuario

Bueno, a parte de las comillas que esta claro que estan mal... yo probaria tambien la SQL directamente en BD.

Opino que es mejor especificar los campos donde vas a insertar... porsiacaso algun dia cambia tu estructura de tabla. Algo asi:

Código PHP:
Ver original
  1. $sql = "INSERT INTO (campo1, campo2, campo3) VALUES ('$campo1', '$campo2','".$_SESSION['campo3']."')";
  2.  
  3. if(mysqli_query($link,$sql)) {
  4. echo "datos guardados";
  5. } else
  6. {
  7. echo "Error: ".mysqli_error($link);
  8. }


Saludos.
__________________
Follow me on twitter @franbedia
  #8 (permalink)  
Antiguo 02/06/2015, 04:06
Avatar de zalito12  
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 12 años, 5 meses
Puntos: 67
Respuesta: Problemas con sesion de usuario

Cogiendo el código de fbedia
Código PHP:
Ver original
  1. $sql = "INSERT INTO (campo1, campo2, campo3) VALUES ('".$campo1."', '".$campo2."','".$_SESSION['campo3']."')";
Esa es la mejor forma de colocar las comillas para una consulta.
__________________
Dicen que las personas piensan en su lengua materna, yo lo hago en PHP

Etiquetas: formulario, html, usuario
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 01:52.