Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Guardar usuario Creador en Base de datos

Estas en el tema de Guardar usuario Creador en Base de datos en el foro de PHP en Foros del Web. Buen dia compañeros del Foro, el dia de hoy tengo una pequeña duda con respecto a Php y Mysql, la duda trata que en el ...
  #1 (permalink)  
Antiguo 23/02/2016, 15:08
 
Fecha de Ingreso: febrero-2016
Mensajes: 14
Antigüedad: 8 años, 2 meses
Puntos: 0
Guardar usuario Creador en Base de datos

Buen dia compañeros del Foro, el dia de hoy tengo una pequeña duda con respecto a Php y Mysql, la duda trata que en el momento de la creacion de un nuevo usuario para el sistema se guarde en la base de datos quien fue el que creo este usuario con la variable de su sesion iniciada asi se evitaria que se hiciera fraude o una mala manipulacion de la informacion. Gracias de antemano y feliz dia.
  #2 (permalink)  
Antiguo 23/02/2016, 15:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Guardar usuario Creador en Base de datos

Pues ya te respondiste sólo: "con la variable de sesión".

¿Exactamente cual es el problema entonces?

No entiendo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/02/2016, 15:20
 
Fecha de Ingreso: febrero-2016
Mensajes: 14
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Guardar usuario Creador en Base de datos

Gracias por responder, si esa es la idea, solo que he probado en como ingresarla con la variable de la session automaticamente sin necesidad que toque llenarla en el formulario de registro pero aun asi me pide el campo
  #4 (permalink)  
Antiguo 23/02/2016, 15:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Guardar usuario Creador en Base de datos

Bueno, pues si quieres platicamos todo el día, pero sería mejor si comienzas a mostrar algo de código porque sin eso es imposible seguirte el hilo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 23/02/2016, 15:28
 
Fecha de Ingreso: febrero-2016
Mensajes: 14
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Guardar usuario Creador en Base de datos

