2011-05-23 80 views
4

我正在使用PHP開發我的第一個簡單網站。現在,我正在管理頁面中工作,我想讓他添加,刪除用戶並編輯現有用戶的個人信息。我做了添加和刪除。現在,我想開發編輯用戶。首先,我希望他從下拉列表中選擇用戶,然後在從下拉列表中選擇他後自動獲取用戶信息,然後編輯他的信息。那我該怎麼做?如何通過管理員編輯用戶信息

我的代碼:

<?php 
ob_start(); 
$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password="13524"; // Mysql password 
$db_name="sharingi_db"; // Database name 

// Connect to server and select databse. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

?> 

<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 
<script language="javascript"> 
    function reload(form){ 
     var val=form.username.options[form.username.options.selectedIndex].value; 
     self.location='editUser2.php?username=' + val ; 
    } 
    </script> 
</head> 
<body> 

<div id="content_main" class="admin_student_height"> 

<!-- Here starts the first form --> 
<form method="get"> 
     <h3>Choose A User</h3> <br /> 
     select name="username" onchange="reload(this.form)"> 

       <option> 
     <?php 
      if(isset($_GET['username'])) 
      echo "{$_GET['username']}"; 
      else echo "Select one"; 
     ?> 
      </option> 

       <?php 
        if(isset($_GET['username'])){ 
      $exceptcc = $_GET['username']; 
      $sql = "SELECT username FROM user WHERE user.username NOT IN 
           ('$exceptcc')"; 
        } 
      else 
      $sql = "SELECT username FROM user"; 
      $result = mysql_query($sql); 
      while($row = mysql_fetch_array($result)){ 
      echo "<option value={$row['username']}>{$row['username']}</option>"; 
           } 
     ?> 
     </select><br /><br /> 

     <h3>User Information</h3> <br /> 
     <?php 
      $thecc = $_GET['username']; 
      $sql = "SELECT Firstname FROM user WHERE Username=$thecc"; 
      $result = mysql_query($sql); 
      while($row = mysql_fetch_array($result)){ 
      echo "{$row['Firstname']}>{$row['Firstname']}}"; 
           } 
     ?> 
     <br /><br /> 
     </form> <br /> 

     </div> 
    </div> 
</body> 
+3

你真的需要回去接受一些你以前的問題的答案。另外,不要發佈你的所有代碼,告訴我們什麼是錯的或你不明白的。我們不想爲你做這項工作,但我們很樂意提供幫助! – 2011-05-23 20:26:58

+0

@Aaron:爲了公平起見,他只發布了其他七個問題。兩個關閉,其餘(第一個)只有一個答案。想必他們不是他正在尋找的答案。_請不要鼓勵新手爲了它而接受任意答案._ – 2011-05-23 20:31:27

+0

我認爲它是時候爲stackoverflow.com添加另一個子域名,例如, firststep.stackoverflow.com專門爲(我的第一次)類型的問題 – MBarsi 2011-05-23 20:32:15

回答

3

我一直致力於製作一個基於網絡的票務系統,並遇到了同樣的情況。 我解決了這樣的問題:

  1. 當頁面加載時,確定他們是否有管理員權限或拋出他們的頁面。
  2. 執行SQL查詢以獲取用戶列表,以顯示在列表中或下拉框中。
  3. 一旦選擇了用戶編輯,執行另一個查詢並將每個項目加載到一個字段中; 我所做的是使用相同的形式來添加新用戶,但有PHP建立窗體並將該用戶的當前值插入到字段中。
  4. 當表單提交,(並提交verifed)我有PHP腳本看提交的用戶名,如果你要我張貼的使用在SQL UPDATE語句

where子句我做了什麼我可以做到這一點的例子。

0
  1. 將數據加載到您的形式,並且像「save_user.php
  2. 添加動作將其在該頁面中save_user.php得到$ _ POST,$ _ POST [數據「firstName」]其中firstName是您的文本字段的名稱,您已從db中加載數據
  3. 寫入查詢「update tbl_users set FirstName ='$ firstName',Email ='$ email」並執行此查詢,因爲您是啓動器這可以是足夠的,但記住像這樣寫的查詢可以用於SQL注入tha t表示你可以寫SQL查詢到文本字段「名字」,並做一些東西,比如刪除所有數據或獲取密碼,電子郵件等

當你得到這個那麼爲了避免使用參數在你的MySQL查詢SQL注入。但你會管理它。

1

您只會回顯用戶的信息。

相反,您需要將信息放入表單中,以便進行編輯。

<?php 

if ($_POST['submit']) { 

$username = $_POST['username']; 

//if you want to update 
mysql_query("UPDATE users SET username = '$username', password = '$password'"); 

//if you want to delete 
mysql_query("DELETE FROM users WHERE username = '$username'"); 

} 

?> 

<? 

//show all users 

$user_query = mysql_query("SELECT * FROM users"); 
while($row = mysql_fetch_array($user_query)) { 

echo $row['username'] . ' ' . $row['first_name'] . ' ' . $row['last_name']; 
//and so on.. depending on your table fields 

} 


?> 




<form method="POST"> 

Username: <input name="name" value="<?echo $row['username'?>"/> 
<input type="submit" name="submit"/> 

</form> 
+0

謝謝,但我忘了說,我想先打印所有這些打印任何語句。怎麼做?我嘗試打印用戶信息失敗了。我的代碼有問題嗎? – user730077 2011-05-23 20:38:31

+0

@ user730077我不確定我是否正確理解你,但我會嘗試 - 查看我答案的更新版本。 – psarid 2011-05-24 22:36:31

0

,如果你想自動獲取用戶信息,從下拉列表中(不點擊提交按鈕),你需要使用AJAX。這裏是一個很好的例子,如何使用PHP和MySQL使用AJAX的一個很好的例子的鏈接http://www.w3schools.com/php/php_ajax_database.asp

相關問題