2011-08-17 62 views
-1

我不确定如何问这个问题,但对于大多数更有经验的PHP程序员来说,这听起来很琐碎......因此,我已经成功地设置了一个注册和登录系统,还有一个管理员部分,管理员可以在其中看到所有当前注册的用户。我想要的是管理员能够编辑用户的详细信息,并且还能够删除/阻止他们。其实我已经成功实现了删除功能。如何通过PHP和MySQL编辑注册用户信息?

这这里代码的页面,其中管理员可以看到用户:

<?php 
require('admin_sessions.php'); 
require("../includes/dbconnect.php"); 
?> 
<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>Admin - iTrade Users Details</title> 
<meta name="robots" content="NOFOLLOW,NOINDEX"> 

<link rel="stylesheet" href="../stylesheet.css" type="text/css"> 
<!--[if IE 7]> 
<link rel="stylesheet" href="../ie7.css" type="text/css"> 

<script type="text/javascript"> 
document.createElement('nav'); 
document.createElement('article'); 
document.createElement('aside'); 
document.createElement('header'); 
document.createElement('footer'); 
</script> 

<![endif]--> 
<!--[if IE 8]> 
<link rel="stylesheet" href="../ie8.css" type="text/css"> 

<script type="text/javascript"> 
document.createElement('nav'); 
document.createElement('article'); 
document.createElement('aside'); 
document.createElement('header'); 
document.createElement('footer'); 
</script> 

<![endif]--> 

<style type="text/css"> 
table{ 
border:1px solid black; 
width:2508px; 
} 
table th{ 
border-bottom:1px solid black; 
border-left:1px solid black; 
border-top:1px solid black; 
border-right:1px solid black; 
} 
.header_tables{ 
background-color:black; 
color:white; 
text-align:center 
} 
</style> 

</head> 
<body> 
<header style="width:2570px;"><span class="header_img"><img src="../img/itradeheader.png" width="465" height="200" alt="iTrade - The Leading Online Trading Portal"></span></header> 
<nav style="width:2470px;"> 
<ul> 

<li><p><a href="../index.php">Home</a></p></li> 
<li><p><a href="../aboutitrade.php">About iTrade</a></p></li> 
<li><p><a href="../browseauctions.php">Browse Auctions</a></p></li> 
<li><p><a href="#">F.A.Q's</a></p></li> 
<li><p><a href="../support.php">Support</a></p></li> 
<?php if($_SESSION['authorisation'] != 'knownuser'){ 
echo("<li class=\"spacer\"><p class=\"loginlogoutregister\"><a href=\"../login.php\">User Log In</a></p></li><li><p class=\"loginlogoutregister\"><a href=\"../register.php\">User Register</a></p></li>"); 
} 
else{ 
echo("<li class=\"spacer\"><p class=\"loginlogoutregister\"><a href=\"../logout.php\">User Logout</a></p></li>"); 
$loggedin = "<p>You are logged in.</p>"; 
} 

if($_SESSION['authorisation'] != 'known_admin_user'){ 
echo("<li><p class=\"loginlogoutregister\"><a href=\"index.php\">Admin</a></p></li>"); 
} 
else{ 
echo("<li><p class=\"loginlogoutregister\"><a href=\"index.php\">Admin</a></p></li><li><p class=\"loginlogoutregister\"><a href=\"admin_logout.php\">Admin Logout</a></p></li>"); 
} 
?> 
</ul> 
</nav> 

<article style="width:2550px; height:100%;"> 
<h1>Admin - iTrade Users Details</h1> 

<p><a href="index.php">&laquo; Back to main admin page</a></p> 

<ul> 
<li>Users on iTrade</li> 
<li><a href="itradeadminusers.php" title="Admin Users on iTrade">Admin Users on iTrade</a></li> 
<li><a href="adminregister.php" title="Register a New Admin User">Register a New Admin User</a></li> 
</ul> 

