![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 2 Dołączył: 15.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Moich problemów ciąg dalszy. Tym razem z sesjami. Ogólnie podczas pisania tego kodu miałem sporo problemów. Najpierw po wstawieniu skryptu rozjechała mi się cała strona. Najpierw header wywalał mi błędy po includowaniu. Zastąpiłem go więc js'em. Później okazało się, że co prawda wyświetla mi formularz logowania, ale cała strona się rozjechała. Z tymi dwoma problemami uporałem się szybko. Teraz jednak mam problem z kontrolą sesji:
Logowanie przebiagało bezproblemowo, jednak przy próbie przejścia na inną stronę, przenosiło mnie na stronę login.php?error=1. Później kiedy chciałem wejść na dowolną stronę na której był formularz do logowania takze przenosiło mnie na tą stronę. Usunąłem ciasteczka za pomocą FireBug (nie napisałem jeszcze skryptu do wylogowania). Teraz w ogóle nie mogę się zalogować. Po prostu skrypt "przeładowuje się". Nie przenosi mnie na żadną stronę, ani nie następuje logowanie. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 17 Dołączył: 17.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem jaki jest błąd w twoim kodzie, ale wiem co go powoduje.
1) Kod spaghetti 2) Podejście strukturalne a nie jak to powiano być obiektowe. 3) Brak wykorzystania wzorców projektowych Jeśli naprawdę chcesz się zacząć uczuć php, zacznij od podstaw które są teraz standardem MVC, PDO. Jeśli piszesz własnego cms jak to każdy robi na początku, zainwestuj w książkę lub poszukaj kursu który opisuje krok po kroku jak, zaprojektować własnego cms, jakie wzorce wykorzystać, czego nie robić i tak dalej... -------------------- PDO nie gryzie....
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 763 Pomógł: 117 Dołączył: 15.03.2010 Skąd: void Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem jaki jest błąd w twoim kodzie, ale wiem co go powoduje. 1) Kod spaghetti 2) Podejście strukturalne a nie jak to powiano być obiektowe. 3) Brak wykorzystania wzorców projektowych Jeśli naprawdę chcesz się zacząć uczuć php, zacznij od podstaw które są teraz standardem MVC, PDO. Jeśli piszesz własnego cms jak to każdy robi na początku, zainwestuj w książkę lub poszukaj kursu który opisuje krok po kroku jak, zaprojektować własnego cms, jakie wzorce wykorzystać, czego nie robić i tak dalej... Widzisz, że kolega jest początkujący, a Ty mu jeszcze z obiektówką wyskakujesz! 1) Z tym się zgadzam, brak oddzielenia warstwy logicznej od prezentacji danych 2) Nie w każdym przypadku OOP jest dobrym rozwiązaniem! Nie zapominaj, że PHP jest językiem, który nadal lepiej funkcjonuje w podejściu proceduralnym! 3) A co do tego mają wzorce? przeczytałeś książkę, wyczytałeś jakie to wzorce są super i już szpanujesz niezbyt profesjonalnym słownictwem? Daruj sobie... Jeśli naprawdę chcesz się dobrze nauczyć PHP, zacznij od podstaw! Podstawą jest podejście proceduralne, podstawowe funkcje, podstawowe biblioteki i trochę teorii + kilka małych projektów. PDO/MySQL/MySQLi - obojętnie od czego zaczniesz, z czasem zobaczysz co jest "lepsze" - grunt to spróbować wszystkiego! Na koniec, nie bierz się za CMS-a, bo zanim go ukończysz znienawidzisz cały dotychczas napisany kod i znajdziesz się w punkcie wyjścia dosłownie z niczym. Także szkoda Twojego czasu na coś, co niczego Cię na razie nie nauczy. Podsumowując, małe projekty, nie CMSy! -------------------- Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 17 Dołączył: 17.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
modern-web nie bardzo rozumem czemu mnie atakujesz, ale rozumiem że niektórzy tak już mają, preferują atak i poniżanie niż pomoc...
co do "wyczytałeś jakie to wzorce są super i już szpanujesz niezbyt profesjonalnym słownictwem? Daruj sobie..." nie wyczytałem tylko stosuje, wcześniej pisałem jak kolega wyżej ale było to może w 2005 i wiem jak ciężko to teraz rozwijać, a czemu wspomiałem o OPP i MVC ? ponieważ moim zdaniem jeśli jest to dobrze użyte łatwiej się takie projekty rozwija. Ale róbcie jak chcecie ![]() Ten post edytował szalek01 21.10.2012, 14:42:21 -------------------- PDO nie gryzie....
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 2 Dołączył: 15.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
A jakie to są małe projekty? Księga gości? Robiłem już
![]() Ten post edytował Testosteron 21.10.2012, 14:53:04 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 17 Dołączył: 17.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Moim zdaniem małe projekty to dla każdego co innego, jak tworzysz np aplikacji do obsługi sklepu gdzie CMS to tylko mały moduł to CMS jest dla ciebie małym projektem. Jeśli tworzyłeś wcześniej tylko formularze i księgi gości to CMS jesz już wyzwaniem
a co do tematu: problemem może być to że gdy jesteś zalogowany wykonuje się else gdzie sprawdzany jest czy nick jest poprawny a nie jest bo pewnie przychodzi pusty i wtedy jest przekierowanie na error =1 Kod <?php
session_start(); If (empty($_SESSION['zalogowany']) ) { } else { connect(); $nick = mysql_escape_string($_POST['nick']); $pass = mysql_escape_string($_POST['pass']); $pass = koduj ($pass); If (!preg_match('/^([a-zA-z])[a-zA-Z0-9_-]{3,25}$/',$nick) ) { //format loginu //<script language="javascript"> //window.location.href = "login.php?error=1"; //</script> .... Ten post edytował szalek01 21.10.2012, 15:02:06 -------------------- PDO nie gryzie....
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 2 Dołączył: 15.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Jak to poprawić?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 17 Dołączył: 17.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy dobrze rozumiem, w jakim pliku masz ten skrypt ? dodajesz go do każdej strony ?
Jeśli tak zrób oddzielny plik login.php gdzie będziesz sprawdzam warunki a jeśli użytkom się dobrze zaloguje przeładujesz go gdzieś indziej. Np login_form.php gdzie masz formularz logowania login.php gdzie sprawdzasz czy wszytko jest ok jak jest ok idziesz do np profil.php jak nie do dajesz header('Location: login_form.php?error=1'); i w login_form sprawdzasz jaki komunikat masz wyświetlić a w innych plikach sprawdzasz czy użytkownik jest zalogowany jeśli nie jest przenosisz go do login_form.php Ten post edytował szalek01 21.10.2012, 15:30:25 -------------------- PDO nie gryzie....
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 2 Dołączył: 15.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuję zrobić tak jak napisałeś. Ja całość zawarłem w jednym pliku i includowałem go do wszystkich dokumentów. Tylko jak mam to zrobić? Chodzi ci o coś takiego
<form action ="login.php" method="POST">? Nie chcę, żeby po zalogowaniu przenosiło mnie do profilu. Skrypt logowania mam na górze strony. Tam powinny pjawić mi się linki, któe umożliwią mi przejście do profilu, czy wylogowanie. I właśnie dlatego nie wiem, czy dobrze Cię zrozumiałem. Jeżeli odwołam się do 2 pliku tak jak napisałem wyżej to przejdę do innej strony a właśnie tego chciałbym uniknąć. Adres pozostaje bez zmian, tylko zmienia się jeden fragment strony. Ten post edytował Testosteron 21.10.2012, 15:45:08 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 03:51 |