Foros del Web » Programando para Internet » PHP »

Relacionar sistema de noticias a sistema de comentarios

Estas en el tema de Relacionar sistema de noticias a sistema de comentarios en el foro de PHP en Foros del Web. Que tal, tengo un sistema de comentarios, donde se acumulan las noticias y se muestran asi las noticias: http://www.pinchapasion.net/berita.p...=detail&id=289 Lo que necesito es realizar un ...
  #1 (permalink)  
Antiguo 27/04/2009, 18:48
 
Fecha de Ingreso: julio-2008
Mensajes: 133
Antigüedad: 16 años, 4 meses
Puntos: 1
Relacionar sistema de noticias a sistema de comentarios

Que tal, tengo un sistema de comentarios, donde se acumulan las noticias y se muestran asi las noticias:

http://www.pinchapasion.net/berita.p...=detail&id=289

Lo que necesito es realizar un sistema de comentarios. Encontre un tutorial:

http://www.maestrosdelweb.com/editorial/comphp/


Un par de dudas:

- En la creacion de la base de datos, me dice que cree una tabla asi:

Código PHP:
CREATE TABLE comentarios (
id bigint(7) default NULL,
id_noticia bigint(7) default NULL,
nick char(20) default NULL,
comentario char(250) default NULL,
KEY id (id) ) 
Sin embargo, ahi aclara que asi es si seria noticia.php?id=23, pero como tengo berita en vez de noticia, supongo que asi esta bien:
Código PHP:
CREATE TABLE comentarios (
id bigint(7) default NULL,
id_berita bigint(7) default NULL,
nick char(20) default NULL,
comentario char(250) default NULL,
KEY id (id) ) 
Luego, en el archivo berita.php, para mostrar los resultados de un forumlario dice de poner esto:
Código PHP:
<CENTER>
<TABLE CELLSPACING=1 CELLPADDING=1 WIDTH=300 BORDER=0 STYLE="border:1px solid black">
<TR>
<TD BGCOLOR="#FAFAFA">
<CENTER>
<SPAN STYLE="font-size:11px;font-family:Tahoma;color:black;font-weight:bold"> .Comentarios De Los Usuarios.
</SPAN>
</CENTER>
</TD>
</TR>

<TR>
<TD HEIGHT=1 BGCOLOR=black>
</TD>
</TR>

<TR>
<TD BGCOLOR="#FEFEFE">
<SPAN STYLE="font-size:11px;font-family:Tahoma;color:black;">

<?
$resultComen 
mysql_query("SELECT * FROM comentarios WHERE id_noticia='$id' ORDER BY id ASC");
while(
$rowComen mysql_fetch_array($resultComen))
{
?> ;
< FONT COLOR=RED>
< B><? echo $rowComen["nick"]; ?></B>
< /FONT>
:
< ? echo $rowComen["comentario"]; ?>
< BR>
< ?
}
mysql_free_result($resultComen);
?>

</SPAN>
</TD>
</TR>
</TABLE>
</CENTER>
ahi lo unico que modifique es noticia por berita, en este renglon:
Código PHP:
$resultComen mysql_query("SELECT * FROM comentarios WHERE id_berita='$id' ORDER BY id ASC"); 
Luego tenia que hacer el formulario para que una persona cargara su nick, comentario, etc... con esto:
Código PHP:
<CENTER>
<SPAN STYLE="font-size:11px;font-family:Tahoma;color:black;font-weight:bold">
.Enviar Comentario.
</SPAN>
</CENTER>
<p>
<FORM NAME="miFormu" ACTION="nuevoComentario.php"
METHOD="post">
<INPUT TYPE="hidden" NAME="id" VALUE="<?
echo $id?>">
Nick : <INPUT TYPE="text" NAME="nick" SIZE=20 MAXLENGTH=20>
<BR>
Comentario: <INPUT TYPE="text" NAME="comentario"
SIZE=28 MAXLENGTH=250>
<BR>
<INPUT TYPE="submit" CLASS="boton" VALUE="Enviar
Comentario">
</FORM>
Ahi no toque nada



Y luego, ese formulario se procesa a travez del archivo nuevoComentario.php, que el codigo no varia tampoco, creo:

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"];
}
$resultCom2 mysql_query("SELECT id FROM comentarios ORDER BY id DESC LIMIT 0,1");
$rowCom2 mysql_fetch_array($resultCom2);
$con $rowCom2["id"];
mysql_free_result($resultCom2);

$con++;
$idNoticia $HTTP_POST_VARS["id"];
$comentarioNoticia $HTTP_POST_VARS["comentario"];

mysql_query("INSERT INTO comentarios VALUES
('$con','$idNoticia','$nickNuevo','$comentarioNo ticia')"
);

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.";
}

La cuestion es que ejecute todo y al ingresar a http://www.pinchapasion.net/berita.p...=detail&id=289 me aparecia la pagina en blanco, se ve que hay erro en la conexion o ni idea

Si me podrian ayudar... muchas gracias

Sebastian Blanco