<p>Here is a table containing details about the currently registered users on iTrade:</p> 

<fieldset style="width:2480px; height:100%; margin:0 auto;"> 
<legend style="font-size:30px; color:#000000; background-color:inherit;">A record of users on iTrade</legend> 
<table> 
<tr class="header_tables"> 
<th><u>User I.D</u></th> 
<th><u>User Level</u></th> 
<th><u>User-name</u></th> 
<th><u>First Name</u></th> 
<th><u>Last Name</u></th> 
<th><u>Email</u></th> 
<th><u>Password</u></th> 
<th><u>Gender</u></th> 
<th><u>Birthday</u></th> 
<th><u>Landline Number</u></th> 
<th><u>Mobile Number</u></th> 
<th><u>Street Address</u></th> 
<th><u>Suburb</u></th> 
<th><u>City/Town</u></th> 
<th><u>Province</u></th> 
<th><u>Postcode</u></th> 
<th><u>Closest Town</u></th> 
<th><u>Confirmed?</u></th> 
<th><u>Date Registered</u></th> 
</tr> 
<?php 

$query = "SELECT * FROM user_list;"; 
$result = mysql_query($query, $connection) or die(mysql_error()); 
$users_on_itrade = " "; 

while($row = mysql_fetch_array($result)){ 
echo("<tr>"); 
echo('<td>' . $row['user_id'] . '</td>'); 
echo('<td>' . $row['user_level'] . '</td>'); 
echo('<td>' . $row['user_username'] . '</td>'); 
echo('<td>' . $row['firstname'] . '</td>'); 
echo('<td>' . $row['lastname'] . '</td>'); 
echo('<td>' . $row['user_email'] . '</td>'); 
echo('<td>' . $row['user_pass'] . '</td>'); 
echo('<td>' . $row['gender']. '</td>'); 
echo('<td>' . $row['birthdate_day'] . $row['birthdate_month'] . $row['birthdate_year'] . '</td>'); 
echo('<td>' . $row['phoneNumber'] . '</td>'); 
echo('<td>' . $row['mobileNumber'] . '</td>'); 
echo('<td>' . $row['addressline1'] . '</td>'); 
echo('<td>' . $row['addressline2'] . '</td>'); 
echo('<td>' . $row['addressline3'] . '</td>'); 
echo('<td>' . $row['stateprovince'] . '</td>'); 
echo('<td>' . $row['postcode'] . '</td>'); 
echo('<td>' . $row['closest_town'] . '</td>'); 
echo('<td>' . $row['confirmed'] . '</td>'); 
echo('<td>' . $row['user_date'] . '</td>'); 
echo('<td><a href="edit.php?user_id=' . $row['user_id'] . '">Edit</a></td>'); 
echo('<td><a href="delete.php?user_id=' . $row['user_id'] . '">Delete</a></td>'); 
echo("<tr>"); 
} 

?> 
</table> 
</fieldset> 

</article> 

<footer style="width:2550px;"><p>&copy; Copyright 2011 iTrade LTD. Website design and development by <a href="http://www.interkiwiwebdevelopers.com" onClick="target='_blank'" title="InterKiwi Web Developers">InterKiwi Web Developers</a>. Special thanks to the <a href="http://cs.otago.ac.nz" onClick="target='_blank'" title="The Computer Science dept at the University of Otago">Computer Science department</a> at the University of Otago, and the lecturers and lab administrators/demonstrators of the universities' <a href="http://cs.otago.ac.nz/comp212" onClick="target='_blank'" title="The Advanced Web Development paper, taught by the Computer Science dept at the University of Otago">Advanced Web Development</a> paper.</p></footer> 
</body> 
</html> 

此代码是在“<td><a href="edit.php?user_id=' . $row['user_id'] . '">Edit</a></td>”的“编辑”页面链接:

<?php 
require('admin_sessions.php'); 
require("../includes/dbconnect.php"); 
require('../includes/itradeuser.php'); 
?> 
<?php 
/* 
This php script allows the administrator to edit a specific itrade user in the database. 
*/ 

