Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Szukam] Skrypt php+mysql, zarządzający zarejestrowanymi użytkownikami
Forum PHP.pl > Forum > Gotowe rozwiązania > Systemy portalowe i CMS'y
maly_pirat
Nie szukam całego cmsa, tylko jednego skryptu, który pozwoli mi zarządzić zarejestrowanymi użytkownikami.
Co mam namyśli pisząc "Zarządzać" - Edycja profilu / Usunięcie profilu

Baza danych to: root5
tabela: users
kolumny: user_id, user_login, user_gg

I tylko dwa pola chce edytować, user login, user gg
piotrooo89
masz i przetestuj:

plik mysql.inc (do łączenia sie z bazą)
  1. <?php
  2.  $polaczenie=@mysql_connect('serwer','user','haslo');
  3.  if (!$polaczenie)
  4.  {
  5.  die('Nie można połaczyć z powodu: ' . mysql_error);
  6.  }
  7.  @mysql_select_db('nazwa_bazy', $polaczenie)
  8. ?>


plik index.php
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <?php
  6. include('mysql.inc');
  7. $sql = 'SELECT * FROM users';
  8. $wynik = mysql_query($sql);
  9. echo '<table border="0">
  10. <tr>
  11. <td>Login</td>
  12. <td>Gadu-Gadu</td>
  13. </tr>';
  14. while ($linia=mysql_fetch_array($wynik))
  15. {
  16. echo '<tr onMouseover=this.bgColor="#00FFFF" onMouseout=this.bgColor="#FFFACD">
  17. <td>'.$linia['user_login'].'</td>
  18. <td>'.$linia['user_gg'].'</td>
  19. <td><a href="edytuj.php?id='.$linia['user_id'].'&user='.$linia['user_login'].'&gg='.$linia['user_gg'].'">Edytuj</a></td>
  20. <td><a href="'.$_SERVER['PHP_SELF'].'?usun='.$linia['user_id'].'">Usuń</a></td>
  21. </tr>';
  22. }
  23. echo '</table>';
  24. if (!empty($_GET['usun']))
  25. {
  26. include('mysql.inc');
  27. $usun = 'DELETE FROM users WHERE id=' .$_GET['usun']. '';
  28. $oku = mysql_query($usun);
  29. if($oku)
  30. {
  31. echo 'Usunięto usera. <a href="index.php">Kliknij</a> aby powrócić do listy userów';
  32. }
  33. else
  34. {
  35. echo ' Nie usunięto usera, spróbuj ponownie';
  36. }
  37. }
  38. ?>
  39. </body>
  40. </html>


plik edytuj.php
  1. <html>
  2. <head>
  3. </head>
  4. <body?
  5. <form name="edytuj" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  6. <table border="0">
  7. <tr>
  8. <td>
  9. <input type="hidden" name="id" value="<?php echo $_GET['id']; ?>" />
  10. </td>
  11. </tr>
  12. <tr>
  13. <td>User: </td>
  14. <td><input type="text" name="user" value="<?php echo $_GET['user']; ?>" /></td>
  15. </tr>
  16. <tr>
  17. <td>Gadu-Gadu: </td>
  18. <td><input type="text" name="gg" value="<?php echo $_GET['gg']; ?>" /></td>
  19. </tr>
  20. <input type="submit" value="Edytuj" />
  21. </table>
  22. </form>
  23. <?php
  24. include('mysql.inc');
  25. if ( (isset($_POST['user'])) or (isset($_POST['gg'])) )
  26. {
  27. $id=$_POST['id'];
  28. $user=$_POST['user'];
  29. $gg=$_POST['gg'];
  30. $edytuj = "UPDATE users SET 
  31. user_login='$user',
  32. user_gg='$gg' WHERE user_id='$id'";
  33. $oke = mysql_query($edytuj);
  34. if($oke)
  35. {
  36. echo 'Zedytowano usera. <a href="index.php">Kliknij</a> aby powrócić do listy userów';
  37. }
  38. else
  39. {
  40. echo ' Nie zedytowano usera, spróbuj ponownie';
  41. }
  42. }
  43. ?>
  44. </body>
  45. </html>


//edit
zapomniałem o jednej ważnej klauzuli where... sry
//edit2
c) w pliku edytuj.php w lini 9 usuń ';
//edit3
możesz skopiować już...
maly_pirat
W lini 19/20 błąd się pokazywał, ponieważ była klamra } a musiała być ] - poprawiłem to.
Wszystko działa, ale czy aby poprawnie?

a) Gdy klikam na edycje użytkownika, to czyści mi wszystkie pola tzn.
Edytuje użytkownika maly_pirat klikam [EDYTUJ]
i wszystkie dane, które On podczas rejestracji wpisał się kasują.

cool.gif Wpisałem mu nowe dane, i zamiast TYLKO JEGO edytować, to edytował mi się KAŻDY UŻYTKOWNIK.

8 zarejestrowanych miałem, każdy inny nick, gg, itd, a teraz wszyscy takie same dane mają.
Gdy edytowałem użytkownika maly_pirat wpisałem mu nowe dane, i właśnie przeniosło to na każdego użytkownika.



PS. Wszystko robie na localhost, tych 8 zarejestrowanych, to Ja, tworzyłem konta dla testu.
Shili
  1. <?php
  2. UPDATE users SET 
  3. user_login='$user',
  4. user_gg='$gg' WHERE user_id='".$idPobranegoUsera."'"
  5. ?>

Id wcześniej pobierasz z bazy - wyedytuje Ci się tylko rekord o podanym id.
maly_pirat
Noo, teraz wszystko działa, prócz [USUŃ] użytkownika, klikam i wyskakuje komunikat:

Nie usunięto usera, spróbuj ponownie

Próbuje, i to samo.
Shili
  1. <?php
  2. $oku = mysql_query($usun) or die(mysql_error());
  3. ?>

Sprawdź, czy coś Ci to wyświetli.
piotrooo89
  1. <?php
  2. if (!empty($_GET['usun']))
  3. {
  4. include('mysql.inc');
  5. $usun = 'DELETE FROM users WHERE user_id=' .$_GET['usun']. '';
  6. $oku = mysql_query($usun);
  7. if($oku)
  8. {
  9. echo 'Usunięto usera. <a href="index.php">Kliknij</a> aby powrócić do listy userów';
  10. }
  11. else
  12. {
  13. echo ' Nie usunięto usera, spróbuj ponownie';
  14. }
  15. }
  16. ?>


zapomnialem ze ty masz tabele nazwaną user_id...
maly_pirat
Nieznana kolumna 'id' w where clause

Po prostu, ja mam user_id, a tam było samo id.

Dzięki za pomoc. Sądzę że temacik można zamknąć problem rozwiązany.
Slayer_HW
ja proponuje http://hotscripts.pl/PHP/Skrypty-i-komponenty/Uzytkownicy tu zajrzeć jeśli jeszcze ktoś czegoś podobnego szuka
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.