Jump to content

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

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.