PD: Cualquier otro dato que necesiten, pidan nomas, gracias de antemano
  #2 (permalink)  
Antiguo 27/04/2009, 19:23
 
Fecha de Ingreso: septiembre-2006
Mensajes: 127
Antigüedad: 18 años, 1 mes
Puntos: 5
Respuesta: (Ayuda) Relacionar sistema de noticias a sistema de comentarios

Desde cierta versión de PHP, ya no se trabaja con las variables superglobales a menos que estén activas. Las variable superglobales permiten usar por ejemplo $asdasd para recoger la informacion de $_POST[asdasd] o $_GET[asdasd].

Lo que debes hacer es reemplazar $id por $_GET[id] y los $HTTP_POST_VARS por $_POST. Porque con $HTTP_POST_VARS ya no se trabajará en nuevas versiones... y sí con $_POST y $_GET. A futuro probablemente tendrás problemas de compatibilidad con las versiones de PHP.

Chauu... :D...
  #3 (permalink)  
Antiguo 27/04/2009, 20:56
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 17 años
Puntos: 18
Respuesta: (Ayuda) Relacionar sistema de noticias a sistema de comentarios

Cita:
Iniciado por KekoGrama Ver Mensaje
Desde cierta versión de PHP, ya no se trabaja con las variables superglobales a menos que estén activas. Las variable superglobales permiten usar por ejemplo $asdasd para recoger la informacion de $_POST[asdasd] o $_GET[asdasd].
corrijo primero es a partir de la versión 5, segundo no es superglobales sino globales, las variables que nombras son superglobales.

por otro lado debes de utilizar el tag completo de php (<?php ?>).

suerte.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #4 (permalink)  
Antiguo 28/04/2009, 12:20
 
Fecha de Ingreso: julio-2008
Mensajes: 133
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: (Ayuda) Relacionar sistema de noticias a sistema de comentarios

arregle un par de cositas y ahora entra digamos a la pagina, epro al enviar el formulario falla la carga, por que aparece en blanco el nuevoComentario.php...

SI ALGUIEN SABE POR QUE ES, MUCHAS GRACIAS
  #5 (permalink)  
Antiguo 28/04/2009, 12:29
 
Fecha de Ingreso: abril-2009
Mensajes: 19
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: (Ayuda) Relacionar sistema de noticias a sistema de comentarios

puede ser que sea por esto:

Código php:
Ver original
  1. mysql_query("INSERT INTO comentarios VALUES
  2. ('$con','$idNoticia','$nickNuevo','$comentarioNo ticia')");

hay un espacio en blanco en el medio de la variable $comentarioNoticia... fijate si es eso..

saludos
  #6 (permalink)  
Antiguo 28/04/2009, 18:41
 
Fecha de Ingreso: julio-2008
Mensajes: 133
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: (Ayuda) Relacionar sistema de noticias a sistema de comentarios

tampoco, se queda en blanco...

Hay algo mal relacionando el sistema ya sea en la BD o en los archivos, pero no se que...


gracias igual
  #7 (permalink)  
Antiguo 05/06/2009, 14:24
 
Fecha de Ingreso: julio-2008
Mensajes: 133
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: (Ayuda) Relacionar sistema de noticias a sistema de comentarios

Nadie tiene un idea de que puede ser ?

Sigo buscando y no encuentro nada...
  #8 (permalink)  
Antiguo 05/06/2009, 14:55
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 17 años
Puntos: 18
Respuesta: (Ayuda) Relacionar sistema de noticias a sistema de comentarios

utiliza tag completo de php y variables superglobales

ademas debes de utilizar la funcion mysql_affected_rows() asi
Código :
Ver original
  1. mysql_query("INSERT INTO comentarios VALUES ('$con','$idNoticia','$nickNuevo','$comentarioNoticia')");
  2. if(mysql_affected_rows()>0)
  3. {
  4. //se inserto
  5. }
  6. else
  7. {
  8. //no se inserto
  9. }
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #9 (permalink)  
Antiguo 05/06/2009, 17:11
 
Fecha de Ingreso: julio-2008
Mensajes: 133
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: (Ayuda) Relacionar sistema de noticias a sistema de comentarios

Probe asi y tampoco....

El fallo esta en el archivo nuevoComentario.php sin dudas, el procece del comentario.



Me estoy fijando en la BD y no llegan ni siquiera a la BD los comentarios...

Les muestro como es nuevoComentario.php:

Cita:
<?php

$host = "localhost"; // hosting database
$dbuser = "USUARIO"; // username dari database
$dbpass = "PASS"; // password dari dabase
$dbname = "BD NOMBRE"; // nama database

// connection a la database
$connect = @mysql_connect($host,$dbuser,$dbpass) or die ("Can't connect to database");
mysql_select_db($dbname,$connect);

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"];
}
$resultCom2 = mysql_query("SELECT id FROM comentarios ORDER BY id DESC LIMIT 0,1");
$rowCom2 = mysql_fetch_array($resultCom2);
$con = $rowCom2["id"];
mysql_free_result($resultCom2);

