Stopped working :|

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
Aaron
Forum Commoner
Posts: 82
Joined: Sun May 12, 2002 2:51 pm

Stopped working :|

Post by Aaron »

Hi, a comment script i re-worked isnt working (an example 'here!')

Code: Select all

<?php
class threaded_comments&#123;

    var $db_user="unknownz";
    var $db_pass="password";
    var $db_host="localhost";
    var $db_name="unknownz";

    var $referer_match="http://www.unknownzone.org/series/comment.php";

    function SQLsend($sql)&#123;
        $db=mysql_connect($this->db_host,$this->db_user,$this->db_pass) or die ("cant connect");
        mysql_select_db($this->db_name,$db) or die ("cant change");
        $query=mysql_query($sql);
    &#125;

    function SQLfetch($sql)&#123;
        $db=mysql_connect($this->db_host,$this->db_user,$this->db_pass) or die ("cant connect");
        mysql_select_db($this->db_name,$db) or die ("cant change");
        $query=mysql_query($sql);
        $fetch=mysql_fetch_assoc($query);
        return $fetch;
    &#125;

    function showInputTable($parent_id,$page_name,$news_id,$user,$email)&#123;
        if($parent_id)&#123;
            $sql="select title from unz_comments where ID='".$parent_id."'";
            $result=$this->SQLfetch($sql);
        &#125;
        ?>
        <form action="<?echo $page_name?>?id=<?echo $news_id?>" method=POST>

  <table cellpadding=1 cellspacing=1 border=1 bordercolor=#000000 bgcolor="#FFFFFF">
    <tr bgcolor="#000000">
      <td class="smaller" colspan=2><font face="Verdana" size="2"><b>
        <?
            if($parent_id)&#123;
                if($result&#1111;"title"])&#123;$title=$result&#1111;"title"];&#125;else&#123;$title="Untitled Comment";&#125;
                echo "<font color="white">Add A Comment to <font color="white">".$title." (# ".$parent_id.")</font></b></td></tr>";
            &#125;else&#123;
                echo "<font color="white">Add A <font color="white">New Comment</font></i></b></td></tr>";
            &#125;
            ?>
        </font>
    <tr>
      <td class="smaller"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Username:</font></td>
      <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
        <input type="text" name="NAME" value="<?echo $user?>" size=30 maxlength=100>
        </font></td>
    </tr>
    <tr>
      <td class="smaller"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Email
        Address:</font></td>
      <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
        <input type="text" name="EMAIL" value="<?echo $email?>" size=40 maxlength=100>
        </font></td>
    </tr>
    <tr>
      <td class="smaller"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Title:</font></td>
      <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
        <input type="text" name="title" value="<?if($result&#1111;"title"])&#123;echo "Re: ".$result&#1111;"title"];&#125;?>" size=40 maxlength=200>
        </font></td>
    </tr>
    <tr>
      <td class="smaller" valign=top><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Comments:</font></td>
      <td> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
        <textarea cols=35 rows=10 name="COMMENTS" wrap="virtual"></textarea>
        </font></td>
    </tr>
    <tr>
      <td colspan=2 align=center> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
        <input type="hidden" name="parent_id" value="<?echo $parent_id?>">
        <input type="hidden" name="NEWS_ID" value="<?echo $news_id?>">
        <input type="submit" name="comment_submit" value="Submit Comment">
        </font></td>
    </tr>
  </table>
        </form>
        <?
    &#125;

    function addComment($array,$news_id,$referer)&#123;
        if(ereg($this->referer_match,$referer))&#123;
            unset($array&#1111;"comment_submit"]);
            foreach($array as $key => $value)&#123;
                $keys.=$key.",";
                $values.="'".$value."',";
            &#125;
            $values=substr($values,0,strlen($values)-1);
            $keys=substr($keys,0,strlen($keys)-1);
            $sql="insert into unz_comments (DATE_POSTED,".$keys.",ID) values ('".time()."',".$values.",NULL)";
            echo "<!-- Input SQL: $sql -->\n\n";
            $this->SQLsend($sql);
        &#125;
    &#125;

    function showListing($news_id)&#123;
        $db=mysql_connect($this->db_host,$this->db_user,$this->db_pass) or die ("cant connect");
        mysql_select_db($this->db_name,$db) or die ("cant change");
        $sql="select title, ID, NAME, DATE_POSTED, COMMENTS, parent_id,EMAIL,NEWS_ID,user_id from unz_comments where NEWS_ID='".$news_id."' order by DATE_POSTED asc";
        $query=mysql_query($sql);
        while($rows=mysql_fetch_assoc($query))&#123;
            $comments&#1111;]=array("TITLE"=>$rows&#1111;"title"],"PARENT_ID"=>$rows&#1111;"parent_id"],"USER"=>$rows&#1111;"NAME"],"TIME_POSTED"=>$rows&#1111;"DATE_POSTED"],"ID"=>$rows&#1111;"ID"],"CONTENT"=>$rows&#1111;"COMMENTS"],"EMAIL_ADDRESS"=>$rows&#1111;"EMAIL"]);
        &#125;
        //print_r($comments); echo "<hr>";
        $parent_id=0;
        if($comments)&#123;
            foreach($comments as $key => $value)&#123;
                $this->display($value,$comments,$parent_id,"1",$news_id);
            &#125;
        &#125;else&#123;
            echo "<B>No comments for this article yet! Be the first to voice your opinion!<br>";
        &#125;
    &#125;

    function display($array,$comments,$parent_id,$border,$news_id)&#123;
        //$border=1;
        if($array&#1111;"PARENT_ID"]==$parent_id)&#123;
            if($border)&#123;$color="white";&#125;else&#123;$color="#eeeeee";&#125;
            echo "<table cellpadding=3 cellspacing=0 border=1 bordercolor=".$color." width=430>\n";
            echo "<tr>";
            if($array&#1111;"TITLE"])&#123;$title=$array&#1111;"TITLE"];&#125;else&#123;$title="Untitled Comment";&#125;
            echo "<td class="smaller" bgcolor=black><A href="?parent_id=".$array&#1111;"ID"]."" class="link_title"><b>".$title."</b></a></td>";
            echo "<td class="comments" bgcolor=white align=right>".date("m.d.Y H:i:s",$array&#1111;"TIME_POSTED"])."</td></tr>";
            $email=str_replace(array("@","."),array(" at "," dot "),$array&#1111;"EMAIL_ADDRESS"]);
            echo "<tr><td class="comments" colspan=2><font color=white><i>by ".$array&#1111;"USER"]."</i> &nbsp;(".$email.")</font><br>";
            echo nl2br(stripslashes($array&#1111;"CONTENT"]))."<br>";
            echo "<a href="?parent_id=".$array&#1111;"ID"]."&id=".$news_id."" class="link_comment"><b>Comment on this...</b></a></td></tr>\n";
            foreach($comments as $key => $value)&#123;
                if($value&#1111;"PARENT_ID"]==$array&#1111;"ID"])&#123;
                    $parent_id=$array&#1111;"ID"];
                    echo "<tr><td align=left colspan=2 valign=top><ul>";
                    $this->display($comments&#1111;$key],$comments,$parent_id,"0",$news_id);
                    echo "</td></tr>";
                &#125;
            &#125;
            echo "</table><br>\n";
        &#125;
    &#125;

/* end class */
&#125;
?>
<HTML>
<HEAD>
</HEAD>
<BODY BGCOLOR="black" LINK="#FFFFFF" VLINK="#FFFFFF" ALINK="#FFFFFF">
<?php
$com=new threaded_comments;
if($comment_submit)&#123;
    $com->addComment($HTTP_POST_VARS,$HTTP_POST_VARS&#1111;"NEWS_ID"],$HTTP_REFERER);
&#125;
$com->showListing($id);
echo "<p>";
if(!$parent_id)&#123;$parent_id="0";&#125;
$com->showInputTable($parent_id,$PHP_SELF,$id,$username,$email_address);
?>
</BODY>
</HTML>
User avatar
twigletmac
Her Royal Site Adminness
Posts: 5371
Joined: Tue Apr 23, 2002 2:21 am
Location: Essex, UK

Post by twigletmac »

What version of PHP are you trying to run it on?

If it's 4.2, have you read this?

Do you get any error messages? What does it do/not do so that you know it isn't working?

Mac
Aaron
Forum Commoner
Posts: 82
Joined: Sun May 12, 2002 2:51 pm

Post by Aaron »

its version 4.0.0 - it was workin, no error message, now it just doesnt work full stop :|
jason
Site Admin
Posts: 1767
Joined: Thu Apr 18, 2002 3:14 pm
Location: Montreal, CA
Contact:

Post by jason »

1. Whats the database structure look like.

2. What doesn't work?

3. Did you ask enygma for help?
Aaron
Forum Commoner
Posts: 82
Joined: Sun May 12, 2002 2:51 pm

Post by Aaron »

jason wrote:1. Whats the database structure look like.

2. What doesn't work?

3. Did you ask enygma for help?
Goto the url, submitting a comment doesnt work :(
when the id is put in it adds to the NEWS_ID in the unz_comment table, whereas the unz table works of just ID...

Whos enygma?
Aaron
Forum Commoner
Posts: 82
Joined: Sun May 12, 2002 2:51 pm

Post by Aaron »

Aaron
Forum Commoner
Posts: 82
Joined: Sun May 12, 2002 2:51 pm

Post by Aaron »

Sorted, the var had to be to index.php not comment.php :p
Post Reply