Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/02/2011, 06:53
Avatar de ale_dla
ale_dla
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años, 11 meses
Puntos: 3
Ayuda respuesta php foro.

Hola a todos!
Estoy haciendo un foro en el cual pueden hacerse las respuestas.
Tengo 2 tablas uno de que es el de topics donde se guardan los temas y otro replies donde se guardan las respuestas con el id del tema(topic).
El codigo donde muestra el tema es este:
Topic.php
Código PHP:
<?php

include 'include/php/conexion.php';

//Conexion con la Base de Datos
$link=@dbConnect();
if (!
$link) {
    echo 
"Error conectando a la Base de Datos."
}

if (
$link =="202") {
    echo 
"Error seleccionando la Base de Datos.";
}

$sql_title "SELECT
            topic_id,
            topic_subject
        FROM
            topics
        WHERE
            topics.topic_id = " 
mysql_real_escape_string($_GET['id']);
            
$result_title mysql_query($sql_title); 

?>
 <div id="main">
  <div class="content">
<?php
$userid 
$_GET['userid'];
include(
'bbcode/bbcode.php');
 echo 
'<br />';
 
$topic_id preg_replace('#[^0-9]#i'''$_GET['id']); 
$sql_id mysql_query("SELECT * FROM topics WHERE topic_id='$topic_id' LIMIT 1");
$numRows mysql_num_rows($sql_id);
if (
$numRows 1) {
    echo 
"ERROR: Este tema no existe.";
    exit();
}



$sql "SELECT
            topic_id,
            topic_subject
        FROM
            topics
        WHERE
            topics.topic_id = " 
mysql_real_escape_string($_GET['id']);
            
$result mysql_query($sql);

if(!
$result)
{
    echo 
'Este tema no se puede mostrar, int&eacute;ntelo de nuevo.';
}
else
{
    if(
mysql_num_rows($result) == 0)
    {
        echo 
'Este tema no existe.';
    }
    else
    {
        while(
$row mysql_fetch_assoc($result))
        {

            echo 
'
            <table style="background-color: #F0F0F0; border:#069 1px solid; border-top:none;" width="900" border="0" align="center" cellpadding="12" cellspacing="0">
  <tr>
   <span class="topicTitles">'
.$row['topic_subject'] . '</span><br /><br />';
        
            
$posts_sql "SELECT
                        posts.post_topic,
                        posts.post_content,
                        posts.post_date,
                        posts.post_by,
                        users.userid,
                        users.username
                    FROM
                        posts
                    LEFT JOIN
                        users
                    ON
                        posts.post_by = users.userid
                    WHERE
                        posts.post_topic = " 
mysql_real_escape_string($_GET['id']);
                        
            
$posts_result mysql_query($posts_sql);
            
            if(!
$posts_result)
            {
                echo 
'No se puede mostrar el tema,int&eacute;ntelo de nuevo m&aacute;s tarde.';
            }
            else
            {
            
                while(
$posts_row mysql_fetch_assoc($posts_result))
                { 
                    echo 
'<a href="../profile/profile.php?id='.$posts_row['userid'].'">'.$posts_row['username'].'</a> escribi&oacute;
    &nbsp; &nbsp; &nbsp; el: <span class="topicCreationDate">'
.strftime("%b %d, %Y"strtotime($fecha)); '</span>
    <br />    
             '
;?><div class="topic_div"><?php echo bbcode($posts_row['post_content']).'<br>'.bbcode($_POST['contexto']);?></div>
            <?
            
}
            }
    

    echo 
'<hr/>';
            if(isset(
$_SESSION['userid'])){
                
$userid $_SESSION['userid'];
                
$username $_SESSION['username'];
            
                
                echo 
'<h2>Responder:</h2><br />
                <div id="log">
        <div id="log_res">
        <!-- SPANNER -->
        </div>
    </div>
                    <form method="post" action="reply.php?id=' 
$row['topic_id'] . '" name="responder" id="responder" onsubmit="return validarRespuesta();">
                    <div id="respuesta_error"></div>
                        <textarea cols="30" id="reply_content" rows="10" name="reply_content" class="full"></textarea><br />
                        <input type="submit" class="grand splendid" value="Enviar respuesta" />
                    </form>'
;
            }
            else
            {
                echo 
'Tienes que<a href="../login.php"> iniciar sesi&oacute;n</a> para responder.';
               
            }
            
        }
    }
}

 
?>
 </div></div>
El de respuesta reply.php
Código PHP:
<?php
session_start
();
include 
'include/php/conexion.php';
//Conexion con la Base de Datos
$link=@dbConnect();
if (!
$link) {
    echo 
"Error conectando a la Base de Datos."
}

if (
$link =="202") {
    echo 
"Error seleccionando la Base de Datos.";
}

if(
$_SERVER['REQUEST_METHOD'] != 'POST')
{
    echo 
'No tiene permiso para ver este archivo.';
}
else
{
    if(isset(
$_SESSION['userid']))
    {
         
        
$sql "INSERT INTO 
                    replies(reply_content,
                          reply_date,
                          reply_topic,
                          reply_by) 
                VALUES ('" 
$_POST['reply_content'] . "',
                        NOW(),
                        " 
mysql_real_escape_string($_GET['id']) . ",
                        " 
$_SESSION['userid'] . ")";
                        
        
$result mysql_query($sql);
                        
        if(!
$result)
        {
            echo 
'No se pudo guardar tu respuesta,por favor int&eacute;ntelo de nuevo.';
        }
        else
        {
            echo 
'<script type="text/javascript">history.go(-1);</script>';
            
        }
    }
    else
    {
        echo 
'Tienes que iniciar sesion.';
    }
}

?>
El problema que tengo es que siempre me muestra No se pudo guardar tu respuesta,por favor intentelo de nuevo.
Quien pueda ayudarme se los agradezco mucho!
Saludos