$con++;
$idNoticia = $HTTP_POST_VARS["id"];
$comentarioNoticia = $HTTP_POST_VARS["comentario"];

mysql_query("INSERT INTO comentarios VALUES ('$con','$idNoticia','$nickNuevo','$comentarioNoti cia')");

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.";
}
}

?>

Abra algo mal aca ?
  #10 (permalink)  
Antiguo 06/06/2009, 06:17
 
Fecha de Ingreso: julio-2008
Mensajes: 133
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: Relacionar sistema de noticias a sistema de comentarios

por favor... no creo que sea tan complicado el tema, lo necesito si o si.

De verdad se los agradeceria si me dan una mano.

abrazos
  #11 (permalink)  
Antiguo 06/06/2009, 13:01
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 8 meses
Puntos: 8
Respuesta: Relacionar sistema de noticias a sistema de comentarios

Como piensas que se inserte los comentarios a la base de datos por arte de magia? yo no veo la conexion a la base de datos por ningun lao yo ya lo e probao y tengo el codigo funcionando al añadirle la conexion.
  #12 (permalink)  
Antiguo 06/06/2009, 15:43
 
Fecha de Ingreso: julio-2008
Mensajes: 133
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: Relacionar sistema de noticias a sistema de comentarios

Si que la tengo, en el nuevoComentario.php lo puse arriba, fijate los primeros renglones. Y en el otro tambiem, tengo un include, sino no podria funcionar el sistema de noticias
  #13 (permalink)  
Antiguo 06/06/2009, 23:00
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 8 meses
Puntos: 8
Pues entonces ahora mismo no sabria que decirte pero yo he cogido tu codigo el que indicabas y al añadirle la conexion a la base de datos ya funcionaba perfectamente... ahoa en un rato te pongo el codigo para que veas como lo he dejado yo

Aqui te dejo el codigo como lo he modificado y dejado yo y me funciona bien:

nuevoComentario.php

Código PHP:
<?php

include("../reg/config.php");

if(isset(
$_POST["id"]) && isset($_POST["nick"]) && isset($_POST["comentario"])) {
if(
$_POST["comentario"] != "")
{
if(
$_POST["nick"] == "")
{
$nickNuevo "anonimo";
}
else
{
$nickNuevo $_POST["nick"];
}
$resultCom2 mysql_query("SELECT id FROM comentarios ORDER BY id DESC LIMIT 0,1");
$rowCom2 mysql_fetch_array($resultCom2);
$con $rowCom2["id"];
mysql_free_result($resultCom2);

$con++;
$idNoticia $_POST["id"];
$comentarioNoticia $_POST["comentario"];

mysql_query("INSERT INTO comentarios VALUES
('$con','$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.";
}
}
?>
formucomentario.php

Código PHP:
<center>
<span style="font-size:11px;font-family:Tahoma;color:black;font-weight:bold">
.Enviar Comentario.
</span>
</center>
<p>
<form name="miFormu" action="nuevoComentario.php"
METHOD="post">
<input type="hidden" name="id" value="<?
echo $id?>">
Nick : <input type="text" name="nick" size=20 maxlength=20>
<br />
Comentario: <input type="text" name="comentario"
size=28 maxlength=250>
<BR>
<input type="submit" class="boton" value="Enviar
Comentario">
</form>
Espero te sirva :D

Última edición por GatorV; 07/06/2009 a las 12:34
  #14 (permalink)  
Antiguo 07/06/2009, 11:47
 
Fecha de Ingreso: julio-2008
Mensajes: 133
Antigüedad: 16 años, 4 meses
Puntos: 1
Ahi pruebo y te comento, gracias de antemano por la ayuda querido :D

Bueno, se avanzo en algo:

Ahora cuando envio un comenario, aparece al cargar el arch. nuevoComentario.php esto:

Comentario Enviado Con Exito.
Espere Unos Segundos...


Sin embargo el comentario no se inserto en la noticia... ahora me esoty fijando si por lo menos subio al a BD...

No, no se inserta.

En la base de datos de la noticias tengo 2 tablas: una berita y otra comentarios. Hasta ahi bien.

Entonces esta bien relacionado en la BD, o no ? y el archivo .php de la noticia tmb se llama berita.php...

No entiendo que estoy haciendo mal...

Aparece comentario enviado pero no se carga en la BD :S

Por favor, necesito su ayuda...

Última edición por GatorV; 07/06/2009 a las 16:48
  #15 (permalink)  
Antiguo 23/07/2009, 15:22
 
Fecha de Ingreso: julio-2009
Mensajes: 30
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Relacionar sistema de noticias a sistema de comentarios

epale ppnet, echame una mano yo tambien uso el dgnews y es un muuy bueno sistema de noticias, yo le agregue cosas en localhost pero ahora cuando lo subo al servidor no funciona el login no entra al admin. Ayudame si tu tuviste ese problema. Ya estoy agobiado con eso

gracias de antemano
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:26.