PHP MYSQL: User Delete his own post -


i have created forum people can register/login post topics , replies.

now added delete link next each topic if pressed go deletetopic.php , if user has created topic deleted, if not, didn't create topic.

this deletetopic.php

<?php session_start(); include("config.php");  if(!isset($_session['uid'])){             echo "<p><b>error: please log in delete topic.";         }  if(isset($_session['username'])) {     $uid = $_session['uid'];      $id=$_get['id'];      $query1=mysql_query("delete topics id='$id' , uid='$uid'");     if($query1){         header('location:index.php');     }     else{         echo "<p><b>error: didnt make topic.";     } } 

it doesnt work, gives me else {error}

here tables:

create table `users` (   `id` int(11) not null auto_increment,   `firstname` varchar(255) not null,   `lastname` varchar(255) not null,   `email` varchar(255) not null,   `username` varchar(255) not null,   `password` varchar(100) not null,    primary key (`id`)  create table `topics` (   `id` int(11) not null auto_increment,   `categoryid` tinyint(4) not null,   `topictitle` varchar(150) not null,   `topiccreator` int(11) not null,   `topiclastuser` int(11) not null,   `topicdate` datetime not null,   `topicreplydate` datetime not null,   `topicviews` int(11) not null default '0',   primary key (`id`) 

edit:

uid comes here think: login.php

if (isset($_post['username'])){      $username = $_post['username'];      $password = $_post['password'];      $sql = "select * users username='".$username."' , password='".$password."' limit 1";      $result = mysql_query($sql) or die(mysql_error());      if (mysql_num_rows($result) == 1){          $row = mysql_fetch_assoc($result);          $_session['uid'] = $row['id'];          $_session['username'] = $row['username'];          header("location: index.php");          exit();      }else{          echo "<p>invalid information. please return previous page.";          exit();      }  }

update

if(isset($_session['username']))  {      $uid = $_session['uid'];       $id=$_get['id'];            $check = mysql_query("select * topics id = '$id' , topiccreator = '$uid'");      if($check){          $query1=mysql_query("delete topics id='$id' , topiccreator='$uid'");          header('location:index.php');      }      else{          echo "<p><b>error: didnt make topic.";      }  }

still doesnt work, goes index

there no uid column in table topics, topiccreator:

$query1=mysql_query("delete topics id='$id' , topiccreator='$uid'");

you should consider comments left here changing mysql mysqli or pdo. , use of prepared statements prevent sql injections.

there problem. need check if user topiccreator before deleting topic.

$check = mysql_query("select * topics id = '$id' , topiccreator = '$uid'");  if($check){ // allow deletion } else{ // don't allow deletion } 

Comments

Popular posts from this blog

PHP DOM loadHTML() method unusual warning -

python - How to create jsonb index using GIN on SQLAlchemy? -

c# - TransactionScope not rolling back although no complete() is called -