![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 7.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Na poczatku powiem ze nie jestem totalnie zielony w php :/ Napisałem skrypt rejstracji i logowań. składajaca sie z : -regist.php ( rejestracja uzytkowników) -login.php ( logowanie) -site.html ( strona głowna) zamieszcze te skrypty regist.php
login.php
w sumie wszystko działą rejestruje uzytkowników i loguje. Ale nie tak jakby tego chciał :/ 1. podczas rejestracji nie wymusza na uzytkowniku wypełnienia wszystkich pól :/ 2. Nie sprawadza czy konto o podanej nazwie juz isnieje :/ i tworzy nowe o istniejacej juz nazwie :/ mam jeszcze 3 problem jak wymusić na uzytkowniku aby strone site.html mozna było ogladać dopiero po rejestracji?? Moze to dla was proste rzeczy ale ja mam z tym mały problem :/ POzdrawiam |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Ad1.
Sprawdzaj, czy wszystkie wymagane pola formularza zostały wysłane poprzez sprawdzenie, czy istnieje $_POST['twoja_zmienna'] Ad2. Pobierasz użytkowników z pliku i sprawdzasz, czy wysłany nick jest już zarejestrowany Większośc kodu masz przecież napisane (choćby proces logowania) - użyj go po prostu, tylko zmień odrobinę. Skoro potrafiłeś dane wklepac do pliku i je stamtąd wyciągnąć, to nie powinieneś mieć problemu ze sprawdzeniem, czy użytkownik juz istnieje. Pozdrawiam. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 7.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
No i mam problem wstawiłem kod któy sparwzda czy dany plik istnieje ale coś musiałem sknocić i nie działa :/
Pomoze ktoś ![]() A tak przy okazji to mam dw pytanka jeszcze Bo chce aby moja strone przegladali tylko zarejestrowani uzytkownicy jak zrobić aby ktos kto nie jest zarejestrowny aby go automatycznie przenosiło na strone logowania.I jak zrobić aby zapamietywało uzytkownika?? Tak by wchodzac po raz kolejny na strone nie musiał się juz logowac?? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 13 Pomógł: 1 Dołączył: 1.04.2008 Skąd: WARSZAWA Ostrzeżenie: (0%) ![]() ![]() |
CODE <?php switch($_GET['akcja']) { default: echo("<br /><br /><b>REJESTRACJA</b><hr width=\"100%\"><br /> <form action=\"regist.php?akcja=zarejestruj\" method=\"post\"> Nick: <input type=\"text\" name=\"nick\"><br /> Haslo: <input type=\"text\" name=\"haslo\"><br /> Powtorz Haslo: <input type=\"text\" name=\"haslo2\"><br /> Email: <input type=\"text\" name=\"email\"><br /> <input type=\"submit\" value=\"zarejestruj\"><br /> <input type=\"reset\" value=\"Resetuj\"> </form>"); break; case "zarejestruj": setcookie("nick", time() + 1000000 * 6000000000000); $nick = $_POST['nick']; $haslo = $_POST['haslo']; $haslo2 = $_POST['haslo2']; $email = $_POST['email']; $plik = $nick.".txt"; //deklaracja ścieżki do pliku if(!empty($nick) && !empty($haslo) && !empty($email)) //sprawdza czy nick, haslo i e-mail sa puste. { echo 'Niewypełniono wszystkich pól: <br> <br>'; require ('zamuw.php'); exit; } else if(ereg("[a-z0-9_]", $nick)) //sprawdza czy nick przypadkowo nie zawiera niedostepnych znaków (ogranicz dostępność znaków). { echo 'Wyst±pił bł±d: nick zawiera nieprawidłowe znaki!<br> <br>'; require ('zamuw.php'); exit; } else if($haslo == $haslo2 && strlen($haslo) >= 5) //sprawdza czy haslo jest poprawne i nie mniej niz 5 znaków. { echo 'Wyst±pił bł±d: wpisane hasła nie s± takie same lub zawiera ono mniej niż 5 znaków!<br> <br>'; require ('zamuw.php'); exit; } else if (!file_exists($plik)) // { print('Uzytkownik o nazwie " .$plik. " juz istnieje'); //informacja, że istnieje plik o nazwie $plik na serwerze } else { $plik = $nick.".txt"; $fp = fopen($plik, "w"); flock($fp, LOCK_EX); fwrite($fp, $nick."##".$haslo."##".$email."\n"); flock($fp, LOCK_UN); fclose($fp); echo("konto o nazwie [".$_POST['nick']."] zostalo pomyslnie utworzone !<br /><r /><a href=\"login.php\">ZALOGUJ SIĘ</a>"); break; } } ?> Troche przerobilem ten skrypt rejestracij poniekąt jest opisany. Staralem sie żeby nie bylo bledów lecz nigdy nic nie wiadomo u mnie na krasnalu działa. Myśle ze sie przydałem ![]() ![]() -------------------- ![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Kodu nie sprawdzalem ale
Idzie obejsc uzuj lepiej preg_match(); -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
1. echo używaj tak:
- tak jest prościej, szybciej i czytelniej 2. Nie sprawdzasz danych odbieranych od użytkownika - poczytaj o walidacji danych 3. Nie szyfrujesz haseł 4. Wygodnie jest zapisywać każdego użytkownika w oddzielnym pliku? 5. Zapoznaj się z mechanizmami sesji 6. Nie zaszkodzi oddzielić kod html od php 7. Napisz to od nowa, opierając się na podobnych rozwiązaniach, choćby takim: php.webhelp.pl/index.php?id=105&roz=php&ac=read |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 25.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie jestem za bardzo kumaty w te klocki więc sam proszę o pomoc.
Jeżeli ktoś by był tak uprzejmy niech napisze mi co i jak mam zrobić.A najlepiej cały kod. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 763 Pomógł: 117 Dołączył: 15.03.2010 Skąd: void Ostrzeżenie: (0%) ![]() ![]() |
Cały kod? Śnij dalej...
I. Rejestracja: 1. tworzysz formularze HTML. 2. piszesz skrypt PHP 3. łączysz się z bazą danych i odbierasz dane z formularzy 4. przypisujesz im zmienne 5. robisz kilka zapytań do bazy -> w tym sprawdzając, czy dana nazwa użytkownika już istnieje 6. jeśli nie istnieje tworzysz kolejne zapytanie - INSERT 7. dodajesz do bazy odpowiednie wartości (ze zmiennych) 8. wywalasz komunikat, że rejestracja przebiegła prawidłowo. II. Logowanie: 1. tworzysz odpowiednie pola w HTML 2. w PHP odbierasz odbierasz odpowiednie dane i przypisujesz im zmienne 3. robisz kilka zapytań w celu sprawdzenia (poprawna/błędna nazwa użytkownika, poprawne/błędne hasło) 4. jeśli dane zostaną potwierdzone przez bazę to tworzysz sesję 5. robisz przekierowanie do strony dla zalogowanych III. Strona dla zalogowanych: 1. łączysz się z bazą 2. sprawdzasz, czy taka (jak powyżej) sesja jest aktywna 3. jeśli nie to przekierowanie do strony logowania / jeśli tak to nic nie robi 4. (... dalej zależy od Ciebie) IV. Wylogowanie: 1. łączysz z bazą 2. dezaktywujesz sesję 3. przekierowanie do na stronę logowania Nic trudnego. Poczytaj kilka kursów PHP żebym nie musiał tłumaczyć Ci podstaw. Ostatnio spotkałem podobny temat i już mnie to szczerze mówiąc znudziło - gadanie jak do ściany. Jak już coś obczaisz to przejdziemy na programowanie ![]() Narazie tylko schemat - żebyś wiedział o co w tym chodzi. Poczytaj o: -> łączeniu z bazą MySQL -> odbieraniu danych z formularzy -> tworzeniu zmiennych -> zapytaniach do bazy SELECT, INSERT, UPDATE, DELETE -> klauzulach (w zapytaniach do bazy - np. WHERE id > 0) -> sesjach Pozdrawiam. -------------------- Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 10:01 |