Hola,
De pasada rápida he visto que tienes un campo llamado idpost. ¿Es autoincrementable? Te lo comento porque le intentas añadir un valor vacio:
Código PHP:
..elseif($accion=="guardar"){
include ("conexion.php");
$result = mysql_query("INSERT INTO gb (idpost, titulo, fechareg, contenido) VALUES ('?',$titulo,$contenido,$fecha)",$conexion) or die(mysql_error() );
$result = mysql_query("INSERT INTO gb (
idpost, titulo, fechareg, contenido) VALUES ('
?',$titulo,$contenido,$fecha)",$conexion) or die(mysql_error() );
Y por otro lado, el orden en que se lo pasa tampoco está bien. Resumamos:
A idpost no le pasas nada.
Luego quieres introducirle al campo fechareg, la variable $contenido.
Y por último, a contenido quieres pasarle la variable $fecha.
Revisa eso, que lo mismo es la razón,
Saludos!