2015-03-04 3 views
0

как разрешить удаление, если username является администратором.как разрешить удаление, только если пользователь является администратором в php

я хочу, чтобы удалить только админ человека удалить запись пожалуйста, помогите мне решить эту проблему благодаря ......

session.php

<?php 
// Establishing Connection with Server by passing server_name, user_id and password as a parameter 
$connection = mysql_connect("localhost", "root", ""); 
// Selecting Database 
$db = mysql_select_db("dsrs", $connection); 
session_start();// Starting Session 
// Storing Session 
$user_check=$_SESSION['login_user']; 
// SQL Query To Fetch Complete Information Of User 
$ses_sql=mysql_query("select username from admin where username='$user_check'", $connection); 
$row = mysql_fetch_assoc($ses_sql); 
$login_session =$row['username']; 
if(!isset($login_session)){ 
mysql_close($connection); // Closing Connection 
header('Location: index.php'); // Redirecting To Home Page 
} 
?> 

DELETE.PHP

<?php 
/* 
DELETE.PHP 
Deletes a specific entry from the 'drivers' table 
*/ 

include('session.php'); 

// connect to the database 
include('connect-db.php'); 

// check if the 'id' variable is set in URL, and check that it is valid 
if (isset($_GET['id']) && is_numeric($_GET['id'])) 
{ 
// get id value 
$id = $_GET['id']; 

// delete the entry 
$result = mysql_query("DELETE FROM admission WHERE id=$id") 
or die(mysql_error()); 
echo "<center>Delete.!</center>"; 
} 
?> 
+0

Предполагаете, что вы правильно сохранили имя пользователя в настоящее время вошедшего в систему пользователя? Почему бы вам не сказать 'if (USERNAME == 'admin') {RUN DELETE}' – Darren

+0

да, где я могу поместить этот код – user1833487

ответ

1

Вы хотите только разрешить пользователям admin удалить указанный идентификатор. Я не знаю, как вы устанавливаете пользователя как «админ», но этот псевдо-код даст вам общий смысл.

if (isset($_GET['id']) && is_numeric($_GET['id'])) { 
    // get id value 
    $id = $_GET['id']; 

    // delete the entry if admin 
    if($_SESSION['username'] == 'admin') { 
     $result = mysql_query("DELETE FROM admission WHERE id=$id") or die(mysql_error()); 
     echo "<center>Delete.!</center>"; 
    } 
} 

Я не знаю, что вы храните имя пользователя в сессии в качестве, так что вам нужно, чтобы изменить это.


Я предлагаю вам прекратить использование mysql_* библиотеки, как она устарела. Вы должны посмотреть на PDO и/или MySQLi Prepared Statements.

+0

я заменяю этот код, теперь эта ошибка отображается Примечание: Неопределенный индекс: имя пользователя в этой строке, если ($ _SESSION ['username'] == 'admin') { – user1833487

+0

Вот почему я сказал, что вам нужно изменить это на имя пользователя, которое вы получаете ... @ user1833487 – Darren

+0

oh ok я исправлю это, но если пользователь не является админом, тогда i хочу echo msg, у вас нет разрешения разрешить удаление, подобное этому – user1833487

Смежные вопросы