Foros del Web » Programando para Internet » PHP »

Sistema de comentarios PHP

Estas en el tema de Sistema de comentarios PHP en el foro de PHP en Foros del Web. Hola a todos! Bueno estuve navegando por ahí y encontre un código para hacer un sistema de comentarios y funciona digamos que a un 90% ...
  #1 (permalink)  
Antiguo 05/01/2010, 13:22
 
Fecha de Ingreso: mayo-2008
Ubicación: Chihuahua
Mensajes: 30
Antigüedad: 15 años, 11 meses
Puntos: 1
Sistema de comentarios PHP

Hola a todos! Bueno estuve navegando por ahí y encontre un código para hacer un sistema de comentarios y funciona digamos que a un 90% porque no me guarda en la tabla que esta en la base de datos. Este es el código:
<?php

if(isset($HTTP_POST_VARS["id"])
&& isset($HTTP_POST_VARS["nick"]) && isset($HTTP_POST_VARS["comentario"]))

{
if($HTTP_POST_VARS["comentario"] != "")
{
if($HTTP_POST_VARS["nick"] == "")
{
$nickNuevo = "anonimo";
}
else
{
$nickNuevo = $HTTP_POST_VARS["nick"];
}
$idNoticia = $HTTP_POST_VARS["id_n"];
$comentarioNoticia = $HTTP_POST_VARS["comentario"];
mysql_query("INSERT INTO comentarios (id_noticia,nick,comentario) VALUES ('$idNoticia','$nickNuevo','$comentarioNoticia')") ;
echo "Comentario Enviado Con Exito.<BR>Espere Unos Segundos...<SCRIPT LANGUAGE=\"javascript\">window.location.href = \"".getenv('HTTP_REFERER')."\";</SCRIPT>";

}
else
{
echo "Debe Introducir Un Comentario.";
}
}

?>


Alguien me podría decir que tengo mal, me urge :]
  #2 (permalink)  
Antiguo 05/01/2010, 13:24
Avatar de TKZeXe  
Fecha de Ingreso: diciembre-2009
Ubicación: Flowers
Mensajes: 166
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Sistema de comentarios PHP

cambia esto $HTTP_POST_VARS por $_POST
creo que es por tu version de php.
ese codec fue hecho para la -v 4<

saludos ^^
  #3 (permalink)  
Antiguo 05/01/2010, 13:26
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años
Puntos: 7
Respuesta: Sistema de comentarios PHP

emmmmmmm donde ejecuta el insert que tienes y asumo que mas arriba tienes el codigo que se conecta con la base de datos :O?


otra cosa, el $HTTP_POST_VARS creo que ya no se usa cierto :O?
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #4 (permalink)  
Antiguo 05/01/2010, 13:30
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Sistema de comentarios PHP

Primero no uses HTTP_POST_VARS son obsoleta. En su lugar usa $_POST.
Segundo cuando hagas comparación en vez de usar
Código PHP:
Ver original
  1. if($_POST["comentario"] != "")
hazlo de esta forma
Código PHP:
Ver original
  1. if(!empty($_POST["comentario"]))
Esto no es una regla universal, pero te recomiendo usar la funcion empty y/o isset

Tercero usa la funcion de mysql_error() para ver si tienes algun error en tu consulta
Código PHP:
Ver original
  1. mysql_query("aqui va tu query") or die(mysql_error());
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 05/01/2010, 13:56
 
Fecha de Ingreso: mayo-2008
Ubicación: Chihuahua
Mensajes: 30
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Sistema de comentarios PHP

Muchas gracias por responder tan pronto, ya cambie todo por el $_POST tal y como me indicaron pero sigue sin guradar en la tabla, me marca un error en la linea 36 y la linea 36 es:

mysql_query("INSERT INTO comentarios (id_noticia,nick,comentario) VALUES ('$idNoticia','$nickNuevo','$comentarioNoticia')") ;

Y este es el error que me marca:
Warning: mysql_query() [function.mysql-query]: Access denied for user 'tiempoc'@'localhost' (using password: NO) in /home/tiempoc/public_html/prueb/nuevoComentario.php on line 36

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/tiempoc/public_html/prueb/nuevoComentario.php on line 36
Comentario Enviado Con Exito.
Espere Unos Segundos...

Espero me puedan ayudar
  #6 (permalink)  
Antiguo 05/01/2010, 13:58
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años
Puntos: 7
Respuesta: Sistema de comentarios PHP

envia el codigo donde creas la conexion con el motor de base de datos y seleciona la base de datos
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #7 (permalink)  
Antiguo 05/01/2010, 14:02
Avatar de TKZeXe  
Fecha de Ingreso: diciembre-2009
Ubicación: Flowers
Mensajes: 166
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Sistema de comentarios PHP

Toda esa seguillida de errores es porque tu usuario de la bdd esta correcto pero la password no.

ve bien cual es el password de ese usuario.

bites
  #8 (permalink)  
Antiguo 05/01/2010, 14:04
 
Fecha de Ingreso: enero-2009
Mensajes: 455
Antigüedad: 15 años, 2 meses
Puntos: 11
Respuesta: Sistema de comentarios PHP

ya verificaste los permisos de tu usuario?, te recomendaria que en una página aparte pongas una simple conexión a la base de datos primero para ver que si te estas conectando y despues hagas una consulta simple

saludos!
  #9 (permalink)  
Antiguo 05/01/2010, 14:13
 