// creates the edit record form 
// since this form is used multiple times in this file, I have made it a function that is easily reusable 
function renderForm($user_id, $user_email, $user_pass, $user_pass_confirm, $user_username, $firstname, $lastname, $gender, $birthdate_day, $birthdate_month, $birthdate_year, $phoneNumber, $mobileNumber, $addressline1, $addressline2, $addressline3, $stateprovince, $postcode, $closest_town, $error) 
{ 
?> 
<!DOCTYPE HTML> 
<html> 
<head> 
<title>Edit Record</title> 
</head> 
<body> 
<?php 
// if there are any errors, display them 
if ($error != '') 
{ 
echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>'; 
} 
?> 

<form action="" method="post"> 
<input type="hidden" name="id" value="<?php echo $user_id; ?>"/> 
<fieldset class="userdetails"> 
<legend>User Credentials</legend> 
<p><strong>ID:</strong> <?php echo $user_id; ?></p> 
<ul> 
<li><label for="user_email">Email Address:</label><input name="user_email" maxlength="50" id="user_email" size="40" type="text" value="<?php echo $user_email; ?>"><br></li> 
<li><label for="user_pass">Your Password:</label><input name="user_pass" maxlength="50" id="user_pass" size="30" type="password" value="<?php echo $user_pass; ?>"><br></li> 
<li><label for="user_pass_confirm">Password Again:</label><input name="user_pass_confirm" maxlength="50" id="user_pass_confirm" size="30" type="password" value="<?php echo $user_pass_confirm; ?>"><br></li> 
<li><label for="user_username">Your Username:</label><input name="user_username" maxlength="50" id="user_username" size="30" type="text" value="<?php echo $user_username; ?>"></li> 
</ul> 
</fieldset> 

<fieldset> 
<legend>Contact Details</legend> 
<ul> 
<li><label for="firstname">First Name:</label><input name="firstname" type="text" id="firstname" size="25" maxlength="200" value="<?php echo $firstname; ?>" /><br></li> 
<li><label for="lastname">Last Name:</label><input name="lastname" type="text" id="lastname" size="25" maxlength="200" value="<?php echo $lastname; ?>" /><br></li> 

<li><label for="gender">Gender:</label> 
<select name="gender" id="gender"> 
<option selected="" value=""> </option> 
<option value="male">Male</option> 
<option value="female">Female</option> 
<option value="unspecified">Unspecified</option> 
</select><br></li> 
<li><label for"birthdate_day">Date of birth:</label> 
<select name="birthdate_day" id="birthdate_day"> 
<option selected="selected" value=""></option> 
<option value="1st">1</option> 
<option value="2nd">2</option> 
<option value="3rd">3</option> 
<option value="4th">4</option> 
<option value="5th">5</option> 
<option value="6th">6</option> 
<option value="7th">7</option> 
<option value="8th">8</option> 
<option value="9th">9</option> 
<option value="10th">10</option> 
<option value="11th">11</option> 
<option value="12th">12</option> 
<option value="13th">13</option> 
<option value="14th">14</option> 
<option value="15th">15</option> 
<option value="16th">16</option> 
<option value="17th">17</option> 
<option value="18th">18</option> 
<option value="19th">19</option> 
<option value="20th">20</option> 
<option value="21st">21</option> 
<option value="22nd">22</option> 
<option value="23rd">23</option> 
<option value="24th">24</option> 
<option value="25th">25</option> 
<option value="26th">26</option> 
<option value="27th">27</option> 
<option value="28th">28</option> 
<option value="29th">29</option> 
<option value="30th">30</option> 
<option value="31st">31</option> 

</select> 
<select name="birthdate_month" id="birthdate_month"> 
<option selected="selected" value=""></option> 
<option value="January">January</option> 
<option value="February">February</option> 
<option value="March">March</option> 
<option value="May">May</option> 
<option value="June">June</option> 
<option value="July">July</option> 
<option value="August">August</option> 
<option value="September">September</option> 
<option value="October">October</option> 
<option value="November">November</option> 
<option value="December">December</option> 

</select><br></li> 
<li><label for="birthdate_year">Birth Year:</label><input name="birthdate_year" type="number" maxlength="4" id="birthdate_year" size="4" value="<?php echo $birthdate_year; ?>"><br> 
</li> 

<li> 
    <label for="phoneNumber">Home Phone:</label> 
    <input name="phoneNumber" type="number" maxlength="9" id="phoneNumber" size="9" value="<?php echo $phoneNumber; ?>"><br></li> 

<li><label for="mobileNumber">Mobile Number:</label> 
    <input name="mobileNumber" type="number" maxlength="11" id="mobileNumber" size="11" value="<?php echo $mobileNumber; ?>"><span class="informational">e.g: 0276123456</span><br></li> 

<li><label for="addressline1">Street Address:</label> 
<input name="addressline1" maxlength="100" id="addressline1" size="40" type="text" value="<?php echo $addressline1; ?>"><br></li> 
<li><label for="addressline2">Suburb:</label> 
<input name="addressline2" maxlength="100" id="addressline2" size="40" type="text" value="<?php echo $addressline2; ?>"><br></li> 
<li><label for="addressline3">City:</label> 
<input name="addressline3" maxlength="100" id="addressline3" size="40" type="text" value="<?php echo $addressline3; ?>"><br></li> 
     <li><label for="stateprovince">State/Province:</label> 
<select name="stateprovince" id="stateprovince"> 
<option selected="selected" value="<?php echo $stateprovince; ?>"></option> 
<option value="northland">Northland</option> 
<option value="auckland">Auckland</option> 
<option value="waikato">Waikato</option> 
<option value="bayofplenty">Bay of Plenty</option> 
<option value="eastcoast">East Coast</option> 
<option value="hawkesbay">Hawkes Bay</option> 
<option value="taranaki">Taranaki</option> 
<option value="kingcountry">King Country</option> 
<option value="wanganui">Wanganui</option> 
<option value="manawatu">Manawatu</option> 
<option value="wairarapa">Wairarapa</option> 
<option value="wellington">Wellington</option> 
<option value="nelsonbays">Nelson Bays</option> 
<option value="marlborough">Marlborough</option> 
<option value="buller">Buller</option> 
<option value="westland">Westland</option> 
<option value="northcanterbury">North Canterbury</option> 
<option value="canterbury">Canterbury</option> 
<option value="midcanterbury">Mid Canterbury</option> 
<option value="southcanterbury">South Canterbury</option> 
<option value="northotago">North Otago</option> 
<option value="otago">Otago</option> 
<option value="southland">Southland</option> 
<option value="chathamisl">Chatham Islands</option> 
</select><br></li> 
<li><label for="postcode">Post Code:</label> 
<input name="postcode" type="number" maxlength="4" id="postcode" size="4" value="<?php echo $postcode; ?>"><span class="informational"><a href="http://www.nzpost.co.nz/nzpost/control/business/postcode_finder#post_code_finder" target="_blank" title="Find your post code (only for New Zealand)">Find your post code</a></span><br></li> 
<li><label for="closest_town">Closest Town:</label> 
<select name="closest_town" id="closest_town"> 
<option selected="selected" value=""></option> 
<option value="dargaville">Northland - Dargaville</option> 
<option value="kaikohe">Northland - Kaikohe</option> 
<option value="kaitaia">Northland - Kaitaia</option> 
<option value="kawakawa">Northland - Kawakawa</option> 
<option value="kerikeri">Northland - Kerikeri</option> 
<option value="maungaturoto">Northland - Maungaturoto</option> 
<option value="paihia">Northland - Paihia</option> 
<option value="whangarei">Northland - Whangarei</option> 
<option value="0"> </option> 
<option value="aucklandcity">Auckland - Auckland City</option> 
<option value="franklin">Auckland - Franklin</option> 
<option value="greatbarrierisland">Auckland - Great Barrier Island</option> 
<option value="helensville">Auckland - Helensville</option> 
<option value="hibiscuscoast">Auckland - Hibiscus Coast</option> 
<option value="manukaucity">Auckland - Manukau City</option> 
<option value="northshore">Auckland - North Shore</option> 
<option value="papakuracity">Auckland - Papakura City</option> 
<option value="waihekeisl">Auckland - Waiheke Island</option> 
<option value="waitakerecity">Auckland - Waitakere City</option> 
<option value="warkworth">Auckland - Warkworth</option> 
<option value="wellsford">Auckland - Wellsford</option> 
<option value="0"> </option> 
<option value="cambridge">Waikato - Cambridge</option> 
<option value="coromandel">Waikato - Coromandel</option> 
<option value="hamilton">Waikato - Hamilton</option> 
<option value="huntly">Waikato - Huntly</option> 
<option value="matamata">Waikato - Matamata</option> 
<option value="morrinsville">Waikato - Morrinsville</option> 
<option value="otorohanga">Waikato - Otorohanga</option> 
<option value="paeroa">Waikato - Paeroa</option> 
<option value="raglan">Waikato - Raglan</option> 
<option value="taumarunui">Waikato - Taumarunui</option> 
<option value="teawamutu">Waikato - Te Awamutu</option> 
<option value="tekuiti">Waikato - Te Kuiti</option> 
<option value="thames">Waikato - Thames</option> 
<option value="tokoroa_putaruru">Waikato - Tokoroa/Putaruru</option> 
<option value="waihi">Waikato - Waihi</option> 
<option value="waihi_beach">Waikato - Waihi Beach</option> 
<option value="whangamata">Waikato - Whangamata</option> 
<option value="0"> </option> 
<option value="katikati">Bay of Plenty - Katikati</option> 
<option value="mt_maunganui">Bay of Plenty - Mt. Maunganui</option> 
<option value="opotiki">Bay of Plenty - Opotiki</option> 
<option value="rotorua">Bay of Plenty - Rotorua</option> 
<option value="taupo">Bay of Plenty - Taupo</option> 
<option value="tauranga">Bay of Plenty - Tauranga</option> 
<option value="te_puke">Bay of Plenty - Te Puke</option> 
<option value="turangi">Bay of Plenty - Turangi</option> 
<option value="whakatane">Bay of Plenty - Whakatane</option> 
<option value="0"> </option> 
<option value="gisborne">Gisborne - Gisborne</option> 
<option value="ruatoria">Gisborne - Ruatoria</option> 
<option value="0"> </option> 
<option value="dannevirke">Hawkes Bay - Dannevirke</option> 
<option value="hastings">Hawkes Bay - Hastings</option> 
<option value="napier">Hawkes Bay - Napier</option> 
<option value="waipukurau">Hawkes Bay - Waipukurau</option> 
<option value="wairoa">Hawkes Bay - Wairoa</option> 
<option value="0"> </option> 
<option value="hawera">Taranaki - Hawera</option> 
<option value="mokau">Taranaki - Mokau</option> 
<option value="new_plymouth">Taranaki - New Plymouth</option> 
<option value="opunake">Taranaki - Opunake</option> 
<option value="stratford">Taranaki - Stratford</option> 
<option value="0"> </option> 
<option value="ohakune">Wanganui - Ohakune</option> 
<option value="taihape">Wanganui - Taihape</option> 
<option value="waiouru">Wanganui - Waiouru</option> 
<option value="wanganui">Wanganui - Wanganui</option> 
<option value="0"> </option> 
<option value="bulls">Manawatu - Bulls</option> 
<option value="fielding">Manawatu - Feilding</option> 
<option value="levin">Manawatu - Levin</option> 
<option value="manawatu">Manawatu - Manawatu</option> 
<option value="marton">Manawatu - Marton</option> 
<option value="palmerston_north">Manawatu - Palmerston North</option> 
<option value="0"> </option> 
<option value="carterton">Wairarapa - Carterton</option> 
<option value="featherston">Wairarapa - Featherston</option> 
<option value="greytown">Wairarapa - Greytown</option> 
<option value="martinborough">Wairarapa - Martinborough</option> 
<option value="masterton">Wairarapa - Masterton</option> 
<option value="paihiatua">Wairarapa - Pahiatua</option> 
<option value="woodville">Wairarapa - Woodville</option> 
<option value="0"> </option> 
<option value="kapiti">Wellington - Kapiti</option> 
<option value="lower_hutt">Wellington - Lower Hutt City</option> 
<option value="porirua">Wellington - Porirua</option> 
<option value="upper_hutt">Wellington - Upper Hutt City</option> 
<option value="wellington">Wellington - Wellington City</option> 
<option value="0"> </option> 
<option value="golden_bay">Nelson Bays - Golden Bay</option> 
<option value="motueka">Nelson Bays - Motueka</option> 
<option value="murchison">Nelson Bays - Murchison</option> 
<option value="nelson">Nelson Bays - Nelson</option> 
<option value="picton">Nelson Bays - Picton</option> 
<option value="0"> </option> 
<option value="blenheim">Marlborough - Blenheim</option> 
<option value="marlborough_sounds">Marlborough - Marlborough Sounds</option> 
<option value="0"> </option> 
<option value="greymouth">West Coast - Greymouth</option> 
<option value="hokitika">West Coast - Hokitika</option> 
<option value="westport">West Coast - Westport</option> 
<option value="0"> </option> 
<option value="akaroa">Canterbury - Akaroa</option> 
<option value="amberley">Canterbury - Amberley</option> 
<option value="ashburton">Canterbury - Ashburton</option> 
<option value="cheviot">Canterbury - Cheviot</option> 
<option value="christchurch">Canterbury - Christchurch City</option> 
<option value="darfield">Canterbury - Darfield</option> 
<option value="fairlie">Canterbury - Fairlie</option> 
<option value="geraldine">Canterbury - Geraldine</option> 
<option value="hamnersprings">Canterbury - Hanmer Springs</option> 
<option value="kaiapoi">Canterbury - Kaiapoi</option> 
<option value="kaikoura">Canterbury - Kaikoura</option> 
<option value="mtcook">Canterbury - Mt Cook</option> 
<option value="rangiora">Canterbury - Rangiora</option> 
<option value="0"> </option> 
<option value="timaru_oamaru_kurow">Timaru - Oamaru - Kurow</option> 
<option value="timaru_oamaru_oamaru">Timaru - Oamaru - Oamaru</option> 
<option value="timaru_oamaru_timaru">Timaru - Oamaru - Timaru</option> 
<option value="timaru_oamaru_twizel">Timaru - Oamaru - Twizel</option> 
<option value="timaru_oamaru_waimate">Timaru - Oamaru - Waimate</option> 
<option value="0"> </option> 
<option value="alexandra">Otago - Alexandra</option> 
<option value="balclutha">Otago - Balclutha</option> 
<option value="cromwell">Otago - Cromwell</option> 
<option value="dunedin">Otago - Dunedin</option> 
<option value="lawrence">Otago - Lawrence</option> 
<option value="milton">Otago - Milton</option> 
<option value="palmerston">Otago - Palmerston</option> 
<option value="queenstown">Otago - Queenstown</option> 
<option value="ranfurly">Otago - Ranfurly</option> 
<option value="roxburgh">Otago - Roxburgh</option> 
<option value="wanaka">Otago - Wanaka</option> 
<option value="0"> </option> 
<option value="bluff">Southland - Bluff</option> 
<option value="edendale">Southland - Edendale</option> 
<option value="gore">Southland - Gore</option> 
<option value="invercargill">Southland - Invercargill</option> 
<option value="lumsden">Southland - Lumsden</option> 
<option value="otautau">Southland - Otautau</option> 
<option value="riverton">Southland - Riverton</option> 
<option value="stewart_island">Southland - Stewart Island</option> 
<option value="te_anau">Southland - Te Anau</option> 
<option value="tokanui">Southland - Tokanui</option> 
<option value="winton">Southland - Winton</option> 
<option value="0"> </option> 
<option value="chathamisl">Chatham Islands</option> 
</select><br></li> 
</ul> 
</fieldset> 
<input type="submit" name="submit" value="Submit"> 
</div> 
</form> 
</body> 
</html> 
<?php 
} 

