![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 733 Pomógł: 4 Dołączył: 11.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich. Od jakiegoś czasu nie mogę uporać się z dwoma funkcjami panelu administracyjnego. Pierwszym z nich jest skrypt komunikatu administratora.
Chodzi o to, że po zaznaczeniu pola checked nie zmienia się wartość w bazie danych na 1. Poza tym brakuje mi tutaj czegoś takiego, że jeśli wartość w bazie równa się 1 to checked jest zaznaczony. Struktura bazy:
Skrypt: http://wklej.org/id/388541/ Drugim skryptem, z którym mam problem to zmiana hasła administratora. Z tym skryptem według mnie będzie trudniej, bo o ile pierwsza część wykonuje się prawidłowo to, gdy nie występują błędy w pierwszej części formularz przechodzi do drugiego formularza, ale co teraz się dziej. Pokazują się oby dwa formularze. Zamiast tylko drugi to pokazuje się i pierwszy i drugi. A gdy tutaj złe dane się wpisze to powraca do pierwszego formularza, a chciałbym, żeby w tym drugim można było poprawić dane i kontynuować skrypt czyli zmienić hasło w bazie. Struktura bazy:
Skrypt: http://wklej.org/id/388542/ Proszę o pomoc bo już nie wiem co jest nie tak. Z góry dziękuje (IMG:style_emoticons/default/smile.gif) Za pomoc oczywiście "POMÓGŁ" (IMG:style_emoticons/default/smile.gif) Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 40 Dołączył: 26.08.2009 Skąd: Kobiernice Ostrzeżenie: (0%) ![]() ![]() |
Co do pierwszego tylko podpowiem:
porównaj linię 19 z 35 i zobacz czym się różni. A co do zaznaczenia to linia: 49 zmień na: $pobierztresc = mysql_query("SELECT tresc, poziom FROM komunikat WHERE id='1'"); i linię 56 z isset($poziom) na isset($tresc['poziom']) <-- nie wiem po co ale jest rano, więc może się to okazać konieczne. oraz: 59 z $poziom na: $tresc['poziom'); co do drugiego nie mam już czasu... Może później. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 733 Pomógł: 4 Dołączył: 11.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
To tak. Działać działa ale sypie błędem:
Notice: Undefined index: poziom in /a/b/c/d/e/komunikat.php on line 10
Ten post edytował adrianozo 14.09.2010, 13:53:20 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 1 Dołączył: 14.09.2010 Skąd: Chełmno Ostrzeżenie: (0%) ![]() ![]() |
Co do problemu pierwszego:
w lini 10 masz if(isset($poziom)) a nie widzę wcześniej deklaracji zmiennej $poziom. Ten kawałek kodu się nigdy nie wykona. Dalej w lini 19 jest: if($_POST['poziom'] == 1) problem w tym, że gdy checkbox jest niezaznaczony to wogóle się nie wysyła w POST. sprawdzaj czy isset i czy równe jest równe 1. Zmienna poziom w bazie: `poziom` text collate utf8_polish_ci NOT NULL, jest typou text. Czy jest to konieczne jeśli przechowuje zmienną Bool? Pozatym jeśli to tekst to porównuj jak string == "1" a nie == 1 (taka drobna uwaga) Co do problemu 2: Nie wiem dokładnie o co Ci chodzi. Strzelam, że ma być tak: Jeśli ktoś popełnij błąd w pierwszym formularzu to ten formularz ma się pokazać jeszcze raz a jeśli niema błędów to ma się pokazać formularz drugi. A teraz jest problem z tym, że gdy niema błędu to się pokazuje formularz pierwszy i drugi? Czy tak? Jeśli tak to zwróć uwagę jak działa Twój algorytm: 1. jeśli NIE WYSŁANO pierwszego forma to go wyświetl (linia 8) 2. w przeciwnym razie WYŚWIETL pierwszy form i sprawdź czy jest on poprawny (linia 17) 3. sprawdź czy WYSŁANO pierwszy form i czy nie było błędów. Jesli tak to wyświetl form drugi. (linia 58) Tak te warunki są ułożone, że gdy wyślesz pierwszy form to wyświetli się on jeszcze raz (linia 19) a potem sprawdzenie będzie czy są błędy i jeśli nie to wyświetli się drugi form. Ten post edytował selecton 14.09.2010, 14:40:28 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 733 Pomógł: 4 Dołączył: 11.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Pierwszy skrypt zrobiony.
Problem został w drugim skrypcie. Teraz gdy nie ma błędu pokazuje się formularz drugi. Wypełniasz dane w drugim formularzu i jak wysyłasz i pokazują się błędy to pokazują się błędy oraz pierwszy formularz zamiast drugiego. To samo jest, gdy poprawnie dane wypełnisz. Pokazuje się pierwszy formularz, a nie pokazują się komunikaty, czy poprawnie dane wprowadzone, czy błędnie. zmiana_hasla.php
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 1 Dołączył: 14.09.2010 Skąd: Chełmno Ostrzeżenie: (0%) ![]() ![]() |
Troche niepotrzebnie to zagmatwałeś. Generalnie chcesz zrobić taki algorytm:
To jest tylko szkic algorytmu - pokombinuj w tym kierunku. Ten post edytował selecton 14.09.2010, 19:27:42 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 11:35 |