Fecha de Ingreso: mayo-2008
Ubicación: Chihuahua
Mensajes: 30
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Sistema de comentarios PHP

Si tengo el password bien :]

<?php
$username = "tiemp";
$password = "*******";
$hostname = "localhost";
$dbname = "tiemp_pclaudia";

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Tiempo La noticia digital</title>
</head>

<body>
<?php

if(isset($_POST["id"])
&& isset($_POST["nick"]) && isset($_POST["comentario"]))

{
if(!empty($_POST["comentario"]))
{
if($_POST["nick"] == "")
{
$nickNuevo = "anonimo";
}
else
{
$nickNuevo = $_POST["nick"];
}
$idNoticia = $_POST["id_n"];
$comentarioNoticia = $_POST["comentario"];
mysql_query("INSERT INTO comentarios (id_noticia,nick,comentario) VALUES ('$idNoticia','$nickNuevo','$comentarioNoticia')") ;
echo "Comentario Enviado Con Exito.<BR>Espere Unos Segundos...<SCRIPT LANGUAGE=\"javascript\">window.location.href = \"".getenv('HTTP_REFERER')."\";</SCRIPT>";

}
else
{
echo "Debe Introducir Un Comentario.";
}
}
?>
</body>
</html>
  #10 (permalink)  
Antiguo 05/01/2010, 14:14
 
Fecha de Ingreso: mayo-2008
Ubicación: Chihuahua
Mensajes: 30
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Sistema de comentarios PHP

Así como coloque el código arriba asi lo tengo... qué esta mal??
  #11 (permalink)  
Antiguo 05/01/2010, 14:15
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Sistema de comentarios PHP

La contraseña está incorrecto según el mensaje que te da. Asegurate que estas usando una contraseña para la base de datos. Si es así asegurate que escribiste correctamente la contraseña. Tampoco veo que tengas declarado la conexion hacia la base de datos mysql_connect. Y por último usa la funcion mysql_error() para que te diga si hay algun error en la consulta.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #12 (permalink)  
Antiguo 05/01/2010, 14:16
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años
Puntos: 7
Respuesta: Sistema de comentarios PHP

estoy medio ciego o te falta el mysql_conect =/!!!

prueba con esto
dbh=mysql_connect (" ", "", "") or die ('problema conectando porque :' . mysql_error());

para capturar el error
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #13 (permalink)  
Antiguo 05/01/2010, 14:18
 
Fecha de Ingreso: mayo-2008
Ubicación: Chihuahua
Mensajes: 30
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Sistema de comentarios PHP

abimaelrc pongo donde sea esta linea: mysql_query("aqui va tu query") or die(mysql_error());??

Y ya cheque la contraseña y pues si esta bien.
  #14 (permalink)  
Antiguo 05/01/2010, 14:19
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Sistema de comentarios PHP

Como te indique te falta lo de mysql_connect
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #15 (permalink)  
Antiguo 05/01/2010, 14:26
 
Fecha de Ingreso: mayo-2008
Ubicación: Chihuahua
Mensajes: 30
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Sistema de comentarios PHP

FNX_NET muchas gracias que tonta soy no me fije que no estaba haciendo la conexion, ahora tengo otro problemita jeje no me gurada el id de la noticia :S
  #16 (permalink)  
Antiguo 05/01/2010, 14:28
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años
Puntos: 7
Respuesta: Sistema de comentarios PHP

xD

yo en un principio te pregunte eso DX

pero ahora como sabes si pasa la ID noticia :O?

podrias cambiar el formulario de post a get y reviza la URL si pasan todos los datos xD
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #17 (permalink)  
Antiguo 05/01/2010, 14:33
 
Fecha de Ingreso: mayo-2008
Ubicación: Chihuahua
Mensajes: 30
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Sistema de comentarios PHP

Pues se supone qe eso datos osea el id de la noticia y el comentario los jala de este código:
<CENTER>
2.
<SPAN STYLE="font-size:11px;font-family:Tahoma;color:black;font-weight:bold">
3.
.Enviar Comentario.
4.
</SPAN>
5.
</CENTER>
6.
<p>
7.
<FORM NAME="miFormu" ACTION="nuevoComentario.php"
8.
METHOD="post">
9.
<INPUT TYPE="hidden" NAME="id" VALUE="<?
10.
echo $id; ?>">
11.
Nick : <INPUT TYPE="text" NAME="nick" SIZE=20 MAXLENGTH=20>
12.
<BR>
13.
Comentario: <INPUT TYPE="text" NAME="comentario"
14.
SIZE=28 MAXLENGTH=250>
15.
<BR>

<INPUT TYPE="submit" CLASS="boton" VALUE="Enviar

Comentario">

</FORM>
  #18 (permalink)  
Antiguo 05/01/2010, 14:35
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años
Puntos: 7
Respuesta: Sistema de comentarios PHP

pero aca se llama id y en el codigo donde haces el insert se llama de otra forma =/

<INPUT TYPE="hidden" NAME="id" VALUE="<php? echo $id; ?>">

$idNoticia = $_POST["id_n"];
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #19 (permalink)  
Antiguo 05/01/2010, 14:42
 
Fecha de Ingreso: mayo-2008
Ubicación: Chihuahua
Mensajes: 30
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Sistema de comentarios PHP

FNX_NET Listo todo solucionado, muchas gracias en serio me sacaste de un apuro :]

Etiquetas: comentarios, sitemap
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:32.