Prueba con esto a ver si resuelves algo:
Código PHP:
<?php
error_reporting(E_ALL); //esto sirve para ver los errores
session_start(); //si le sacas el @ veras si es un problema de sesion
if(!isset($_SESSION['username'])){
echo "No estas logeado.";
}else{
require_once('configuracion.php');
$autor = $_SESSION['username'];
$titulo = $_POST["titulo"];
$mensaje = $_POST["mensaje"];
$ident = $_POST["identificador"];
//Hacemos algunas validaciones
if(empty($titulo)) $titulo = "Sin título";
//Evitamos que el usuario ingrese HTML
$mensaje = htmlentities($mensaje);
// Grabamos el mensaje en la base.
$sql = "INSERT INTO foro (autor, titulo, mensaje, identificador, fecha, ult_respuesta)
VALUES ('$autor','$titulo','$mensaje','$ident',NOW(),NOW())";
if(mysql_query($sql)){
$ult_id = mysql_insert_id();
}else{
die("Error al grabar un mensaje: ".mysql_error());
}
/* si es un mensaje en respuesta a otro
actualizamos los datos */
if(!empty($ident)){
$sq2 = "UPDATE foro
SET respuestas = respuestas+1,
ult_respuesta = NOW()
WHERE id = '$ident'";
if(mysql_query($sq2)){
Header("Location: foro.php?id=$ident#$ult_id");
exit();
}else{
//este die para saber que paso con el update
//cuando funcione lo comentas
die("Error al actualizar: ".mysql_error());
Header("Location: index.php");
}
}
}
?>
Suerte!