PHP - Insertar contenido estando logueado

   
Vista:

Insertar contenido estando logueado

Publicado por musiker (31 intervenciones) el 28/09/2014 15:51:43
Hola a todos.

Estoy haciendo una web en la que un usuario tiene que loguearse para poder escribir un contenido en el ckeditor, supongo que conoceréis este programa. El login lo hago correctamente mediante sesiones, pero una vez logueado, al escribir el contenido y enviarlo a la base de datos, no inserta el usuario, sólo inserta el contenido. ¿Alguien me podría ayudar? No sé por qué ocurre esto. Espero haberme explicado correctamente.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Insertar contenido estando logueado

Publicado por xve (5523 intervenciones) el 28/09/2014 18:44:59
Hola Musiker, entiendo que el problema lo tienes en el INSERT a la base de datos... ahí añades el usuario?

Cuando un usuario esta logeado, donde guardas su id? en una varaable de sesión? cookie?

Si nos puedes mostrar el INSERT?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Insertar contenido estando logueado

Publicado por Musiker (31 intervenciones) el 28/09/2014 20:12:13
Hola xve, gracias por responder. En realidad no estoy guardando la id del usuario, sólo añado al usuario logueándolo mediante nombre y contraseña. Por si ayuda a algo, diré que lo estoy haciendo en dreamweaver. Intenté anteriormente tomar el nombre del usuario mediante la variable de sesión, haciendo esto:
1
$usuario_sesion = $_SESSION['MM_Username'];
y así poder insertarla después en la base de datos, pero no me resultó y lo borré. Sé muy poco de PHP y lo estoy haciendo como puedo con videos de youtube, foros, etc, por eso está todo tan "raro" :) Espero no confundir mucho y perdón por las molestias :)


INSERTAR.PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
 
$recibo_area=$_POST['editor1'];
 
require('connect_db.php');
 
mysql_query("INSERT INTO tabla(AQUÍ LA DUDA PORQUE DEBERÍA IR EL USUARIO,historias,fecha,Hora) VALUES (AQUÍ LA DUDA PORQUE DEBERÍA IR EL USUARIO, '$_REQUEST[editor1]',NOW(),current_time)",$link)
or die("Problemas en el select".mysql_error());
	mysql_close($link);
			echo 'Se ha insertado correctamente.';
 
?>

FRAGMENTO DEL INDEX.PHP EN EL QUE REALIZO EL FORMULARIO:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<form method="POST" action="insertar.php">
            <textarea name="editor1" id="editor1" rows="10" cols="80">
                This is my textarea to be replaced with CKEditor.
            </textarea>
            <script>
                // Replace the <textarea id="editor1"> with a CKEditor
                // instance, using default configuration.
                CKEDITOR.replace( 'editor1' );
            </script><p>
       <input type="submit"> <input type="reset"></p></p>
 </form><?php
			if (isset($_POST['submit'])) {
				require("insertar.php");
			}?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Insertar contenido estando logueado

Publicado por xve (5523 intervenciones) el 29/09/2014 08:13:28
Hola Musiker, creo que el problema, lo tienes, en que tienes que guardar el usuario en una variable de sesión para después poder recuperar-lo con $_SESSION['MM_Username'];

Si no lo guardas, nunca vas a poder utilizarlo para añadirlo en la base de datos.


Para poder guardarlos, una vez envias el formulario, tienes que poner en la parte superior de tu código php:
1
serssion_start();
y una vez hayas validado el usuario:
1
$_SERSSION["MM_Username"]=$_POST["usuarioRellenadoFormulario"];

Ya nos comentaras que tal te fue.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Insertar contenido estando logueado

Publicado por Musiker (31 intervenciones) el 29/09/2014 16:31:50
Hola xve, muchas gracias! Funcionó! Pero ahora me surge otro "problema". Cuando inserto el contenido logueándome con el mismo usuario, me inserta el contenido y el usuario tantas veces como lo logueé. Es decir, si entro 3 veces con el usuario "user1" e inserto cada vez un contenido distinto, no me inserta todo el contenido en el mismo usuario, sino ambas cosas por separado, es decir, ocurre esto:

user1 --------- contenido 1

user1 --------- contenido 2

user 1 -------- contenido 3

Y lo que pretendo es:

user1 --------- contenido 1

--------- contenido 2

-------- contenido 3

¿Alguna idea? ¿Porqué ocurre lo primero y no lo segundo que creo que sería lo mejor? Gracias por adelantado :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar