Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/07/2011, 03:32
Avatar de marcus69
marcus69
 
Fecha de Ingreso: julio-2011
Mensajes: 4
Antigüedad: 12 años, 10 meses
Puntos: 0
Exclamación Problema al redireccionar con header

En principio un saludo a todos y felicitaciones por este foro.

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)>&& strlen($term_dom)<&& (!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');
}
}
?>
Si me podeis echar una mano estupendo, ya que cada vez que alguien entra en la pagina e intenta meter un comentario les da el error e intentan introducirlo otra vez y otra vez y me petan la base de datos...Gracias de antemano!!!