Código PHP:
Ver original
  1. <?php
  2.  
  3. $usuario = ($_SESSION["user_username"];
  4.  
  5. $username=$_POST['username'];
  6. $codigo_perfil =$_POST['codigo_perfil'];
  7. $Estado=$_POST['Estado'];
  8. $Usuario_creacion=$usuario;
  9.  
  10.  
  11. $servidor="localhost";
  12. $usuario="root";
  13. $password="";
  14. $bd="pagina";
  15.  
  16. $conectar= new mysqli($servidor,$usuario,$password,$bd) or die("no se pudo conectar con el servidor");
  17. $conexion = $conectar;
  18. $consulta= "INSERT INTO `perfiles_usuario`(`codigo_perfil`,`username`,`Estado`, `Usuario_creacion`)
  19. VALUES ('$codigo_perfil','$username','$Estado','$Usuario_creacion')";
  20. $ejecutar_consulta = $conexion->query(utf8_encode($consulta));
  21. if($ejecutar_consulta)

No ingresa el dato aun con la variable, y perdona si suele paracer muy novato ese codigo estoy en inicios, espero algun dia poder mis conocimientos
  #6 (permalink)  
Antiguo 23/02/2016, 15:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Guardar usuario Creador en Base de datos

¿Y en qué momento cargas la sesión con session_start() eh?

Recuerda que para poder leer/escribir variables en sesión es obligatorio.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 23/02/2016, 15:31
 
Fecha de Ingreso: febrero-2016
Mensajes: 14
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Guardar usuario Creador en Base de datos

Código PHP:
Ver original
  1. <?php
  2. if(!isset($_SESSION["user_username"]) || $_SESSION["user_username"]==null){
  3. print "<script>alert(\"Acceso invalido!\");window.location='login.php';</script>";
  4. }
  5. ?>
  6. <?php
  7.  
  8. $usuario = ($_SESSION["user_username"];
  9.  
  10. $username=$_POST['username'];
  11. $codigo_perfil =$_POST['codigo_perfil'];
  12. $Estado=$_POST['Estado'];
  13. $Usuario_creacion=$usuario;
  14.  
  15.  
  16. $servidor="localhost";
  17. $usuario="root";
  18. $password="";
  19. $bd="pagina";
  20.  
  21. $conectar= new mysqli($servidor,$usuario,$password,$bd) or die("no se pudo conectar con el servidor");
  22. $conexion = $conectar;
  23. $consulta= "INSERT INTO `perfiles_usuario`(`codigo_perfil`,`username`,`Estado`, `Usuario_creacion`)
  24. VALUES ('$codigo_perfil','$username','$Estado','$Usuario_creacion')";
  25. $ejecutar_consulta = $conexion->query(utf8_encode($consulta));
  26. if($ejecutar_consulta){
  27. echo"<script> alert ('datos insertados');</script>";
  #8 (permalink)  
Antiguo 23/02/2016, 15:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Guardar usuario Creador en Base de datos

Bien, entonces me imagino que la sesión es correcta.

¿Si ves el error de sintaxis en esta linea?

Código PHP:
Ver original
  1. $usuario = ($_SESSION["user_username"];

Además sería bueno que nos platiques cómo es que se ejecuta el script y los resultados que obtienes.

También podrías imprimir la consulta antes de ejecutarla para ver si van bien los datos.

¿Podrías mostrar los resultados?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 23/02/2016, 15:38
 
Fecha de Ingreso: febrero-2016
Mensajes: 14
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Guardar usuario Creador en Base de datos

Claro como no puder darme cuenta de ese error de sintaxis.. Novatada mia Vale los resultados que me arroja son los valores que e puesto en el formulario pero no toma la sesion.
Código PHP:
Ver original
  1. echo"<script> alert ('datos insertados');</script>";
  2.  
  3.    echo'ha registrado la siguiente orden:';
  4.    
  5.   echo'<br><br>';
  6.   echo'codigo_perfil: '.$codigo_perfil;
  7.   echo'<br>';
  8.   echo'username: '.$username;
  9.   echo'<br>';
  10.   echo'Estado: '.$Estado;
  11.   echo'<br>';
  12.   echo'Usuario_creacion:' .$Usuario_creacion;
  13.   echo'<br>';
Sabes Gracias estoy viendo muchas incongruencias en mi codigo, voy a arreglarlas y te comento que ha pasado gracias por tu ayuda
  #10 (permalink)  
Antiguo 24/02/2016, 10:32
 
Fecha de Ingreso: febrero-2016
Mensajes: 14
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Guardar usuario Creador en Base de datos

No, la consulta se ejecuta normalmente pero no sube el usuario que creo a el nuevo usuario, ya he corregido el codigo y mirado otra posible manera pero sin resultados .. Algun consejo muchas gracias

Codigo:
Código PHP:
Ver original
  1. <?php
  2. if(!isset($_SESSION["user_username"]) || $_SESSION["user_username"]==null){
  3. print "<script>alert(\"Acceso invalido!\");window.location='login.php';</script>";
  4. }
  5. ?>
  6. <?php
  7.  
  8. $usuario = ($_SESSION["user_username"]);
  9.  
  10. $Nombre=$_POST['Nombre'];
  11. $Apellidos=$_POST['Apellidos'];
  12. $username=$_POST['username'];
  13. $password=$_POST['password'];
  14. $Estado=$_POST['Estado'];
  15. $cargo=$_POST['cargo'];
  16. $departamento=$_POST['departamento'];
  17. $usuario_creacion=$_POST['$usuario'];
  18.  
  19. $encriptar = ($password);
  20.  
  21. $servidor="localhost";
  22. $usuario="root";
  23. $password="";
  24. $bd="pagina";
  25.  
  26. $conectar= new mysqli($servidor,$usuario,$password,$bd) or die("no se pudo conectar con el servidor");
  27. $conexion = $conectar;
  28. $consulta= "INSERT INTO `usuario`(`Nombre`, `Apellidos`, `username`, `password`,`Estado`, `cargo`, `departamento`)
  29. VALUES ('$Nombre','$Apellidos','$username','$encriptar','$Estado','$cargo','$departamento','$usuario_creacion')";
  30. $ejecutar_consulta = $conexion->query(utf8_encode($consulta));
  31. if($ejecutar_consulta){
  32.    
  33.    
  34.  echo"<script> alert ('datos insertados');</script>";
  35.  
  36.    echo'ha registrado la siguiente orden:';
  37.    
  38.   echo'<br><br>';
  39.   echo'Nombre: '.$Nombre;
  40.   echo'<br>';
  41.   echo'Apellidos: '.$Apellidos;
  42.   echo'<br>';
  43.   echo'username: '.$username;
  44.   echo'<br>';
  45.   echo'Estado: '.$Estado;
  46.   echo'<br>';
  47.   echo'cargo: '.$cargo;
  48.   echo'<br>';
  49.   echo'departamento: '.$departamento;
  50.   echo'<br>';
  51.  
  52.  echo'<a href="http://www.forosdelweb.com/f18/usuarios.php">volver</a>';      
  53. }
  54. else
  55.  echo "No se pudo insertar los datos". (mysql_error());
  56. ?>

Y el mensaje de error es:
Código PHP:
Ver original
  1. Notice: Undefined index: $usuario in C:\xampp\htdocs\Mostrar menu\php\Re.php on line 18

Tengo entendido que este mensaje de error es por que no reconoce esta variable. Gracias de antemano a quien responde

Última edición por Mohocritical; 24/02/2016 a las 10:38
  #11 (permalink)  
Antiguo 24/02/2016, 10:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Guardar usuario Creador en Base de datos

¿Entonces sí sabes lo que esto significa?
Código PHP:
Ver original
  1. $_POST['$usuario']

Porque eso implicaría que exista un campo así:
Código HTML:
Ver original
  1. <input name="$usuario">

Es decir, si $usuario lo obtienes de la sesión ¿porqué intentas usar $_POST entonces?

Código PHP:
Ver original
  1. // MAL
  2. $usuario_creacion=$_POST['$usuario'];
  3.  
  4. // BIEN
  5. $usuario_creacion=$usuario;

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 24/02/2016, 10:52
 
Fecha de Ingreso: febrero-2016
Mensajes: 14
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Guardar usuario Creador en Base de datos

Muchas Gracias, ya con esto voy a probarlo hasta que me de y me guiare por el manual, Saludos
  #13 (permalink)  
Antiguo 24/02/2016, 11:51
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 9 meses
Puntos: 263
Respuesta: Guardar usuario Creador en Base de datos

una pregunta no hay ningun espacio en blanco ni codigo html encima de session_start()??? esto porque tambien da errores de sesion si tiene algo encima, bueno en ocaciones, otra cosa, has probado imprimir la variable de sesion para ver que te muestra o si se esta creando???

El codigo donde creas la sesion donde esta??? para ser analizado en todo caso
__________________
[email protected]
HITCEL
  #14 (permalink)  
Antiguo 24/02/2016, 13:01
 
Fecha de Ingreso: febrero-2016
Mensajes: 14
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Guardar usuario Creador en Base de datos

Hola @xfxstudios No, no hay espacios en blanco por encima del session_star() ya tuve un problema con eso y por suerte mis compañeros se dieron cuenta, con respecto a saber si la variable del user_name esta siendo imprimida es Si, en el inicio del sistema se da la bienvenida
Código PHP:
Ver original
  1. <h1 align="center">Bienvenido/a</h1>
  2. <span><?php echo $_SESSION['user_username'];?></span>
y ha corrido sin ningun problema, aun sigo intentando que el usuario se suba a la BD, creo que es question de paciencia y analizar una y otra ves hasta dar con la respuesta, Saludos
  #15 (permalink)  
Antiguo 24/02/2016, 17:47
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 9 meses
Puntos: 263
Respuesta: Guardar usuario Creador en Base de datos

otra cosa porque en la query de insersion dice que hay 7 campos en la tabla y en las variables hay 8????? y casulamente el numero 8 es el usuario de inserción


Código PHP:
Ver original
  1. //ASI ESTA
  2.  
  3. $consulta= "INSERT INTO `usuario`(`Nombre`, `Apellidos`, `username`, `password`,`Estado`, `cargo`, `departamento`)
  4. VALUES ('$Nombre','$Apellidos','$username','$encriptar','$Estado','$cargo','$departamento','$usuario_creacion')";
  5.  
  6. //ASI DEBERIA DE ESTAR
  7. $consulta= "INSERT INTO `usuario`(`Nombre`, `Apellidos`, `username`, `password`,`Estado`, `cargo`, `departamento`, `usuario_crea`)
  8. VALUES ('$Nombre','$Apellidos','$username','$encriptar','$Estado','$cargo','$departamento','$usuario_creacion')";

es decir en el primer bloque falta el campo del usuario que crea para que el sistema sepa que alli tiene que insertar esa variable
__________________
[email protected]
HITCEL
  #16 (permalink)  
Antiguo 25/02/2016, 07:03
 
Fecha de Ingreso: febrero-2016
Mensajes: 14
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Guardar usuario Creador en Base de datos

Si casualmente fue uno de tantos errores que se me pasaron en el momento que subi el codigo, pero ya todo esta arreglado y corriendo, Muchas gracias por su ayuda chicos ojala algun dia pueda colaborar en el foro como ustedes de paso el Query
Código PHP:
Ver original
  1. $consulta= "INSERT INTO `usuario`(`Nombre`, `Apellidos`, `username`, `password`,`Estado`, `cargo`, `departamento`, `usuario_creacion`, `usuario_modificacion`)
  2. VALUES ('$Nombre','$Apellidos','$username','$encriptar','$Estado','$cargo','$departamento','$usuario_creacion','$usuario_modificacion')";
Es un sentido un poco ilogico tuve que meterme con el codigo de los campos poner que el campo usuario modificacion y usuario de creacion se llenasen con la variable de $_SESSION['user_name'] y que estos campos estuvieran des-habilitados .

Gracias a @pateketrueke y a @xfxstudios.

Etiquetas: creador, mysql, usuario, variable
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 22:50.