Error al insertar datos en DB dependiendo de si el usuario tiene cookie o no

Buenas!

Os cuento, tengo una página en la que uso un sistema de noticias, cada una tiene la opción para comentarla, lógico.

Tengo un sistema de autentificación de usuarios mediante cookies, y lo que hice es que se muestre un formulario de comentarios u otro dependiendo di el usuario está logueado (es decir, si tiene la cookie) o no.

Eso lo hice bien, y si comento sin tener la cookie (con el segundo formulario) los datos se ingresan correctamente.

Pero con el primer formulario no, es decir, con el de usuario logueado.

Dejo los códigos a ver si alguien me ayuda :-D

comentar.php (Lo que ingresa el comentario en la base de datos)
<?

// Declaramos que la hora de envío de comentario se ponga en la hora de España
date_default_timezone_set('Europe/Madrid');

// Declaramos las variables para guardar la fecha y hora de envío del comentario
$fecha=date("Y/n/d");
$hora=date("H:i:s");

// Declaramos las variables para validar luego el formulario
$id = $_POST[id];
$nick = $_POST[nick];
$email = $_POST[email];
$comentario = $_POST[comentario];
 
// Conectamos a la base de datos 
$connect=mysql_connect("mysql5.000webhost.com","a6136284_minics","[COLOR="red"]password[/COLOR]");
 
// Seleccionamos la base de datos
mysql_select_db("a6136284_minics",$connect);

// Hacemos la validación de los campos aquí, para que si entran en este archivo no manden un comentario en blanco
if (!$id || !$nick || !$email || !$comentario) { 

// Si el usuario no pasó la validación del formulario salta el siguiente echo
echo "Tienes que completar todos los campos para poder dejar tu comentario!"; }

// Si el usuario pasó la validación del formulario ocurren las siguientes acciones
else {

// Ingresamos el comentario en la tabla
mysql_query ("INSERT INTO `a6136284_minics`.`comentarios`(`id`, `nick`, `email`, `comentario`, `fecha`, `hora`) VALUES ('$id', '$nick', '$email', '$comentario', '$fecha', '$hora')");

// Volvemos a la novedad en la que estábamos
header("location: novedad.php?id=$_POST[id]");

}
?>

Este es el código que muestra un formulario u otro dependiendo si existe la cookie de usuario o no
<?

// Recibimos la variable id por GET para mostrar la novedad correspondiente 
$id = $_GET[id];

// Conectamos a la base de datos 
$connect=mysql_connect("mysql5.000webhost.com","a6136284_minics", "[COLOR="red"]mipassword[/COLOR]");

// Seleccionamos la base de datos
mysql_select_db("a6136284_minics",$connect);

$nick = $_COOKIE['loggedin'];

// Hacemos las consultas para seleccionar el registro correcto 
$result4=mysql_query("SELECT * FROM `a6136284_minics`.`usuarios` WHERE nick = '$nick'", $connect) or die (mysql_error());

if (mysql_num_rows($result4)) { 
   while ($qry = mysql_fetch_array($result4)) {
echo "<form method='post' name='frm' action='comentar.php'>
<input type='hidden' name='id' id='id' value='$id'>
<label>Nombre de tu Minic<br /><input type='text' name='nick' id='nick' maxlength='10' value='$nick' disabled /></label><br />
<input type='hidden' name='email' id='email' value='$qry[email]' /><br/>
<label>Tu comentario<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<textarea name='comentario' id='comentario' style='height: 50px; width: 470px;'></textarea></label>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<button type='submit'>Enviar comentario</button>
</form>";
}
}
if (!isset($_COOKIE['loggedin']))
echo "<form method='post' name='frm' action='comentar.php'>
<input type='hidden' name='id' id='id' value='$id'>
<label>Nombre de tu Minic<br /><input type='text' name='nick' id='nick' maxlength='10' /></label><br />
<label>Tu email (No será publicado)<br /><input type='text' name='email' id='email' maxlength='255' /></label><br />
<label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tu comentario<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<textarea name='comentario' id='comentario' style='height: 50px; width: 470px;'></textarea></label>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<button type='submit'>Enviar comentario</button>
</form>";

