2017-02-22 87 views
0

我有一個表單,允許用戶根據他們輸入的分機號碼從數據庫中刪除用戶。在他們刪除任何他們通過登錄頁面之前。一旦他們從數據中刪除用戶,我們會收到一封電子郵件,指出刪除了哪些分機號碼。有沒有辦法可以添加哪個用戶從表中刪除數據?刪除數據的顯示用戶

(請注意,我知道SQL注入問題和MySQL的使用折舊我將其更改爲PDO或mysqli的,一旦我有這個問題排序。)

目前的電子郵件看起來象:

Extension Number 4324 was removed from the extension list. 

我一定能成功:

Extension Number 4324 was removed from the extension list by James. 
  • CODE

登錄表單:

<html> 
<head> 
<title>Login</title> <link rel="stylesheet" type="text/css" href="style.css"> 
</head> 
<body id="body-color"> 
<div id="Sign-In"> 
<center><fieldset style="width:30%"><legend>Welcome Please Login Below</legend> 
<form method="POST" action="connectivity.php"> 
Username: <br><input type="text" name="user" size="40"><br> 
Password: <br><input type="password" name="pass" size="40"> 
<br> 
<br> 
<input id="button" type="submit" name="submit" value="Log-In"> 
</form> 
</center> 
</fieldset> 
</div> 
</body> 
</html> 

Connectivity.php

<?php 
session_start(); 
define('DB_HOST', 'localhost'); 
define('DB_NAME', 'list'); 
define('DB_USER','root'); 
define('DB_PASSWORD','****'); 
$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error()); 
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error()); 
/* 
$ID = $_POST['user']; $Password = $_POST['pass']; 
*/ 
function SignIn() 
{ 
session_start(); 
if(!empty($_POST['user'])) 
{ 
$query = mysql_query("SELECT * FROM UserName where userName = '$_POST[user]' AND pass = '$_POST[pass]'") or die(mysql_error()); 
$row = mysql_fetch_array($query); 
if(!empty($row['userName']) AND !empty($row['pass'])) 
{ 
$_SESSION['userName'] = $row['pass']; 
header("Location: index.php"); 
$_SESSION['CheckLogin'] = true; 
} 
else 
{ 
header("Location: login.php"); 

} 
} 
} 
if(isset($_POST['submit'])) 
{ 
SignIn(); 
} 
?> 

的Delete.php形式

<?php 

require ("database.php"); 

session_start(); 
if (!isset($_SESSION['CheckLogin'])) { header("Location: login.php"); } 




    if($_POST['action']) 
{ 

$this_user_ext =$_GET['extension']; 


    // sending query 
    mysql_query("DELETE FROM users WHERE extension = '$this_user_ext'") 
    or die(mysql_error());   


include('maildelete.php'); 

$extension=$_POST['extension']; 

header("Location: index.php"); 
} 
?> 
<center><form action="" method="post"> 
Enter 4 Digit Extension Number :<br><input type="text" name="extension"> 
<br><h2><input type="submit" name="action" value="Delete Extension"> 
<br></h2> 
<h3> 
<a href="index.php"> Main Menu </a> 
</h3> 
</form> 
</center> 

和maildelete.php

<?php 

$extension = $_POST['extension']; 
$department = $_POST['department']; 

if ($_POST['department']=="IT DEPARTMENT") { 
    $address2="[email protected]"; 
} 

require 'PHPMailer-master/PHPMailerAutoload.php'; 

$mail = new PHPMailer; 

$mail->IsSMTP(); // telling the class to use SMTP 
$mail->Host  = "****"; // SMTP server    // enables SMTP debug information 
$mail->SMTPAutoTLS = false; 
$mail->SMTPSecure = false; 
$mail->SMTPAuth = true;     // enable SMTP authentication 
$mail->Host  = "****"; // sets the SMTP server 
$mail->Port  = 587;     // set the SMTP port for the GMAIL server 
$mail->Username = "****"; // SMTP account username 
$mail->Password = "****";  // SMTP account password 
$mail->From = "[email protected]"; 
$mail->FromName = "Extension List"; 

$mail->AddAddress('[email protected]', $address2, ""); 

$mail->isHTML(true); 

$mail->Subject = 'Extension Deleted'; 
$mail->Body  = "Extension Number " . $extension . " from the " . $department . " was removed from the Extension List"; 

if(!$mail->Send()) { 
echo 'Message could not be sent.'; 
echo 'Mailer Error: ' . $mail->ErrorInfo; 
exit; 
} 
echo 'Email Sent Successfully!'; 
?> 
+0

是當用戶想刪除他登錄..所以你喜歡拍攝該用戶的電子郵件ID或名字,你可以發送給郵件或存儲在數據庫中的新表 –

回答

0

我找到了修復程序。

我添加了$ _SESSION ['userName'];

所以在我maildelete.php代碼行:

$mail->Body  = "Extension Number " . $extension . " from the " . $department . " was removed from the Extension List" . $_SESSION['userName']; 
0

總是在您的表中添加一些額外的列,created_by,created_at,updated_by,updated_at,deleted_by,deleted_at。有價值的是執行以下操作的登錄用戶的ID。

通過使用此功能,您可以輕鬆跟蹤由誰和在哪個日期完成的add, update, delete操作。

+0

我有它在Dittos代碼的幫助下工作,但是它發佈的用戶密碼不是名稱。任何想法,爲什麼先生? – RedZ

0

看來,你在可變

$_SESSION['userName'] 

的用戶名因此,這將只是將它添加到電子郵件中maildelete.php

$mail->Body  = "Extension Number " . $extension . " from the " . $department . " was removed from the Extension List"; 

有了這個:

$mail->Body  = "Extension Number " . $extension . " from the " . $department . " was removed from the Extension List by ".$_SESSION['userName']; 
+0

這有效,但它將用戶密碼不是用戶名 – RedZ

+0

從用戶James密碼$ 9302D中刪除。 – RedZ

+0

如果變量''__SESSION ['userName']''顯示的是密碼而不是用戶名,那麼你在這個變量中捕獲了錯誤的值。 – Ditto

相關問題