+ Responder Tema
Página 2 de 2 PrimerPrimer 12
Resultados 16 al 20 de 20

Tema: sistema de comentarios

  1. #16
    Me va gustando esto... Habitante josevigo Está en el buen camino
    Fecha de Ingreso
    09 oct, 09
    Mensajes
    116
    Poder de Reputación
    4
    Como yo andaba detras de este tema al final os pondre mi solucion, es algo rebuscadilla je, je.
    Lo primero es que todas las paginas donde se instale el sistema tienen que tener extension .php (si no no va) y por supuesto que el servidor te admita bases de datos y php.
    consta de tres partes :
    1º Un codigo para insertar en la pagina donde se quieren poner.
    2º un archivo con extension php para procesar la informacion
    3º un archivo de conexion a la base de datos.

    Para epezar vamos a nuestra base de datos y creamos una tabla en consultas con el siguiente codigo:


    CREATE TABLE zx_comentarios (
    ora TEXT,
    nick TEXT,
    comentario TEXT
    );


    (todo lo que esta en rojo lo puedes cambiar a tu gusto)


    2º pegamos este codigo en la pagina donde querramos poner el comentario :



    <hr>

    <center>


    COMENTARIOS


    <?php
    include("conex.phtml");
    $link=Conectarse();
    $result=mysql_query("SELECT * FROM `zx_comentarios`",$link);
    ?>

    <TABLE BORDER=2 bordercolor="black" CELLSPACING=0 CELLPADDING=1 WIDTH=600 TD BGCOLOR="#F0FFFF"SPAN STYLE="font-size:12px;font-family:Tahoma;color:black;font-weight:bold;">

    <TR><TD><font color="red">fecha:</TD><TD><font color="red">nick:</TD><TD><font color="red">comentario:</font></TD></TR>

    <?php
    while($row = mysql_fetch_array($result)) {
    printf(" ",$row["nick"],$row["comentario"]);



    printf("<tr><td> %s</td><td> %s</td><td> %s</td></tr>",$row["ora"],$row["nick"],$row["comentario"]);

    }
    mysql_free_result($result);
    mysql_close($link);
    ?>


    </table>

    </center>
    <center>


    <form action="procesar.php" method="get" enctype="multipart/form-data">


    nombre:

    <input type="text" name="nick" size="16" maxlength="16" /></p>


    Comentario:

    <textarea name="comentario" cols="40" rows="6"></textarea></p>


    Para evitar el spam contesta a la pregunta:
    ¿eres humano?
    si<input type="radio" name="nick1"value="si"> no <input type="radio" name="nick2"Value="reset"></p>
    <input type="reset" />
    <input type="submit" NAME="accion" value="Grabar"/>
    </form>

    </center>




















    </body>
    </html>


    3º creamos en archivo para procesar los datos se llamara: procesar.php

    <?php
    include("conex.phtml");
    $link=Conectarse();
    $nick=htmlspecialchars($_GET['nick']);
    $comentario=htmlspecialchars($_GET['comentario']);
    $ora=date('H:i -jM Y');
    ?>
    <?php
    if ($_REQUEST['comentario']== "") {
    echo '<h2><font color="red">Tienes que poner tu comentario.</font></h2><h2>Pincha aquí para corregir los fallos.</h2>';
    }
    elseif ( $_REQUEST['nick']== ""){
    echo '<h2><font color="red">Tienes que poner tu nombre.</h2></font><h2>Pincha aquí para corregir los fallos.</h2>';
    }
    elseif ( $_REQUEST['nick1']== ""){
    echo '<h2><font color="red">Tienes que contestar a la pregunta, pon "si" </h2></font><h2>Pincha aquí para corregir los fallos.</h2>';
    }
    elseif ( $_REQUEST['nick2']== "reset"){
    echo '<h2><font color="red">Tienes que contestar a la pregunta, pon "si" </h2></font><h2>Pincha aquí para corregir los fallos.</h2>';

    }









    else { mysql_query("insert into zx_comentarios (ora, nick, comentario) values('$ora','$nick','$comentario')",$link);
    echo 'tu comentario ha sido grabado pincha para volver';
    }








    ?>




    y por ultimo el archivo de conexion con tu base de datos que se llamara : conex.phtml


    <?
    function Conectarse()
    {
    if (!($link=mysql_connect("nombre del servidor de la base de datos","usuario","contraseña")))
    {
    echo "Error conectando a la base de datos.";
    exit();
    }
    if (!mysql_select_db("el nombre que te dan para la base de datos",$link))
    {
    echo "Error seleccionando la base de datos.";
    exit();
    }
    return $link;

    }

    ?>



    Notas:


    Los nombres de la base de datos son proporcionados por el servido igual que usuario, la contraseña a veces la puedes cambiar en el servidor.

    El archivo conex.phtml te sirve para todos.
    tienes que crear una tabla para cada pagina y un archivo de conexion para cada una tambien.


    solo si le añades por ejemplo :


    CREATE TABLE zx_comentarios1 (
    ora TEXT,
    nick TEXT,
    comentario TEXT
    );


    y la siguiente 2 , etc y a los archivos igual ya no hara falta cambiar nada excepto los links claro.

    Si quereis ver un ejemplo podeis pinchar este link http://www.las-rias.eu/rias1a.php

    Espero les sirva .

    saludos

  2. #17
    Me va gustando esto... Habitante KenLego Está en el buen camino
    Fecha de Ingreso
    27 nov, 08
    Ubicación
    Rosario, Argentina
    Mensajes
    232
    Poder de Reputación
    7
    method="get"
    $_GET[]
    Eso no se usa para este tipo de cosas, tienes que usar $_POST, $_GET es para envios de 1 o dos palabras y generalmente no por formulario

    values('$ora','$nick','$comentario')"
    Si vas a meter en la db variables enviadas mediante un formulario, no deberias usar comillas simples sino dobles, las comillas dobles " con htmlspecialchars() son reemplazadas por &quot; mientras que las simples se dejan como estan, y si un usuario en una parte del comentario pusiera ') la pagina daria error...
    Si quieres usar comillas simples en vez de htmlspecialchars() usa htmlentities($variable, ENT_QUOTES);
    agregando ENT_QUOTES reemplazas las ' por su entidad html

  3. #18
    Me va gustando esto... Habitante josevigo Está en el buen camino
    Fecha de Ingreso
    09 oct, 09
    Mensajes
    116
    Poder de Reputación
    4
    Me puedes poner un ejemplo practico en que no vaya bien.
    He probado con muchas posibilidaes y hasta ahora no me dio fallo.
    Incluso a pegar un parrafo completo sin ningun problema.
    Ademas por lo que lei el metodo post es mas utilizado por los cracker para introducir codigo malicioso.
    Saludos

  4. #19
    Me va gustando esto... Habitante KenLego Está en el buen camino
    Fecha de Ingreso
    27 nov, 08
    Ubicación
    Rosario, Argentina
    Mensajes
    232
    Poder de Reputación
    7
    Lo estas diciendo al reves, lo mas usado es get
    Busca en google xss y veras

  5. #20
    Me va gustando esto... Habitante josevigo Está en el buen camino
    Fecha de Ingreso
    09 oct, 09
    Mensajes
    116
    Poder de Reputación
    4
    Gracias por tus consejos KenLego,
    No tengo de momento tiempo por motivos de curre para hacer los cambios y probar tus recomendaciones, en cuanto lo tenga publicare el nuevo codigo mejorado, pero de momento dejo este porque hasta la fecha no me dio fallos.
    Saludos.

+ Responder Tema

Temas Similares

  1. sistema de comentarios
    Por yiner en el foro Foros
    Respuestas: 2
    Último Mensaje: 03/03/2010, 14:56
  2. Sistema de comentarios.
    Por Diaz92 en el foro Foro General
    Respuestas: 3
    Último Mensaje: 17/08/2008, 15:39

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes