Jump to content

PHP Forum Edit help!


rEhSi_123

Recommended Posts

Hello Fellow Members ;)

Need a bit of a help. I have a php/mysql forum system and for some unknown reason I am unable to edit my topic post???

 

Here is the part of the code which does the edit:CODE1


<?php


if(!$_SESSION['uid']){
header("Location: index.php");
}

$actz = $_GET['act2'];
$actzz = array('reply','topic','admin');

if($actz){
$admin = isa($_SESSION['uid']);

if($actz == 'admin'){
    if($admin){
	//
	}else {
	   echo "You are not an administrator, so you cannot view this page!";
	   }
        }

if($actz == 'reply'){
	$id = mss($_GET['id']);
	if($id){
		$sql = "SELECT * FROM `forum_replies` WHERE `id`='".$id."'";
		$res = mysql_query($sql) or die(mysql_error());
		if(mysql_num_rows($res) == 0){
			echo "This topic doesn't exist, so therefore you cannot edit it!";
			}else {
				$row = mysql_fetch_assoc($res);
				$user_id = $row['uid'];

				if($user_id == $_SESSION['uid'] || $admin == 1){
				  if(!$_POST['submit']){
echo "<form method=\"post\" action=\"index.php?act2=reply&id=".$id."\">\n";
echo "<table border=\"0\" width=\"100%\" cellspacing=\"3\" cellpadding=\"3\">\n";
echo "<tr><td class=\"forum_header\" align=\"center\"><textarea style=\"width:90%;height:200px\" name=\"reply\">".$row['message']."</textarea></td></tr>\n";
echo "<tr><td class=\"forum_header\" align=\"center\"><input type=\"submit\" name=\"submit\" value=\"Edit This Reply\"></td></tr>\n";
						echo "</table></form>\n";
						}else {
							$reply = mss($_POST['reply']){
								if($reply){
									$r = range(10, 10000);
									if(in_array(strlen($reply),$r)){
$sql2 = "UPDATE `forum_replies` SET `message`='".$reply."', `edit_time`='".time()."' WHERE `id`='".$id."'";
$res2 = mysql_query($sql2) or die(mysql_error());
header("Location: index.php?act=topic&id=".$row['tid']."");
}else {
echo "Your message must be between 10 and 10000";
											}
									}
								}
							}else {
								echo "This is not your reply to edit!";
								}
					}
				}
		}

	}
if($actz == 'topic'){

	}
 }else {
header("Location: index.php");
}
?>

 

Know I call this page from my topic.php page and the code for this is:CODE2:


<?php

$id = mss($_GET['id']);
$page = (!$_GET['page'] || $_GET['page'] < 0) ? "1" : $_GET['page'];
$page = ceil($page);

$limit = 10;
$start = $limit;
$end = $page*$limit-($limit);

