|
|
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo
|
|
[gotowa modyfikacja] Lista adminów ( Ekipa ) |
Autor |
Wiadomość |
Dajaj
Pomógł: 176 razy Posty: 1019
|
|
|
|
|
Gadatliwa Kasia
|
|
|
|
kooza
Pomógł: 486 razy Posty: 2401
|
|
|
|
|
NineX
Pomógł: 546 razy Posty: 1983
|
Wysłany: 05-03-2013, 00:21
|
|
|
Gdzie wpis do admin/modules_data.php odnośnie lista_adminow.php ?
Kod: | * copyright : (C) 2011 by Warmix |
Kod: | message_die(GENERAL_MESSAGE, 'Strona dostępna tylko dla zalogowanych!'); |
Kod: | $sql = mysql_query("SELECT * FROM ".ADMIN_LIST." ORDER BY `user_id` DESC") or die(mysql_error()); |
Kod: | if(mysql_num_rows($sql) == 0) |
Kod: | $profile = (!empty($row['user_id'])) ? '<a href="/profile.php?mode=viewprofile&u=' . $row['user_id'] . '" >' . $row['name'] . '</a>' : $row['name'] ; |
Kod: | 'U_LISTA' => "/diamenty.$phpEx", |
Kod: | message_die(GENERAL_MESSAGE, 'Pomyślnie usunięto<br /><br />Kliknij <a href="' . append_sid("lista_adminow.$phpEx") . '"><b>Tutaj</b></a> aby powrócić do poprzedniej strony'); |
Kod: | $nick = $_POST['nick'];
$rank = $_POST['rank'];
$id = $_POST['id'];
$sql = "UPDATE ".ADMIN_LIST." SET name = '$nick', rank = '$rank', user_id = '$id' WHERE id='" . $HTTP_GET_VARS['edycja'] . "' "; |
Kod: | $nick = $_POST['nick'];
$rank = $_POST['rank'];
$id = $_POST['id'];
if($nick or !empty($nick)){
$sql = "INSERT INTO ".ADMIN_LIST." (`id` ,`user_id` ,`rank` ,`name`)VALUES (NULL , '$id', '$rank', '$nick')"; |
Kod: | message_die(GENERAL_MESSAGE, 'Pola Nick i Ranga muszą zostać wypełnione<br /><br />Kliknij <a href="' . append_sid("lista_adminow.$phpEx?dodaj") . '"><b>Tutaj</b></a> aby powrócić do poprzedniej strony');
'USUN' => append_sid('?usun='.$row['id']),
'EDIT' => append_sid('?edycja='.$row['id']), |
Kod: | if(mysql_num_rows($result) == 0)
{
message_die(GENERAL_MESSAGE, $lang['Brak'] . '<br /><br /> <A href="' . append_sid("?dodaj") . '">Kliknij tutaj , aby dodać</a>');
} |
Gdzie te pliki?
Kod: | require_once($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/admini_lista_lang.' . $phpEx);
require_once($phpbb_root_path . 'language/lang_polish'.'/admini_lista_lang.' . $phpEx); |
Niesamowite |
|
|
|
|
Dajaj
Pomógł: 176 razy Posty: 1019
|
Wysłany: 05-03-2013, 09:04
|
|
|
NineX napisał/a: | Gdzie wpis do admin/modules_data.php odnośnie lista_adminow.php ?
Kod: | * copyright : (C) 2011 by Warmix |
Kod: | message_die(GENERAL_MESSAGE, 'Strona dostępna tylko dla zalogowanych!'); |
Kod: | $sql = mysql_query("SELECT * FROM ".ADMIN_LIST." ORDER BY `user_id` DESC") or die(mysql_error()); |
Kod: | if(mysql_num_rows($sql) == 0) |
Kod: | $profile = (!empty($row['user_id'])) ? '<a href="/profile.php?mode=viewprofile&u=' . $row['user_id'] . '" >' . $row['name'] . '</a>' : $row['name'] ; |
Kod: | 'U_LISTA' => "/diamenty.$phpEx", |
Kod: | message_die(GENERAL_MESSAGE, 'Pomyślnie usunięto<br /><br />Kliknij <a href="' . append_sid("lista_adminow.$phpEx") . '"><b>Tutaj</b></a> aby powrócić do poprzedniej strony'); |
Kod: | $nick = $_POST['nick'];
$rank = $_POST['rank'];
$id = $_POST['id'];
$sql = "UPDATE ".ADMIN_LIST." SET name = '$nick', rank = '$rank', user_id = '$id' WHERE id='" . $HTTP_GET_VARS['edycja'] . "' "; |
Kod: | $nick = $_POST['nick'];
$rank = $_POST['rank'];
$id = $_POST['id'];
if($nick or !empty($nick)){
$sql = "INSERT INTO ".ADMIN_LIST." (`id` ,`user_id` ,`rank` ,`name`)VALUES (NULL , '$id', '$rank', '$nick')"; |
Kod: | message_die(GENERAL_MESSAGE, 'Pola Nick i Ranga muszą zostać wypełnione<br /><br />Kliknij <a href="' . append_sid("lista_adminow.$phpEx?dodaj") . '"><b>Tutaj</b></a> aby powrócić do poprzedniej strony');
'USUN' => append_sid('?usun='.$row['id']),
'EDIT' => append_sid('?edycja='.$row['id']), |
Kod: | if(mysql_num_rows($result) == 0)
{
message_die(GENERAL_MESSAGE, $lang['Brak'] . '<br /><br /> <A href="' . append_sid("?dodaj") . '">Kliknij tutaj , aby dodać</a>');
} |
Gdzie te pliki?
Kod: | require_once($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/admini_lista_lang.' . $phpEx);
require_once($phpbb_root_path . 'language/lang_polish'.'/admini_lista_lang.' . $phpEx); |
Niesamowite |
Wreszcie ktoś z krytyką:P i ktoś kto się na tym porządnie zna... jak pisałem mój pierwszy taki mod także z palca się tego nie uczyłem dlatego ten warmix tam wskoczył przypadkowo
najważniejsze błędy poprawione, ale czy mógłbyś opisać o co chodzi dokładnie w reszcie przez Ciebie wymienionych kodów ? |
|
|
|
|
Majkelo
Pomógł: 1283 razy Posty: 3081
|
Wysłany: 05-03-2013, 12:53
|
|
|
NineX napisał/a: | $sql = mysql_query("SELECT * FROM ".ADMIN_LIST." ORDER BY `user_id` DESC") or die(mysql_error()); |
To jest niedopuszczalne, w przemie musisz to przepuścić przez db, aby zliczało licznik zapytań na dole, czyli tak:
Kod: | $sql = "SELECT * FROM ".ADMIN_LIST." ORDER BY `user_id` DESC";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'tresc bledu, najlepiej lang', '', __LINE__, __FILE__, $sql);
} |
Dajaj napisał/a: | if(mysql_num_rows($sql) == 0) |
to co wyżej, czyli
Kod: | $db->sql_numrows($result) |
Dajaj napisał/a: | $profile = (!empty($row['user_id'])) ? '<a href="/profile.php?mode=viewprofile&u=' . $row['user_id'] . '" >' . $row['name'] . '</a>' : $row['name'] ; |
po co linki poprzedzasz '/' ? Dodatkowo sprawdzanie pola w bazie za pomocą funkcji empty() to niezbyt dobry pomysł. Przecież user_id nigdy nie może być puste, a najlepsze jest to, że jeśli trafiłoby Ci się id 0 (w naszym skrypcie nie, ale mówię ogólnie o Twojej przygodzie z PHP) to ta funkcja zwróci true, mimo, że pole będzie uzupełnione bo będzie tam zero + append_sid dla href.
Dajaj napisał/a: | message_die(GENERAL_MESSAGE, 'Pomyślnie usunięto<br /><br />Kliknij <a href="' . append_sid("lista_adminow.$phpEx") . '"><b>Tutaj</b></a> aby powrócić do poprzedniej strony'); |
takie coś dodaje się w lang_main.php, najlepiej z odpowiednikiem angielskim w lang_english, chociaż niekoniecznie.
Dajaj napisał/a: | $nick = $_POST['nick'];
$rank = $_POST['rank'];
$id = $_POST['id'];
$sql = "UPDATE ".ADMIN_LIST." SET name = '$nick', rank = '$rank', user_id = '$id' WHERE id='" . $HTTP_GET_VARS['edycja'] . "' "; |
Poczytaj o SQL injection, takie zmienne należy zabezpieczyć zanim upchniesz je w zapytanie. Jeśli spodziewasz się tekstu jako zwrotu to możesz użyć addslashes() lub mysql_real_escape_string(), jeśli liczby to intval().
Więcej o SQL injection - jak zabezpieczać: http://4programmers.net/P...tion_-_podstawy
Dajaj napisał/a: | message_die(GENERAL_MESSAGE, 'Pola Nick i Ranga muszą zostać wypełnione<br /><br />Kliknij <a href="' . append_sid("lista_adminow.$phpEx?dodaj") . '"><b>Tutaj</b></a> aby powrócić do poprzedniej strony');
'USUN' => append_sid('?usun='.$row['id']),
'EDIT' => append_sid('?edycja='.$row['id']), |
Langi + podaje się pełne ścieżki, a nie same gety.
Dajaj napisał/a: | if(mysql_num_rows($result) == 0)
{
message_die(GENERAL_MESSAGE, $lang['Brak'] . '<br /><br /> <A href="' . append_sid("?dodaj") . '">Kliknij tutaj , aby dodać</a>');
} |
langi + klasa db. |
Ostatnio zmieniony przez NineX 05-03-2013, 17:11, w całości zmieniany 1 raz |
|
|
|
|
Dajaj
Pomógł: 176 razy Posty: 1019
|
Wysłany: 05-03-2013, 21:32
|
|
|
Wielkie dzięki za porady ... jeśli możecie to sprawdźcie czy wszystkie poprawki są zrobione prawidłowo
Cytat: | (!empty($row['user_id'])) ? '<a href="/profile.php?mode=viewprofile&u=' . $row['user_id'] . '" >' . $row['name'] . '</a>' : $row['name'] ; |
co do tego to podobny kod widziałem już nie raz w modyfikacjach na przemo , a user_id nie jest pobierane z głównej tabeli userów tylko tabeli listy , i tam może być puste , zmieniłem tak:
Kod: | $profile = (!empty($row['user_id'])) ? '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '">' . $row['name'] . '</a>' : $row['name'] ; |
|
|
|
|
|
kooza
Pomógł: 486 razy Posty: 2401
|
Wysłany: 06-03-2013, 11:42
|
|
|
Po co dwa takie same załączniki? Wystarczy zaktualizować.
Po kliknięciu na user wywala błąd że 'wybrany użytkownik nie istnieje' |
|
|
|
|
Dajaj
Pomógł: 176 razy Posty: 1019
|
Wysłany: 06-03-2013, 13:15
|
|
|
kooza napisał/a: | Po co dwa takie same załączniki? Wystarczy zaktualizować.
Po kliknięciu na user wywala błąd że 'wybrany użytkownik nie istnieje' |
No tak przez pomyłkę 2x się wgrał
Jeśli chodzi ci o demo to tam testowałem i wpisałem ID 12 zamiast 2
** myślę że jak będzie ok to można pousuwać zbędne posty bo niezły spam się zrobił |
|
|
|
|
Majkelo
Pomógł: 1283 razy Posty: 3081
|
Wysłany: 06-03-2013, 18:56
|
|
|
w takim razie tutaj piszesz co innego i w kodzie dodajesz co innego.
Kod: | `user_id` int(11) NOT NULL, |
NOT NULL - nie może być puste.
Dajaj napisał/a: | i tam może być puste |
empty() stosuje się m.in do $_POST. |
|
|
|
|
Dajaj
Pomógł: 176 razy Posty: 1019
|
Wysłany: 06-03-2013, 21:52
|
|
|
Kod: | if($row['user_id'] != '') {
$profile = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '">' . $row['name'] . '</a>'; }
else { $profile = $row['name']; } |
tak to by mogło wyglądać? |
|
|
|
|
Majkelo
Pomógł: 1283 razy Posty: 3081
|
Wysłany: 06-03-2013, 22:43
|
|
|
Lepiej, jednak pozostań przy starym szkielecie, nie ma sensu rozbijać tego na zbędne linie:
Kod: | $profile = $row['user_id'] != '' ? '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '">' . $row['name'] . '</a>' : $row['name'] ; |
|
|
|
|
|
Gadatliwa Kasia
|
|
|
|
Dajaj
Pomógł: 176 razy Posty: 1019
|
Wysłany: 06-03-2013, 23:29
|
|
|
Ok wielkie dzięki za porady |
|
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!
Powered by phpBB modified by Przemo © 2003 phpBB
| Strona wygenerowana w 0,14 sekundy. Zapytań do SQL: 15 | |
|
|