?>

El error es que aunque complete los campos (el error ocurre con el formulario que aparece si estás logueado) me pone que no los completé, es decir, me salta el echo que dice "Tienes que completar todos lo campos!"
Hmmmm, esta algo complicado el formulario. Yo lo haría así:

<?php
	$form = "<form method='post' name='frm' action='comentar.php'>";
	$nick = $_COOKIE['loggedin'];
	
	if(!empty($nick) && $nick != null) { // Un if con los campos sólo para usuarios con la Cookie
		mysql_select_db("a6136284_minics",$connect); // Solo te conectas si la cookie existe
		$result = mysql_query("SELECT * FROM `a6136284_minics`.`usuarios` WHERE nick = '$nick'", $connect) or die (mysql_error());
		$form .= "<input type='hidden' name='id' id='id' value='$result[id]'>";
		$form .= "<label>Nombre de tu Minic<br /><input type='text' name='nick' id='nick' maxlength='10' value='$nick' disabled /></label><br />";
		$form .= "<input type='hidden' name='email' id='email' value='$result[email]' /><br/>";
	}
	else { // Lo necesario para el que no tiene la cookie
		$form .= "<input type='hidden' name='id' id='id' value=''>"; // El id debería generarse en la base de datos, puesto que si utilizas el id extraído de una consulta (o sea, de otro usuario) habrá más de un id igual, lo cual no es correcto.
		$form .= "<label>Nombre de tu Minic<br /><input type='text' name='nick' id='nick' maxlength='10' /></label><br />";
		$form .= "<label>Tu email (No será publicado)<br /><input type='text' name='email' id='email' maxlength='255' /></label><br />";
	}
	// Los input necesarios para ambos (con o sin cookie):
	$form .= "<label>Tu comentario<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<textarea name='comentario' id='comentario' style='height: 50px; width: 470px;'></textarea></label>";
	$form .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<button type='submit'>Enviar comentario</button>";
	$form .= "</form>";

	echo $form;
?>

Ahora sí debería funcionar, sino avisas :d.

Por si acaso, escribiste la contraseña de MySQL en el primer cuadro de código, así que ten cuidado (bórrala).
El caso es que, encima de que puse la contraseña, la puse mal jajajaja

Voy a probar eso que dices, ahora os cuento

Gracias por la ayuda!
Sigue igual, si no tiene la cookie se guarda el comentario correctamente, pero si no sigue igual, pone el error de Tienes que completar todos los campos para poder dejar tu comentario (Si quieres cambio las palabras pero no cambiará nada XD)

Respecto a lo que pones:
// El id debería generarse en la base de datos, puesto que si utilizas el id extraído de una consulta (o sea, de otro usuario) habrá más de un id igual, lo cual no es correcto.

El id no es igual, explico: En la URL, para las noticias, se pone el parámetro id seguido del id de la noticia (el id de la noticia sí está en la base de datos), por ejemplo: pagina.php?id=1
Entonces, en el formulario que tenía puse una variable: $id = $_GET;
Y eso recibe la variable de la URL, por tanto, ese comentario se asignará en la noticia número 1 (y sólo se verá en esa)

Luego en novedad.php (Que se transforma en novedad.php?id=) para mostrar los comentarios pongo esto:
$result=mysql_query("select * from `a6136284_minics`.`novedades` where [COLOR="red"]id_novedad=$id[/COLOR]", $connect) or die (mysql_error());

Entonces sólo sacará los comentarios que tengan como ID (en la base de datos se guarda, como dije antes, la noticia que comentaste) el ID de la url

No me expliqué muy bien, pero supongo que lo entiendes jeje
El id no es igual, explico: En la URL, para las noticias, se pone el parámetro id seguido del id de la noticia (el id de la noticia sí está en la base de datos), por ejemplo: pagina.php?id=1

Ok, ahora lo entendí :D.

Lo siguiente debería funcionar (según yo XD):