if($id){
$sql = "SELECT * FROM `forum_topics` WHERE `id`='".$id."'";
$res = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($res) == 0){
	echo "This topic does not exists!";
	}else {
		$row = mysql_fetch_assoc($res);
		$sql2 = "SELECT admin FROM `forum_sub_cats` WHERE `id`='".$row['cid']."'";
		$res2 = mysql_query($sql2) or die(mysql_error());
		$row2 = mysql_fetch_assoc($res2);
		if($row2['admin'] == 1 && $admin_user_level == 0){
			echo "You cannot view this topic!";
			}else {
				$a = (isa($row['uid'])) ? "<font style=\"color:#800000;\">ADMIN</font>" : "";
				echo "<table border=\"0\" width=\"100%\"cellspacing=\"3\" cellpadding=\"3\">\n";
				echo "<tr><td colspan=\"2\" align=\"left\" class=\"forum_header\"><b>".$row['title']."</b>- Posted on: <em>".$row['date']."</em></td></tr>\n";
				echo "<tr><td align=\"left\" width=\"15%\" valign=\"top\" class=\"forum_header\">".uid($row['uid'],true)."<br>Post Count: ".post($row['uid'])."</br>".$a."</td>\n";
				echo "<td align=\"left\" valign=\"top\" class=\"forum_header\">\n";
				echo topic($row['message']);
				echo "</td>\n";
				echo "</tr>\n";
				$amount_check = "SELECT * FROM `forum_replies` WHERE `tid`='".$id."'";
				$amount_check_res = mysql_query($amount_check) or die(mysql_error());
				$amount_count = mysql_num_rows($amount_check_res);
				$pages = ceil($amount_count/$limit);

$previous = ($page-1 <= 0) ? "« Prev" : "<a href=\"./index.php?act=topic&id=".$id."&page=".($page-1)."\">« Prev</a>";
$nextpage = ($page+1 > $pages) ? "Next »" : "<a href=\"./index.php?act=topic&id=".$id."&page=".($page+1)."\">Next »</a>";
				echo "<tr><td align=\"right\" colspan=\"2\" class=\"forum_header\">\n";
				echo "Pages: ";
				echo $previous;
				for($i=1;$i<=$pages;$i++){
					$href = ($page == $i) ? " ".$i." " : " <a href=\"./index.php?act=topic&id=".$id."&page=".$i."\">".$i."</a> ";

					echo $href;
				}
				echo $nextpage;
				echo "</td></tr>\n";
				$select_sql = "SELECT * FROM `forum_replies` WHERE `tid`='".$id."' ORDER BY id ASC LIMIT ".$end.",".$start."";
				$select_res = mysql_query($select_sql) or die(mysql_error());

				while($rowr = mysql_fetch_assoc($select_res)){
echo "<tr><td colspan=\"2\" align=\"left\" class=\"forum_header\">Posted on: <em>".$rowr['date']."</em></td></tr>\n";
echo "<tr><td align=\"left\" width=\"15%\" valign=\"top\" class=\"forum_header\">".uid($rowr['uid'],true)."<br>Post Count: ".post($rowr['uid'])."</br>".$a."</td>\n";
				echo "<td align=\"left\" valign=\"top\" class=\"forum_header\">\n";
				echo topic($rowr['message']);
				if($rowr['edit_time'] > 0){
echo "<tr><td align=\"right\"><em>Last Edit at:".date("D m, y",$rowr['edit_time']) . " at " . date("h:i:s",$rowr['edit_time'])."</em></td></tr>\n";
					}
				$adminz = isa($_SESSION['uid']);
				if($adminz == 1 || $rowr['uid'] == $_SESSION['uid']){
echo "<tr><td align=\"left\" colspan\"2\"><a href=\"./index.php?act=mod&act2=reply&id=".$rowr['id']."\">Edit This Topic</a></td></tr>\n";
				}
				echo "</td>\n";
				echo "</tr>\n";
				}		

echo "<form method=\"post\" action=\"./index.php?act=reply&id=".$row['id']."\">\n";
echo "<tr><td colspan=\"2\" align=\"center\"><textarea style=\"width:90%\" name=\"reply\"></textarea><br><input type=\"submit\" name=\"submit\" value=\"Add Reply\" stlye=\"width:90%\"></td</tr>\n";
				echo "</table>\n";
				  }  
					}
						}else {
								echo "Please view a valid topic!";
							  }
?>

 

Now when I click on the "Edit This Topic@ it should take me to the "./index.php?act=mod&act2=reply&id=".$rowr['id']." page which it does but the page is EMPTY......

 

The page is not giving me any errors whatso ever.....

 

Somebody Please check my code.

 

Thanks

 

 

Link to comment
https://forums.phpfreaks.com/topic/149284-php-forum-edit-help/
Share on other sites

Right Just as a update......I corrected the link in CODE1 as follows:


