2011-05-23 6 views
4

Je développe mon premier site web simple en utilisant PHP. Maintenant, je travaille dans la page d'administration et je veux le laisser ajouter, supprimer des utilisateurs et éditer les informations personnelles des utilisateurs existants. J'ai fait l'ajout et la suppression. Maintenant, je veux développer les utilisateurs d'édition. Tout d'abord, je veux qu'il choisisse l'utilisateur à partir de la liste déroulante, puis récupère automatiquement les informations de l'utilisateur après l'avoir choisi dans la liste déroulante, et après avoir modifié ses informations. Alors, comment puis-je faire ça?Comment modifier les informations utilisateur par admin

Mon code:

<?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

Vous avez vraiment besoin de revenir en arrière et d'accepter certaines de vos réponses aux questions précédentes. Aussi, au lieu d'afficher tout votre code, dites-nous ce qui ne va pas ou ce que vous ne comprenez pas. Nous ne voulons pas faire le travail pour vous, mais nous aimerions vous aider! –

+0

@Aaron: Pour être juste, il n'a posté que sept autres questions. Deux ont été fermés et le reste (première barre) n'a qu'une seule réponse. On peut supposer qu'ils n'étaient pas la réponse qu'il cherchait._Veuillez ne pas encourager les nouveaux arrivants à accepter des réponses arbitraires juste pour le plaisir. –

+0

Je pense qu'il est temps pour stackoverflow.com d'ajouter un autre sous-domaine, par exemple. firststep.stackoverflow.com spécialement pour (Ma première fois) genre de questions – MBarsi

Répondre

3

J'ai travaillé sur la création d'un système de billetterie basé sur le Web et je me suis retrouvé dans la même situation. Je résolu le problème comme celui-ci:

  1. Lorsque la page est chargée, de déterminer si elles ont des droits d'administrateur ou de les jeter hors de la page.
  2. Effectuez une requête SQL pour obtenir la liste des utilisateurs, soit dans une liste, soit dans une liste déroulante.
  3. Une fois que l'utilisateur à modifier a été sélectionné, faites une autre requête et chargez chaque élément dans un champ; ce que j'ai fait était d'utiliser le même formulaire pour ajouter de nouveaux utilisateurs, mais php construit le formulaire et insère les valeurs actuelles pour cet utilisateur dans les champs.
  4. Lorsque ce formulaire est soumis, (et Déposant VERIFED) J'ai le look de script php au nom d'utilisateur soumis et l'utiliser pour la clause where dans la déclaration de mise à jour sql

Si vous me voulez afficher un exemple de ce que j'ai fait, je peux le faire.

0
  1. Charger des données dans votre formulaire, et ajoutez action comme « save_user.php
  2. Sur cette page save_user.php obtenir des données de $ _POST, $ _POST [ "firstName"] où prénom est le nom de votre champ de texte où vous avez chargé les données de db
  3. ecrire la requête "update tbl_users set FirstName = '$ firstName', Email = '$ email' et exécuter cette requête, car vous êtes démarreur cela peut être suffisant, mais souvenez-vous que la requête écrite comme ceci peut être utilisée pour l'injection SQL. t signifie que vous pouvez écrire requête SQL dans le champ texte « prenom » et faire des choses, comme supprimer toutes les données ou d'obtenir des mots de passe, e-mails, etc.

Lorsque vous obtenez ce puis utilisez les paramètres dans votre requête MySQL afin d'éviter Injection SQL. Mais vous allez le gérer.

1

Vous faites seulement écho aux informations de l'utilisateur. Au lieu de cela, vous devez placer l'information dans un formulaire, ce qui vous permettra d'éditer.

<?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

Merci, mais j'ai oublié de dire que je veux d'abord tous les imprimer comme l'impression d'une déclaration. Comment faire ça? Mes essais pour imprimer les informations de l'utilisateur n'ont pas réussi à le faire. Y a-t-il un problème dans mon code? – user730077

+0

@ user730077 Je ne sais pas si je vous comprends bien, mais je vais essayer - voir la version mise à jour de ma réponse. – psarid

0

si vous voulez récupérer les informations utilisateur automatiquement à partir de la liste déroulante (sans cliquer sur le bouton soumettre), vous devez utiliser AJAX. Voici le lien vers un très bon exemple sur la façon d'utiliser ajax avec PHP et MySQL http://www.w3schools.com/php/php_ajax_database.asp

Questions connexes