Comunidad oficial de diseñadores web, web developers y Webmasters. Aqui podemos tratar temas actuales sobre diseño y tecnología. Podemos compartir y actualizarnos. Flash, PHP, ASP, Java, HTML, CSS, MySQL, CMS, etc. Unite YA y lee los Sticky
Ver más- 17,525 Miembros
- 13,190 Temas
- 5,130 Seguidores
[Ayuda] Insertar en tabla el usuario de la sesion
Buenas, la hago breve. Quiero que al insertar un post, pueda agarrar el usuario de la sesión mediante la cual envíe el post y que lo inserte en dicha tabla. Por ahora, en mi sistema de posts, cualquiera publica algo y no se guarda en la BD por que usuario fue publicado cada uno. Me dijeron algo de poner un input oculto en la creación del post, que capte el usuario de sesión, algo de $_SESSION['MM_Username'] pero no entendí muy bien. Les agradecería muchísimo su ayuda.Con esto podría obtener los demás datos del usuario y mostrarlos en las publicaciones.
- 0Calificación
- 1Seguidores
- 201Visitas
- 0Favoritos
Global
Argentina
Chile
Colombia
España
México
Perú
Uruguay
Venezuela
23 comentarios
$Usuario = $_SESSION['MM_Username'];
echo $Usuario;
tu creas tu login y compruebas con una tabla que tengas creada que el email o usuario exista y que la contraseña sea igual una vez hecho esto se crea una session de este tipo segun sea el caso por lo menos asi lo hago yo
if(isset($_SESSION['id_usr']))
{
include ("sistema.php");
}
else
{
include ("index_nologin.php");
}
en ese codigo compruebas que la variable exista como se ve el if si existe la variable incluye el archivo sistema si no el index_nologin eso se podria hacer de muchas formas.
ahora como recuperas datos hay varias formas si es unicamente para el usuario que se hizo login puedes utilizar $_SESSION['columna'] que hace esto busca del usuario su id y va a la columna que tiene ese id por ejemplo
echo $_SESSION['nombre_usuario']; en pantalla imprimiria el nombre de la persona que se logeo si quieres que vea su propia foto harias lo mismo solo que dentro de una etiqueta img
<img src="imagenes/<?php echo $_SESSION['avatar_usuario']; ?>" border="0" /> este como ejemplo recuerda que en la tabla tendras que guardar las url donde se encuentran las imagenes o guardar el nombre y colocar una direccion predefinida.
Para obtenerlas de cualuqier usuario deberias crear un archivo en php como perfil y utilizar el metodo GET
en el link del usuario tu utilizarias http://tusitio.com/prefil.php?id=19 que haces aqui tu en el php utilizas el metodo GET
como esto
[code]
<?php
$sql="select * from usuarios where id_usr=".$_GET["id"]."";
$res=mysql_query($sql,$con);
if ($reg=mysql_fetch_array($res))
{
// en medio de esto colocas como quieres que aparezca lo unico que añades entre lineas o entre espacios puede ser html o php etc como sigue
?>
<div class="nombre">
<?php echo $reg["nombre"];?>
</div>
De esta manera a cuando entren al http://tusitio.com/prefil.php?id=19 aparecerán los datos del usuario 19 si colocan 50 aparecerán los de ese usuario basicamente asi es los que sepan mas me corregiran pero asi lo hago yo
te recomiendo investigar mas sobre la variable $_SESSION y sobre el metodo GET
Saludos y espero te sirva
hehehe me equivoque de tema hehe sorry pero lo puedes utilizar igual
ejemplo
<input type="hidden" name="id_usuario" value="<?php echo $_SESSION['id_usr'];?>">
Ahora podrías probar así viendo el primer ejemplo de la documentación oficial de php: http://www.php.net/manual/es/function.session-start.php
PD: Acordate de usar esta función antes de crear las sesiones "session_start()"
entonces, para la tabla post, va a tener, id, titulo, descripcion, etc.. y un campo, autor.. ese campo autor almacenara lo que contiene la session activa.. sea el nombre del usuario o el id..
select * from post, usuarios where post.autor = usuarios.id (o usuarios.nombreusuario)
o con un left join...
<?php
session_start();
$_SESSION['MM_Username'] = "Lettro";
mysql_query("INSERT INTO post (titulo,contenido,autor) VALUES ('".$titulo."','".$contenido."','".$_SESSION['MM_Username']."')");
?>
Me logeo en la página...Voy a crear un post... Pongo un titulo y contenido... Toco publicar y me tiene que insertar "Titulo" y "Contenido" y un id del post (id_post)... Ahora, por ahora en ningún lado dice que ese post que cree es mío, y eso es porque al insertar los datos en la BD, no le mande ninguna variable que contenga mi usuario, y eso es lo que quiero hacer pero no se como.
Hacer una variable que obtenga el usuario de la sesión y lo inserte junto a los demás datos al crear el post. Y así yo voy a poder luego hacer una consulta a la tabla "posts" que me traiga el titulo, contenido y usuario (autor) entonces voy a poder unir después el usuario con la tabla de los usuarios y así extraerle los demás datos (puntos, rango, país, etc)
<?php
$res = mysql_query("SELECT * FROM post WHERE id='".$_GET['id']."'");
$post = mysql_fetch_array($res);
echo $post['autor']; //autor del post
?>