Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php+mysql] Mini panel Zarządzania Zarejestrowanymi Użytkownikami
Forum PHP.pl > Forum > PHP
maly_pirat
Witam, ;]
Próbuje zrobić panel admina, na hasło, który ma za zadanie edytować/usuwać zarejestrowanych użytkowników. Mój maly panel admina znajduje się w:
/admin/main.php. Opiera się on na oryginalnym panelu admina, tyle że od newsów (jego poprzednia nazwa to: admin.php). Przerabiam go pod swoje potrzebny:P
Wszystko mi wchodzi, pokazuje mi liste użytkowników + ich nr gg, ale gdy klikam usuń/edytuj, to nie wykonuje mi żadnych zmian. Tzn. podczas edycji mogę wpisać nowe dane, ale gdy biore WYŚLIJ to już nie daje komunikatu "Wpis został edytowany.." tylko wraca do Str. Głównej (main.php), w Edytuj to samo, do STr. Głównej, zamiast napisu "Wpis usunięty"

Oto plik main.php (udostępniam go pod odnośnikiem, ponieważ nie chce zaśmiecać tematu)
http://members.lycos.co.uk/claniwm/main.txt

Wszystko rozgrywa się na Localhoscie, WebServ.
Baza danych: root5
user_id = ID użytkownika
user_login = login użytkownika
user_gg = GG użytkownika

W tym main.php jest też kod, o dodaniu - to proszę pomijać, bo to jest z panelu newsów, będę to usuwał.

Pewien użytkownik mi odpisał, ale nic z tego nie zrozumiałem:
Cytat
Masz taki warunkek
php:
<?
elseif(isset($_GET['newsy']) && $_GET['newsy']=='wyedytuj' && isset($_GET['users_id']))
Zwróc uwagę na podkreślony fragment i na to do jakiego adresu prowadzi formualrz smile.gif

i
Cytat
Sprawdzasz czy istnieje (jest przesłana) zmienna $_GET['users_id'], a tymczasem formularz kierowany jest na stronę z ....&user_id=XX


Może mi ktoś napisać co na co mam poprawić, żeby edycja działała?
Crozin
Ehh... no to na tym forum Cie ten 'pewnien użytkownik' dopadł biggrin.gif

  1. <?
  2. elseif(isset($_GET['newsy']) && $_GET['newsy']=='wyedytuj' && isset($_GET['users_id']))
  3. ?>
Na końcu sprawdzasz czy istnieje zmienna $_GET['users_id']. Tymczasem formularz prowadzi do czegoś w stlly (już nie pamiętam, a nie chce mi sprawdzać ponowanie) plik.php?newsy=wyedytuj&user_id=XX.

Teraz zauważyłeś, że sprawdzasz zmienna users_id, a przesyłasz user_id? winksmiley.jpg
  1. <?php
  2. elseif(isset($_GET['newsy']) && $_GET['newsy']=='wyedytuj' && isset($_GET['user_id'])) //powinno działać
  3. ?>
maly_pirat
Postępy:p, ale jednak nie działa w 100% poprawnie.
Edytuje użytkownika, wpisuje nową nazwe, biore wyślij, wyskakuje komunikat:

Kod
Pomyślnie wyedytowałem użytkownika!
Jego nowy tytuł to: X , a GG: X


a) Nie pokazuje mi jaki został nadany nowy login (tytuł) oraz nowy nr GG
cool.gif w ogóle nie edytuje użytkownika, wyskakuje w/w komunikat, ale edytuje mi użytkownika (danych jego)
marcio
Zmien to:
  1. <?php
  2. mysql_query("UPDATE users SET user_login='$user_login' user_gg='$user_gg' WHERE user_id='$user_id'");
  3. ?>

Na to:
  1. <?php
  2. mysql_query('UPDATE users SET user_login = "'.$user_login.'", user_gg = '.$user_gg.' WHERE user_id = '.$user_id.'');
  3. ?>
