![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 10.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem ponieważ gdy klikam na jakiegoś zawodnika to usuwa mi z najniższym id, wiem że coś musiałem namieszać z przekazywaniem jakie id ma być skasowane, lecz nie mogę dojśc co jest nie tak, prosiłbym o pomoc:
index.php
i plik delete.php
Czy ktoś może wie co ja tu namieszałem ![]() I jeszcze jedno, jak zapamiętać to moje hasło żeby po kliknięciu na końcu na "Lista" przeniosło mnie do stronki index.php (bo w chwili obecnej tylko wrzuca że nie mam dostępu (czyli nie pamięta nazwy użytkownika i hasła) PS: dodam jeszcze że moja tabela z zawodnikami nazywa się "zawodnicy" i kolumna pierwsza "id" primary key wydaje mi się że błąd był tu:
troche zmieniłem ale dalej nie działa poprawnie :/ teraz mam coś takiego:
wyskakuje błąd: Niepoprawne zapytanie: Nieznana kolumna 'zawodnicy' w where clause czyli zapytanie niedobre - faktycznie bo nie mam kolumny zawodnicy tylko tabela nazywa się zawodnicy a kolumna jest id, ale jak to zmienić żeby podawało takie id jak ja klikam?? Ten post edytował Oscar_83 20.05.2007, 23:22:56 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 0 Dołączył: 19.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 10.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
hehe no i super
![]() ![]() ![]() ![]() teraz jest super ![]() jak zapamiętać to moje hasło żeby po kliknięciu na końcu na "Lista" przeniosło mnie do stronki index.php (bo w chwili obecnej tylko wrzuca że nie mam dostępu (czyli nie pamięta nazwy użytkownika i hasła) Ten post edytował Oscar_83 20.05.2007, 23:30:53 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 0 Dołączył: 19.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
W każdym pliku który będzie korzystał z Sesji, lub je tylko potem przekazywał dalej musisz na górze wkleić
session_start (); Więcej - w pliku Delete powinieneś też sprawdzać czy użytkownik jest zalogowany, bo w obecnej chwili każdy może sobie wejść w plik delete.php i kasować co mu się podoba ![]() Wystarczy sprawdzać warunek, czy jest ustawiony użytkownik ![]() Ten post edytował barat 21.05.2007, 08:46:41 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 10.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ustawiłem tak jak mi podpowiadałeś wszędzie session_start (); ale i tak potem jak klikam żeby powrócił do listy to i tak klika że nie mam dostępu.
PS: jakim warunkiem sprawdza się czy jest ktoś zalogowany? bo faktycznie można wejść bez logowania np do pliku delete. Ten post edytował Oscar_83 21.05.2007, 16:12:05 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 0 Dołączył: 19.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Obecnie masz spory bład ...
Najpierw ustawiasz username i userpass zgodne z $_POST i authuser na 0 Więc jak wracasz ze swojego skryptu delete, ustawiasz znowu sesje username i userpass, a ponieważ nie ma już danych $_Post to te sesje ustawiasz na puste więc nie ma sily by Cie zalogowało ![]() Musisz to przerobić ... najpierw sprawdzasz czy są dane $_POST i jeśli są to przypisujesz im dane username i userpas (pierwsza instrukcja if) Potem sprawdzasz czy SESSION userpass i username istnieją (isset($_SESSION['userpass/username'])) i odpowiadają wzorcom i ustawiasz Authuser na 1 jeśli tak, a Authuser 0 jeśli nie (instrukcja if - else) Na końcu sprawdzasz czy istnieje sesja Authuser i jeśli wynosi 1 to nic nie robisz: if (isset($_SESSION['authuser']) && $_SESSION['authuser'] == 1) { // nic nie rób } else { Przekierowujesz na stronę błędu lub wywalasz komunikat o błędzie i kończysz skrypt) W pozostałych stronach sprawdzasz warunek ten co wyżej , możesz go wkleić do każdej strony (sprawdza czy jest authuser ) Ten post edytował barat 21.05.2007, 19:48:15 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 10.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Hmm pisałem to wszystko na podstawie książki - robiłem to 1 raz,
nie wiem jak się sprawdza czy są dane $_POST, ale faktycznie tak jak mówisz pierw ustawiam tu u siebie autuhser na 0, czyli faktycznie nie może mi to działać. Do sprawdzania czy użytkownik się zalogował znalazłem w książce kod:
ten kod chyba podobnie działa co i ten co Ty mi podałeś, powrzucam go. na moje to ten pierwszy if to powinno być coś takiego:
czy to coś takiego będzie?? dobrze kombinuje?? przerobione troszke i tak samo do drugiego ifa oki próbuje jak to będzie działało Ten post edytował Oscar_83 21.05.2007, 21:14:21 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 0 Dołączył: 19.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Wystarczy
!$_POST['user'] , !$_POST['pass'] czyli wykrzykniki przed ... nie masz sprawdzać czy coś jest różne od zera tylko czy te zmienne w ogóle istnieją ![]() Dobrze kombinujesz ![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 10.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
teraz to już wogóle namieszałem tak że szok, jak zacząłem kombinować to na moje normalne hasło nie chce wchodzić, zakręciłem się mocno w tych ifach, co ja natworzyłem tu:
nie wiem czy chociaż kawałek tego będzie dobry :/ Ten post edytował Oscar_83 21.05.2007, 21:41:20 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 0 Dołączył: 19.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mogą być literówki ![]() Ten post edytował barat 21.05.2007, 21:48:37 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 10.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
rozumiem że w 3 i 4 linii przed $_POST powinny być wykrzykniki tak?
wielkie dzięki za przeróbkę ![]() |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 0 Dołączył: 19.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nie powinno być wykrzykników
![]() Tu sprawdzamy, czy $_POST zawierają dane (czyli bez wykrzykników) i jeśli tak , ustawiamy je w sesji |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 10.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
troszeczke zmieniłem bo brakowało w 2 miejscach nawiasów no i teraz jest coś takiego:
i niestety dalej nie działa, tzn nie mogę się zalogować wpisując prawidłowo hasło i login :/ Gdy skasowałem wszystko od 16 linii to myślałem już że jest wszystko oki bo zalogowało mnie a potem po delete wskoczyło normalnie znowu, ale okazało się że poprostu co by nie wpisał to wchodziło :/ więc dalej kombinuje |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 0 Dołączył: 19.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
sprawdź w 3 linii w w AND czy muszą być podwójne nawiasy - chyba nie
![]() ![]() Na razie piszę dla siebie trochę pokomplikowane cuś (też jestem początkujący) więc nie za bardzo mam czas sie wgłębić i pisze z głowy ![]() Na bank gdzieś mam przerobione przykłady z logowaniem na sesjach ... znajde to dam , ale pewnie szybciej sam na to wpadniesz ![]() Pisz od początku testowy skrypt ... po kolei,, kroczkami, Najpierw niech wyłapie $_POST, ustawi password i username na to co było w post i wyświetli (echo) ... potem powoli dodawaj nowe ... ![]() Ja po prostu jak piszę, to właśnie co kilka kroczków na chwile wstukuje echo ostatniej lub jakiejś ważnej zmiennej i sprawdzam co zwraca ![]() Ten post edytował barat 21.05.2007, 22:20:51 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 10.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
dodałem bo wywalało mi błąd ale teraz usunąłem i działa, lecz ciągle pisze że nie mam dostępu wpisując prawidłowe hasło, zmienie jeszcze ten drugi nawias który dodałem, może też niepotrzebnie.
Gdy usunąłem te drugie nawiasy to już była lipa - błędy - oki będę kombinował. Wydaje mi się że ta linijka:
nie powinna być w { } tyle że samo zlikwidowanie {} nie pomoże trzeba by było to jakoś przekształcić. Ten post edytował Oscar_83 21.05.2007, 22:22:05 |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
A nie prościej zrobić to w ten sposób:
1. Startujesz sesję 2. Sprawdzasz, czy $_SESSION['authuser'] jest ustawiona (isset" title="Zobacz w manualu PHP" target="_manual) i czy jest równa 1 > 3. Jeśli tak, to wyświetlasz treść strony dla zalogowanych 4. Jeśli nie, to sprawdzasz, czy wysłany został formularz:(empty" title="Zobacz w manualu PHP" target="_manual) > 5. Jeśli nie, to przerzucasz użytkownika do strony z formularzem logowania (header" title="Zobacz w manualu PHP" target="_manual) > 6. Jeśli tak, to sprawdzasz czy podane login i hasło się zgadzają: >> 7. Jeśli nie, to wyświetlasz informacje, że podano złe dane podczas logowania >> 8. Jeśli tak, to ustawiasz $_SESSION['authuser'] na 1 i przeładowujesz stronę, żeby cały kod - łącznie ze sprawdzaniem $_SESSION['authuser'] - wykonał się ponownie (header" title="Zobacz w manualu PHP" target="_manual) Do tego jeszcze jakiś pliczek logout.php, który usunie zmienną sesyjną $_SESSION['authuser'] (unset" title="Zobacz w manualu PHP" target="_manual) i przekieruje na stronę główną, albo do formularza logowania (header" title="Zobacz w manualu PHP" target="_manual) -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.08.2025 - 02:50 |