if(!$_POST['submit']){
echo "<form method=\"post\" action=\"index.php?act=mod&act2=reply&id=".$id."\">\n"; <---Amended--->
echo "<table border=\"0\" width=\"100%\" cellspacing=\"3\" cellpadding=\"3\">\n";
echo "<tr><td class=\"forum_header\" align=\"center\"><textarea style=\"width:90%;height:200px\" name=\"reply\">".$row['message']."</textarea></td></tr>\n";
echo "<tr><td class=\"forum_header\" align=\"center\"><input type=\"submit\" name=\"submit\" value=\"Edit This Reply\"></td></tr>\n";
                     echo "</table></form>\n";

 

But still the page is blank!!!!!! ???

Link to comment
https://forums.phpfreaks.com/topic/149284-php-forum-edit-help/#findComment-784155
Share on other sites

Thanks 'premiso' for advice almost lost the will to live.... :P;D

 

Anyways....add the code to my index page but still no luck

Although I do have notice on my topic.php page saying

Notice: Undefined index: page in C:\wamp\www\login\includes\topic.php on line 4

 

....here is my index page:

<?php
session_start();
include "./global.php";

ini_set("error_reporting", E_ALL);
ini_set("display_errors", 1);


$action = $_GET['act'] ;
$actions_array = array('forum','create','topic','reply','mod');
?>
<html>
<head>
<title>Forum</title>
<link rel="stylesheet" type="text/css" href="./style.css">

		<script language="Javascript">
			function confirmLogout() {
			var agree = confirm("Are you sure you wish to logout?");

			if (agree){
				return true ;
			}else {
				return false ;
			}

		}
		</script>
</head>
<body>
<center>
<div id="holder">
<div id="userinfo">
<?php

	   if ($_SESSION['uid']) {

		echo $_SESSION['uid'];
		$sql = 'SELECT * FROM users WHERE id = '. (int) $_SESSION['uid'];
		$res = mysql_query($sql) or die(mysql_error());

		if(mysql_num_rows($res) == 0){
			session_destroy();
			echo "Please <a href=\"./login.php\">Login</a> to your account, or <a href=\"./register.php\">Register</a> a new account!\n";

		}else {
			$row = mysql_fetch_assoc($res);
			echo "Welcome back, <a href=\"./index.php?act=profile&id=".$row['id']."\">".$row['username']."</a>! <a href=\"./logout.php\" onClick=\"return confirmLogout()\">Logout</a>\n";
			echo "<br>\n";
			echo "<a href=\"./index.php\">Forum Index</a>\n";
			if($row['admin'] == '1'){
			echo " | <a href=\"./admin.php\">Administrative Section</a>\n";
		    }
		} 
	    }else {
                        echo "Please <a href=\"./login.php\">Login</a> to your account, or <a href=\"./register.php\">Register</a> a new account!\n";
                   }

				$admin_user_level = $row['admin'];
?>
</div>
		<div id="content">
		<?php
					if(!$action || !in_array($action,$actions_array)){
						$sql1 = "SELECT * FROM `forum_cats` WHERE `admin` < ".$row['admin']."+1";
						$res1 = mysql_query($sql1) or die(mysql_error());

						$i=1;
					while ($row2 = mysql_fetch_assoc($res1)){
						echo "<div id=\"fcontent\">\n";
						echo " <div class=\"header\" id=\"header_".$i."\" onMouseOver=\"this.className='headerb'\" onMouseOut=\"this.className='header'\">".$row2['name']."</div>\n";

						$sql2 = "SELECT * FROM `forum_sub_cats` WHERE `cid`='".$row2['id']."' AND `admin` < ".$row['admin']."+1";
						$res2 = mysql_query($sql2) or die(mysql_error());

				   while ($row3 = mysql_fetch_assoc($res2)){
						echo " <div id=\"content\">\n";
						echo " <a href=\"./index.php?act=forum&id=".$row3['id']."\">".$row3['name']."</a><br>\n";
						echo " " . $row3['desc'] . "\n";
						echo " </div>\n";
						}

						echo "</div>\n";
						$i++;
					}
					}else{
					if($action == 'forum'){
					include "./includes/forum.php";
					}
					if($action == 'create'){
					include "./includes/create.php";
					}
					if($action == 'topic'){
					include "./includes/topic.php";
					}
					if($action == 'reply'){
							if(!$_SESSION['uid']){
								header("Location; login.php");
								}else{
								include "./includes/reply.php";	
					}
					if($action == 'mod'){
							if(!$_SESSION['uid']){
								header("Location; login.php");
								}else{
								include "./includes/mod.php";	
					}
				}
			}
		}		
		?>	
		</div>
</div>
</center>
</body>
</html>

 

Link to comment
https://forums.phpfreaks.com/topic/149284-php-forum-edit-help/#findComment-784572
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.