// check if the form has been submitted. If it has, process the form and save it to the database 
if (isset($_POST['submit'])){ 
if (is_numeric($_POST['user_id'])){ 
// get form data, making sure it is valid 
$user_id = $_POST['user_id']; 
$user_email = mysql_real_escape_string($_POST['user_email']); 
$user_pass = mysql_real_escape_string($_POST['user_pass']); 
$user_pass_confirm = mysql_real_escape_string($_POST['user_pass_confirm']); 
$user_username = mysql_real_escape_string($_POST['user_username']); 
$firstname = mysql_real_escape_string($_POST['firstname']); 
$lastname = mysql_real_escape_string($_POST['lastname']); 
$gender = mysql_real_escape_string($_POST['gender']);//optional field 
$birthdate_day = mysql_real_escape_string($_POST['birthdate_day']); 
$birthdate_month = mysql_real_escape_string($_POST['birthdate_month']); 
$birthdate_year = mysql_real_escape_string($_POST['birthdate_year']); 
$phoneNumber = mysql_real_escape_string($_POST['phoneNumber']); 
$mobileNumber = mysql_real_escape_string($_POST['mobileNumber']); 
$addressline1 = mysql_real_escape_string($_POST['addressline1']); 
$addressline2 = mysql_real_escape_string($_POST['addressline2']); // optional field 
$addressline3 = mysql_real_escape_string($_POST['addressline3']); 
$stateprovince = mysql_real_escape_string($_POST['stateprovince']); 
$postcode = mysql_real_escape_string($_POST['postcode']); // optional field 
$closest_town = mysql_real_escape_string($_POST['closest_town']); //optional field 
$date = time(); 

// check that firstname/lastname fields are both filled in 
if ($firstname == '' || $lastname == '' || $user_email =='' || $user_pass == '' || $user_pass_confirm == '' || $user_username == '' || $firstname =='' || $lastname == '' || $gender == '' || $birthdate_day == '' || $birthdate_month == '' || $birthdate_year == '' || $phoneNumber == '' || $mobileNumber == '' || $addressline1 == '' || $addressline2 == '' || $addressline3 == '' || $stateprovince == '' || $postcode == '' || $closest_town == ''){ 
// generate error message 
$error = 'ERROR: Please fill in all required fields!'; 

//error, display form 
renderForm($user_id, $user_email, $user_pass, $user_pass_confirm, $user_username, $firstname, $lastname, $gender, $birthdate_day, $birthdate_month, $birthdate_year, $phoneNumber, $mobileNumber, $addressline1, $addressline2, $addressline3, $stateprovince, $postcode, $closest_town, $error); 
} 
else{ 
// save the data to the database 
mysql_query("UPDATE user_list SET user_email='$user_email', user_pass=sha1('$user_pass.$salt'), user_pass_confirm=sha1('$user_pass_confirm.$salt'), user_username='$user_username', firstname='$firstname', lastname='$lastname', gender='$gender', birthdate_day='$birthdate_day, birthdate_month='$birthdate_month', birthdate_year='$birthdate_year', phoneNumber='$phoneNumber', mobileNumber='$mobileNumber', addressline1='$addressline1', addressline2='$addressline2', addressline3='$addressline3', stateprovince='$stateprovince', postcode='$postcode', closest_town='$closest_town' WHERE user_id='$user_id'") 
or die(mysql_error()); 

// once saved, redirect back to the view page 
header("Location: itradeusers.php"); 
} 
} 
else 
{ 
// if the 'id' isn't valid, display an error 
echo 'Error! ID not valid.'; 
} 
} 
else 
// if the form hasn't been submitted, get the data from the db and display the form 
{ 

// get the 'id' value from the URL (if it exists), making sure that it is valid (checing that it is numeric/larger than 0) 
if (isset($_GET['user_id']) && is_numeric($_GET['user_id']) && $_GET['user_id'] > 0) 
{ 
// query db 
$user_id = $_GET['user_id']; 
$result = mysql_query("SELECT * FROM user_list WHERE user_id=$user_id") 
or die(mysql_error()); 
$row = mysql_fetch_array($result); 

// check that the 'id' matches up with a row in the databse 
if($row) 
{ 

// get data from db 
$user_id = $row['user_id']; 
$user_email = $row['user_email']; 
$user_pass = $row['user_pass']; 
$user_pass_confirm = $row['user_pass_confirm']; 
$user_username = $row['user_username']; 
$firstname = $row['firstname']; 
$lastname = $row['lastname']; 
$gender = $row['gender']; 
$birthdate_day = $row['birthdate_day']; 
$birthdate_month = $row['birthdate_month']; 
$birthdate_year = $row['birthdate_year']; 
$phoneNumber = $row['phoneNumber']; 
$mobileNumber = $row['mobileNumber']; 
$addressline1 = $row['addressline1']; 
$addressline2 = $row['addressline2']; 
$addressline3 = $row['addressline3']; 
$stateprovince = $row['stateprovince']; 
$postcode = $row['postcode']; 
$closest_town = $row['closest_town']; 

// show form 
renderForm($user_id, $user_email, $user_pass, $user_pass_confirm, $user_username, $firstname, $lastname, $gender, $birthdate_day, $birthdate_month, $birthdate_year, $phoneNumber, $mobileNumber, $addressline1, $addressline2, $addressline3, $stateprovince, $postcode, $closest_town, $error); 
}else 
// if no match, display result 
{ 
echo "No results!"; 
} 
} 
else 
// if the 'id' in the URL isn't valid, or if there is no 'id' value, display an error 
{ 
echo 'Error! the \'id\' is not valid.'; 
} 
} 
?> 