maly_pirat
Edytowałem, mimo tego też nic.
Wszystko robie jak napisałem w 3 poście tego tematu, i to samo ciągle.
marcio
  1. <?php
  2. elseif(isset($_GET['newsy']) && $_GET['newsy']=='edytuj' && isset($_GET['user_id']))
  3. {
  4. $user_id=$_GET['user_id'];
  5. $link=mysql_query("SELECT * FROM users WHERE user_id='$user_id'");
  6. $wiersz=mysql_fetch_array($link);
  7.  
  8. echo '<b>EDYTUJ ZAREJESTROWANEGO UŻYTKOWNIKA</b><br>';
  9. echo '<form method="POST" action="main.php?newsy=wyedytuj&user_id='.$wiersz['user_id'].'user='.$wiersz['user_login'].'&gg='.$wiersz['user_gg'].'">
  10. <table border="0" width="100%">
  11. <tr>
  12. <td>Login:</td>
  13. <td><input type="text" name="tytul" size="64" value="'.$wiersz['user_login'].'"></td>
  14. </tr>
  15. <tr>
  16. <td>NR GG: </td>
  17. <td><textarea rows="5" name="tresc" cols="42">'.$wiersz['user_gg'].'</textarea></td>
  18. </tr>
  19. <tr>
  20. <td> </td>
  21. <td><input type="submit" value="EDYTUJ"></td>
  22. </tr>
  23. </table>
  24. </form>';
  25. }
  26. ?>

I potem
  1. <?php
  2. elseif(isset($_GET['newsy']) && $_GET['newsy']=='wyedytuj' && isset($_GET['users_id']))
  3. {
  4. $user_login=$_GET['user'];
  5. $user_gg=$_GET['gg'];
  6. $user_id=$_GET['user_id'];
  7.  
  8. mysql_query('UPDATE users SET user_login = "'.mysql_real_escape_string($user_login).'", user_gg = '.(int)$user_gg.' WHERE user_id = '.(int)$user_id.'');
  9. echo 'Pomy�lnie wyedytowałem użytkownika! <br> Jego nowy tytuł to: <b>'.$user_login.'</b>, a GG: <b>'.$user_gg.'</b>';
  10.  
  11. }
  12. ?>

Zobacz cos takiego skad ma brac rzeczy z posta jak przeladowuwujesz strone i danych juz nie ma wszystko do get albo do jedngo bloku IF
maly_pirat
Zastosowałem to, jednak teraz nawet nie pokazuje komunikatu "Pomyślnie edytowałem.. Nowy tytuł to.. "
marcio
PO co to robisz za pomoca 10tys if'ow albo robisz wszystko poprzez get i ten form tez zapomnialo mi sie napisac albo robisz cos na styl tygo
  1. <?php
  2. elseif(isset($_GET['newsy']) && $_GET['newsy']=='edytuj' && isset($_GET['user_id']))
  3. {
  4. $user_id=$_GET['user_id'];
  5. $link=mysql_query("SELECT * FROM users WHERE user_id='$user_id'");
  6. $wiersz=mysql_fetch_array($link);
  7.  
  8. echo '<b>EDYTUJ ZAREJESTROWANEGO UŻYTKOWNIKA</b><br>';
  9. echo '<form method="post" action="main.php?user_id='.$wiersz['user_id'].'">
  10. <table border="0" width="100%">
  11. <tr>
  12. <td>Login:</td>
  13. <td><input type="text" name="tytul" size="64" value="'.$wiersz['user_login'].'"></td>
  14. </tr>
  15. <tr>
  16. <td>NR GG: </td>
  17. <td><textarea rows="5" name="tresc" cols="42">'.$wiersz['user_gg'].'</textarea></td>
  18. </tr>
  19. <tr>
  20. <td> </td>
  21. <td><input type="submit" value="EDYTUJ" name="edit"></td>
  22. </tr>
  23. </table>
  24. </form>';
  25.  
  26. if(!empty($_POST['tytul']) && !empty($_POST['tresc']) && isset($_POST['edit'])) {
  27.  
  28. $user_login=$_POST['tytul'];
  29. $user_gg=$_POST['tresc'];
  30. $user_id=$_GET['user_id'];
  31. if(mysql_query('UPDATE users SET user_login = "'.mysql_real_escape_string($user_login).'", user_gg = '.(int)$user_gg.' WHERE user_id = '.(int)$user_id.''))
  32. echo 'Pomy�lnie wyedytowałem użytkownika! <br> Jego nowy tytuł to: <b>'.$user_login.'</b>, a GG: <b>'.$user_gg.'</b>';
  33. else echo('BLad podczas edycji');
  34. }
  35. }
  36. ?>

Kod moze nie dzialac to tylko idea zeby ci pokazac jak sie to robi najszybciej bez kombinowania
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.