<?php // Formulario

	$id = $_GET['id'];
	$form = "<form method='post' name='frm' action='comentar.php'>";
  $nick = $_COOKIE['loggedin'];
    
  if(!empty($nick) && $nick != null) { // Un if con los campos sólo para usuarios con la Cookie
		$connect = mysql_connect("mysql5.000webhost.com","a6136284_minics", "mipassword");
		mysql_select_db("a6136284_minics",$connect);
		$result = mysql_query("SELECT * FROM `a6136284_minics`.`usuarios` WHERE nick = '$nick'", $connect) or die (mysql_error());
    $form .= "<input type='hidden' name='id' id='id' value='$result[id]' />";
    $form .= "<label>Nombre de tu Minic<br /><input type='text' name='nick' id='nick' maxlength='10' value='$nick' disabled /></label><br />";
    $form .= "<input type='hidden' name='email' id='email' value='$result[email]' /><br/>";
  }
  else { // Lo necesario para el que no tiene la cookie
    $form .= "<input type='hidden' name='id' id='id' value='$id'>"; // El id debería generarse en la base de datos, puesto que si utilizas el id extraído de una consulta (o sea, de otro usuario) habrá más de un id igual, lo cual no es correcto.
    $form .= "<label>Nombre de tu Minic<br /><input type='text' name='nick' id='nick' maxlength='10' /></label><br />";
    $form .= "<label>Tu email (No será publicado)<br /><input type='text' name='email' id='email' maxlength='255' /></label><br />";
  }
  // Los input necesarios para ambos (con o sin cookie):
  $form .= "<label>Tu comentario<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<textarea name='comentario' id='comentario' style='height: 50px; width: 470px;'></textarea></label>";
  $form .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<button type='submit'>Enviar comentario</button>";
  $form .= "</form>";

  echo $form;
?>

<?php // Comentar.php
	// Declaramos las variables para validar luego el formulario
	$id = $_POST['id'];
	$nick = $_POST['nick'];
	$email = $_POST['email'];
	$comentario = $_POST['comentario'];
	// Hacemos la validación de los campos aquí, para que si entran en este archivo no manden un comentario en blanco
	if (empty($id) || empty($nick) || empty($email) || empty($comentario)) { 
		// Si el usuario no pasó la validación del formulario salta el siguiente echo
		echo "Tienes que completar todos los campos para poder dejar tu comentario!"; 
	}
	else {
		// Conectamos a la base de datos 
		$connect = mysql_connect("mysql5.000webhost.com", "a6136284_minics", "password");
		// Seleccionamos la base de datos
		mysql_select_db("a6136284_minics",$connect);
		// Ingresamos el comentario en la tabla
		$result = mysql_query ("INSERT INTO `a6136284_minics`.`comentarios`(`id`, `nick`, `email`, `comentario`, `fecha`, `hora`) VALUES ('$id', '$nick', '$email', '$comentario', '$fecha', '$hora')");
		if($result) {	// Si se ejecuta la consulta devuelve true
			// Volvemos a la novedad en la que estábamos
			header("location: novedad.php?id=$id");
		}
		else {
			echo "No se ejecutó la consulta: " . mysql_error($connect);
		}
	}
?>

Ojalá ahora sí funcione.
Sigue igual, sin cookie me guarda el comentario, pero si está logueado me pone el Tienes que completar todos los campos para comentar!

Vaya lío da esto jajaja0
Ok, entonces intenta mostrando los valores que se pasan a través de POST en el archivo que procesa los datos (comentar.php):

print_r($_POST);

Idealmente tienes que hacerlo cuando exista la cookie, para ver que valores se estan pasando. La función anterior debería aparecer como la primera línea.
Debería quedar así?

<?

print_r($_POST);

// Declaramos que la hora de envío de comentario se ponga en la hora de España
date_default_timezone_set('Europe/Madrid');