如果有人可以告诉我我做错了什么,或者甚至向我解释这样做的更好方法,请让我知道......先谢谢了!

+0

怎么回事? – sdleihssirhc

+0

首先,我会告诉你我成功地做了什么......我可以点击链接“​​Delete”,并成功地从数据库中删除了一个用户。当我点击“编辑”链接时,我被带到了一个页面,该页面已经填写了表单中的用户详细信息,并且我可以根据需要修改它们(另外,我希望为我的用户单独实施此操作)。当我编辑任何字段时,点击“提交”按钮,我收到一条预先定义的错误消息,说“错误!ID无效。”。如果需要,我可以给你文件。 – Rob

+0

看起来问题出在你隐藏输入的'name':你正在调用'id',但是后来寻找'$ _POST ['user_id']'。如果你改变这些以匹配,这是否解决了这个问题? – sdleihssirhc

回答

0

首先,它看起来像你用纯文本存储密码。这是一个很大的不不!

对于更新用户信息对MySQL的看看UPDATE命令:http://dev.mysql.com/doc/refman/5.0/en/update.html

对于删除/块的问题,你可以添加存储用户状态(已删除,阻止活跃等),另一列。然后,您可以在用户登录或访问页面时检查此列的状态。

+0

我只是在那里存储个人参考的密码,这是在我的便携式服务器上,但是一旦我上传它就会被更改。 – Rob