Foros del Web » Programando para Internet » PHP »

Como conseguir el mensaje "Publicado por nombre"

Estas en el tema de Como conseguir el mensaje "Publicado por nombre" en el foro de PHP en Foros del Web. Hola chicos, estoy trabajando ahora en esto ... Tengo creada la tabla estados asi la cual alias esta relacionado con el alias de la tabla ...
  #1 (permalink)  
Antiguo 06/02/2012, 09:02
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 13 años
Puntos: 1
Como conseguir el mensaje "Publicado por nombre"

Hola chicos, estoy trabajando ahora en esto ...

Tengo creada la tabla estados asi la cual alias esta relacionado con el alias de la tabla users ...

Este es el codigo de la tabla estado

CREATE TABLE `kfernandez`.`estado` (
`id_estado` INT NOT NULL ,
`alias` VARCHAR( 40 ) NOT NULL ,
`contenido` VARCHAR( 200 ) NOT NULL ,
UNIQUE (
`alias`
)
) ENGINE = INNODB;

Y esta relacionado con la tabla users el campo alias de la siguiente manera

ALTER TABLE `estado` ADD FOREIGN KEY ( `alias` ) REFERENCES `kfernandez`.`users` (
`alias`
) ON DELETE CASCADE ON UPDATE CASCADE ;

Entonces mi pregunta es .. en el momento de enviar el estado a la base de datos quiero que el usuario que ha iniciado sesion envie su alias a la bd para poder ser mostrado luego

Entonces el envío funciona de la siguiente manera

<?php
$id_estado = $_POST['id_estado'];
$alias = $_POST['alias'];
$contenido = $_POST['contenido'];
include("../config.php");
$con=mysql_connect($server,$db_user,$db_pass);
if(mysql_select_db($database,$con)){
$consulta ="insert into estado values('$id_estado','$alias','$contenido')";
if(mysql_query($consulta,$con))
{
echo "El estado ha sido publicado correctamente";
}
}
else
echo "No se ha podido publicar el estado";
{
echo mysql_error($con);
}
{
}
?>

Lo que quiero es enviar el alias sin que tenga que ponerlo siempre el usuario..auqneu imagino que será algo de sesiones ....

¿Me explico?Cuando inserto los datos me dice el error siguiente

Cannot add or update a child row: a foreign key constraint fails (`kfernandez`.`estado`, CONSTRAINT `estado_ibfk_1` FOREIGN KEY (`alias`) REFERENCES `users` (`alias`) ON DELETE CASCADE ON UPDATE CASCADE)

Saludos y gracias :)
  #2 (permalink)  
Antiguo 06/02/2012, 09:41
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 15 años, 5 meses
Puntos: 27
Respuesta: Como conseguir el mensaje "Publicado por nombre"

lo que tenes que ver si en las variables de session esta el alias.
Para ver las variables de session hace
Código PHP:
echo "<pre>";
print_r($_SESSION);
echo 
"<pre>"
esto te va a dar el nombre de la variable que contiene el alias ej: $_SESSION[usuario][alias]
con esto vas a tu formulario y colocas al inicio del archivo session_start()
Código PHP:

<?php
session_start
();

$id_estado $_POST['id_estado'];

$alias $_SESSION[usuario][alias];

$contenido $_POST['contenido'];
include(
"../config.php");
$con=mysql_connect($server,$db_user,$db_pass);
if(
mysql_select_db($database,$con)){
$consulta ="insert into estado values('$id_estado','$alias','$contenido')";
if(
mysql_query($consulta,$con))
{
echo 
"El estado ha sido publicado correctamente";
}
}
else
echo 
"No se ha podido publicar el estado";
{
echo 
mysql_error($con);
}
{
}
?>
  #3 (permalink)  
Antiguo 08/02/2012, 08:44
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 13 años
Puntos: 1
Respuesta: Como conseguir el mensaje "Publicado por nombre"

Muchas gracias :DD

Ahora consigo enviar todo a la bd y que funcione correctamente pero se me cargan todos los estados ,.....de todas maneras muchas gracias :)

Última edición por kfh1992; 08/02/2012 a las 08:51

Etiquetas: conseguir, mensaje, mysql, publicado, sql, tabla, usuarios
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 08:03.