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)
Este es el código que muestra un formulario u otro dependiendo si existe la cookie de usuario o no
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!"
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/> <textarea name='comentario' id='comentario' style='height: 50px; width: 470px;'></textarea></label>
<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> Tu comentario<br/> <textarea name='comentario' id='comentario' style='height: 50px; width: 470px;'></textarea></label>
<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!"