Foros del Web » Programando para Internet » PHP »

Creado por...

Estas en el tema de Creado por... en el foro de PHP en Foros del Web. Estoy bloqueado en este paso... como hacer que al crear un post se guarde el ID del usuario? Tengo una tabla "users" donde figuran los ...
  #1 (permalink)  
Antiguo 20/07/2008, 16:11
 
Fecha de Ingreso: febrero-2008
Mensajes: 92
Antigüedad: 16 años, 2 meses
Puntos: 0
Creado por...

Estoy bloqueado en este paso... como hacer que al crear un post se guarde el ID del usuario?

Tengo una tabla "users" donde figuran los IDs de cada usuario. Tambien tengo otra tabla "articles" donde guardo los articulos, con todos sus datos y tengo una columna "created_by".... pero como poner el ID del usuario que crea el post en esta columna para cada articulo?
  #2 (permalink)  
Antiguo 20/07/2008, 19:43
Avatar de Sensorium  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo-Uruguay
Mensajes: 207
Antigüedad: 16 años, 9 meses
Puntos: 7
Respuesta: Creado por...

Hola danieldem77, primero deberias obtener el id_usuario que está creando el artículo, por ejemplo por medio de $_SESSION[id_usuario] y luego cuando guardas el articulo simplemente en tu consulta agregas la linea algo así:
"INSERT INTO articles (id_article, texto,created_by)VALUES('$id', '$_POST[texto]','$_SESSION[id_usuario]')"
__________________
Artis
  #3 (permalink)  
Antiguo 21/07/2008, 06:13
 
Fecha de Ingreso: febrero-2008
Mensajes: 92
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Creado por...

gracias por contestar...
estoy un poco estancado, porque tu codigo me parece lo mas razonable (de hecho yo tambien pensaba hacerlo asi). El problema es que uso un cms para guardar el articulo (no prefabricado, sino el sistema basico de crear, guardar, leer articulos) y este usa un metodo distinto de guardar los datos. Tengo un formulario desde el cual la informacion pasa a ser procesada en newarticle.php. En este ultimo tengo este codigo:
Código PHP:
<?php
require_once('includes/dbonnector.php');

// Check whether a form has been submitted. If so, carry on
if ($HTTP_POST_VARS){

    
// Create an instance of DbConnector
    
$connector = new DbConnector();

    
// IMPORTANT!! ADD FORM VALIDATION CODE HERE - SEE THE NEXT ARTICLE

    // Create an SQL query (MySQL version)
    
$insertQuery "INSERT INTO cmsarticles (title,tagline,section,thearticle) VALUES (".
"'".$HTTP_POST_VARS['title']."', ".
"'".$HTTP_POST_VARS['tagline']."', ".
$HTTP_POST_VARS['section'].", ".
"'".$HTTP_POST_VARS['thearticle']."')";

    

    
// Save the form data into the database
    
if ($result $connector->query($insertQuery)){

        
// It worked, give confirmation
        
header("Location: ../index.php");

    }else{

        
// It hasn't worked so stop. Better error handling code would be good here!
        
exit('<center>Sorry, there was an error saving to the database</center>');

    }

}
?>
Aparte de eso he conseguido sacar de la base de datos la ID del usuario que esta conectado, y lo he hecho asi (un poco rollo.. tengo que reconocer)

Código PHP:
<?php 
session_start
(); 
include 
'phplogin/dbc.php';
$u $_SESSION['user'] ;
$query = ("SELECT id FROM users WHERE user_email = '$u'"); 
$result mysql_query($query);
if (!
$result) {
    
$message  'Invalid query: ' mysql_error() . "\n";
    
$message .= 'Whole query: ' $query;
    die(
$message);
}
while (
$row mysql_fetch_assoc($result)) {
    echo 
$row['id'];
}
?>
Ahora el problema que tengo es que no se como unir esos dos codigos... lo he intentado de mil formas y siempre me da error... estoy desesperado obviamente he probado modificar en el primer codigo $insertQuery para que me introduzca $row['id'] de la segunda... pero nada
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 12:36.