Foros del Web » Programando para Internet » PHP »

Problema con sistema de comentarios

Estas en el tema de Problema con sistema de comentarios en el foro de PHP en Foros del Web. Hola amigos foreros! he aqui una duda grande....he revisado el foro pero no hay nada que me saque la duda. El punto es que he ...
  #1 (permalink)  
Antiguo 10/09/2009, 18:03
Avatar de gabyfornia  
Fecha de Ingreso: diciembre-2004
Ubicación: USA
Mensajes: 182
Antigüedad: 19 años, 4 meses
Puntos: 0
Exclamación Problema con sistema de comentarios

Hola amigos foreros! he aqui una duda grande....he revisado el foro pero no hay nada que me saque la duda.
El punto es que he tomado el sistema de comentarios que esta en Maestros del Web que se mira muy asequible, el punto es que me da el siguiente error:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\wamp\www\hinchadaloca\nuevoComentario.php on line 28


Como ustedes sabrán si han visitado ese tópico en Maestros del Web, el sistema se compone de varios códigos, además de la base de datos, claro esta.

La cuestión es que parece que hubiera un error en el archivo nuevoComentario.php porque el error que muestro mas arriba, deviene de el archivo mencionado.

Aqui traslado los códigos utilizados a ver si me echan una mano, mejoramos esto y queda luego a disposición del resto de los colegas.

Archivo que muestra los comentarios

<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;">
<?php
$resultComen = mysql_query("SELECT * FROM comentarios WHERE id_noticia='$id' ORDER BY id ASC");
while($rowComen = mysql_fetch_array($resultComen))
{
?> ;
< FONT COLOR=RED>
< B><?php echo $rowComen["nick"]; ?></B>
< /FONT>
:
< ?php echo $rowComen["comentario"]; ?>
< BR>
< ?
}
mysql_free_result($resultComen);
?>
</SPAN>
</TD>
</TR>
</TABLE>
</CENTER>


Archivo que Envia los comentarios

<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="EnviarComentario"></FORM>


Archivo que procesa los comentarios (nuevoComentario.php)

<? 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','$comentar ioNo 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.";}}?> Bien, espero que esto sirva para que me den una mano y poder develar el "misterio"que me "corroe" por dentro. Desde ya muchas gracias.
__________________
:stress: De las Aves que Vuelan me gusta el Chancho!!:si:
  #2 (permalink)  
Antiguo 10/09/2009, 18:06
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 1 mes
Puntos: 25
Respuesta: Problema con sistema de comentarios

Podrias poner porfavor la linea que te da error denuevoComentario.php, ya se que es la 28, pero que esta escrito en la 28 y en la 27..

Otra cosa que PHP usas? Yo reemplazaria $HTTP_POST_VARS por $_POST
  #3 (permalink)  
Antiguo 10/09/2009, 20:36
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 4 meses
Puntos: 21
Respuesta: Problema con sistema de comentarios

Si escribis todo un script en la misma linea te pasa eso que no podes encontra la simple falta de un ";"

Te sobra un espacio en "<? php" pero igual, ese no es el error en este caso.
  #4 (permalink)  
Antiguo 11/09/2009, 06:01
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Problema con sistema de comentarios

toma pruebalo ahora e aclarado un pelin tu codigo porque la verdad estaba todo echo un nudo :D

Código PHP:
<?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','$comentar ioNo 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.";
    }
    }
haber ahora.. prueba
  #5 (permalink)  
Antiguo 11/09/2009, 06:50
Avatar de gabyfornia  
Fecha de Ingreso: diciembre-2004
Ubicación: USA
Mensajes: 182
Antigüedad: 19 años, 4 meses
Puntos: 0
Respuesta: Problema con sistema de comentarios

Voy a probar este nuevo código "depurado" y les cuento, desde ya gracias por su excelente onda!
__________________
:stress: De las Aves que Vuelan me gusta el Chancho!!:si:
  #6 (permalink)  
Antiguo 11/09/2009, 07:08
Avatar de gabyfornia  
Fecha de Ingreso: diciembre-2004
Ubicación: USA
Mensajes: 182
Antigüedad: 19 años, 4 meses
Puntos: 0
Respuesta: Problema con sistema de comentarios

Bien amigos, el ajuste que hizo rompeguesos es excelente, solo hice un par de ajustecitos mas porque daba error en los arrays....aqui el código definitivo de nuevoComentario.php, a eso se le suman los dos primeros códigos de este mismo post -al comienzo- que están bien:


<?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','$comentar ioNoticia')");
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.";
}
}
?>

No se olviden de colocar al principio la conexión a la base de datos.

Por ejemplo:

<?php require_once('Connections/loquesea.php'); ?>
__________________
:stress: De las Aves que Vuelan me gusta el Chancho!!:si:
  #7 (permalink)  
Antiguo 11/09/2009, 07:09
Avatar de gabyfornia  
Fecha de Ingreso: diciembre-2004
Ubicación: USA
Mensajes: 182
Antigüedad: 19 años, 4 meses
Puntos: 0
Respuesta: Problema con sistema de comentarios

Ah! solo juntar el texto donde dice $comentar ioNoticia, debe decir: $comentarioNoticia
__________________
:stress: De las Aves que Vuelan me gusta el Chancho!!:si:
  #8 (permalink)  
Antiguo 11/09/2009, 07:11
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Problema con sistema de comentarios

jejeje oye tenia fallos de la \ en las " . En tu codigo no las tenia en l de <SCRIPT LANGUAGE=\"javascript\">window.location.href =\"".getenv('HTTP_REFERER')."\"</SCRIPT>";

por eso creo yo que era lo que te daba error osino fijate en tu codigo veras como no tiene las barras invertidas :D
  #9 (permalink)  
Antiguo 16/09/2009, 07:19
Avatar de gabyfornia  
Fecha de Ingreso: diciembre-2004
Ubicación: USA
Mensajes: 182
Antigüedad: 19 años, 4 meses
Puntos: 0
Respuesta: Problema con sistema de comentarios

Maestro rompeguesos, usted que esta en el tema y resolvio, en definitiva, este asunto tengo algo curioso que me sucede con este sistema.
El sistema lo he implementado en el sitio para cuatro situaciones diferentes y por ende he clonado los scripts para cada caso.
El tema es que lo extraño es que el sistema funciona al insertar uno o dos comentarios y al tecero aparece lo siguiente:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/content/r/a/f/rafaeloolivas/html/nuevoComentario3.php on line 11

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/content/r/a/f/rafaeloolivas/html/nuevoComentario3.php on line 13
Comentario Enviado Con Exito.
Espere Unos Segundos...

Tendrás idea a que se puede deber esto?

Luego vuelvo a subir el script de nuevoComentario3.php y vuelve a funcionar, para luego otra vez aparecer el mensaje del warning....
alguna idea?
Desde ya gracias
__________________
:stress: De las Aves que Vuelan me gusta el Chancho!!:si:
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 23:59.