// Declaramos las variables para guardar la fecha y hora de envío del comentario
$fecha=date("Y/n/d");
$hora=date("H:i:s");
    $id = $_POST[id];
    $nick = $_POST[nick];
    $email = $_POST[email];
    $comentario = $_POST[comentario];
    // Hacemos la validación de los campos aquí, para que si entran en este archivo no manden un comentario en blanco
    if (empty($id) || empty($nick) || empty($comentario)) { 
        // Si el usuario no pasó la validación del formulario salta el siguiente echo
        echo "Tienes que completar todos los campos para poder dejar tu comentario!"; 
    }
    else {
        // Conectamos a la base de datos 
        $connect = mysql_connect("mysql5.000webhost.com", "a6136284_minics", "[COLOR="red"]password[/COLOR]");
        // Seleccionamos la base de datos
        mysql_select_db("a6136284_minics",$connect);
        // Ingresamos el comentario en la tabla
        $result = mysql_query ("INSERT INTO `a6136284_minics`.`comentarios`(`id`, `nick`, `email`, `comentario`, `fecha`, `hora`) VALUES ('$id', '$nick', '$email', '$comentario', '$fecha', '$hora')");
        if($result) {    // Si se ejecuta la consulta devuelve true
            // Volvemos a la novedad en la que estábamos
            header("location: novedad.php?id=$id");
        }
        else {
            echo "No se ejecutó la consulta: " . mysql_error($connect);
        }
    }
?>

Ahora pruebo y os cuento!
He probado en la novedad número 3, así que el ID es el tres

Me da este código:
Array ( => 3 [correo eliminado] => => prueba de comentarios ) Tienes que completar todos los campos para poder dejar tu comentario!

Así que por lo que veo, el error está en el email, porque es el único campo que no completa

Peeeero, si cambio el campo de email de hidden a text (para poder escribir en él) y pongo un email, me da esto:

Array ( => 3 [correo eliminado] => [correo eliminado] => prueba de comentarios ) Tienes que completar todos los campos para poder dejar tu comentario!

Sigue sin funcionar :-S
A ver... no veo el error jajajajaja. En lugar de empty() utiliza isset():

if (!isset($id) || !isset($nick) || !isset($comentario)) {...

Ahora sí que si XD.
He quitado el campo de email, ya que si no vamos a tardar mil años y puedo prescindir de él

Con el isset seguía igual, el email no lo ponía si ponía el rprint jeje

Pero ahora, sigue el error...

Aún quitando el campo email, me sigue dando el error jajajaja
Prueba con esta modificacion a tu codigo, mejorado para quitar el codigo repetido

// Recibimos la variable id por GET para mostrar la novedad correspondiente
$id = $_GET['id'];

// Conectamos a la base de datos
$connect=mysql_connect("mysql5.000webhost.com","a6136284_minics", "mipassword");

// Seleccionamos la base de datos
mysql_select_db("a6136284_minics",$connect);

echo "<form method=\"post\" name=\"frm\" action=\"comentar.php\">
<input type=\"hidden\" name=\"id\" id=\"id\" value=\"$id\">";

$nick =isset($_COOKIE['loggedin'])?$_COOKIE['loggedin']:"";
if($nick!=""){
// Hacemos las consultas para seleccionar el registro correcto
$result4=mysql_query("SELECT * FROM `a6136284_minics`.`usuarios` WHERE nick = '$nick'", $connect) or die (mysql_error());
$qry=mysql_fetch_array($result4);
}

if($nick!="" && $qry['email']!=""){
echo "<input type=\"hidden\" name=\"email\" id=\"email\" value=\"".$qry['email']."\">
<input type=\"hidden\" name=\"nick\" id=\"nick\" value=\"$nick\">
<label>Nombre de tu Minic<br/>$nick</label><br />";
}else{
echo "<label>Nombre de tu Minic<br /><input type=\"text\" name=\"nick\" id=\"nick\" maxlength=\"10\" /></label><br />
<label>Tu email (No será publicado)<br /><input type=\"text\" name=\"email\" id=\"email\" maxlength=\"255\" /></label><br />";
}

echo "<label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tu comentario<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<textarea name=\"comentario\" id=\"comentario\" style=\"height: 50px; width: 470px;\"></textarea></label>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<button type=\"submit\">Enviar comentario</button>
</form>";
Funciona!! :-D

Muchas gracias a los dos por toda la ayuda que me brindasteis, os daría más puntos pero no me dejan jeje

Una última cosa, cómo puedo centrar el textarea? Para los usuarios no logueados está centrado (por los &nbsp; que son espacios en blanco y los usé para centrar el textarea) pero para los usuarios logueados no... y queda feo jeje

Saludos!