He creado una especie de muro de comentarios, vamos como un foro, para que la peña pueda participar, y cuado intento introducir un comentario me da un error, lo curioso es que el comentario se guarda en la base de datos perfectamente y si recargo la pagina aparece todo correcto con el comentario introducido, el error es este:
Warning: Cannot modify header information - headers already sent by (output started at /homepages/16/d375871330/htdocs/crearcomentario.php:1) in /homepages/16/d375871330/htdocs/crearcomentario.php on line 45
lo que quería es que una vez insertara el comentario, mediante un header volver a mostrar la pagina con el comentario ya introducido, ni que decir tiene que en local usando wamp funciona a las mil maravillas.
Este es le codigo del archivo, que esl el "action" de un "form":
Código PHP:
<?php
$conexion=mysql_connect("AQUI LOS DATOS DEL SERVIDOR, USUARIO, CONTRASEÑA");
mysql_select_db("AQUI LA BASE DE DATOS",$conexion);
$nick=$_POST['usuario']; // recogemos mediante POST los names de los campos del formulario
$email=$_POST['email'];
$comentario=$_POST['comentario'];
function comprobar_email($email){
$mail_correcto = 0;
if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@")){
if ((!strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) && (!strstr($email," "))) {
//miro si tiene caracter .
if (substr_count($email,".")>= 1){
//obtengo la terminacion del dominio
$term_dom = substr(strrchr ($email, '.'),1);
//compruebo que la terminación del dominio sea correcta
if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) ){
//compruebo que lo de antes del dominio sea correcto
$antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1);
$caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1);
if ($caracter_ult != "@" && $caracter_ult != "."){
$mail_correcto = 1;
}
}
}
}
}
if ($mail_correcto)
return 1;
else
return 0;
}
if(($comentario == "") or ($nick=="") or ($email=="") or (comprobar_email($email) == 0))
{
header('location:comentarios.php');
}
else
{
$sql=" INSERT INTO comentarios VALUES(NULL,'$comentario','$nick','$email',now())";
$result=mysql_query($sql);
if($result)
{
header('location:comentarios.php');
}
}
?>