2017-02-22 92 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

相关问题