Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- * założenia walidacji pól formularza
- * imie - minimum 3 znaki, duża litera i małe litery
- * nazwisko - minimum 3 znaki, duża litera i małe litery
- * nick - minimum 5 znaków, tylko małe litery i cyfry , nie zaczynamy cyfra
- */
- //dołączanie pliku z konfiguracją
- require_once ('./konfiguracja.php');
- // przepisanie zmiennych z tablicy $_POST
- //trim - oczyszcza tekst z białych znaków z początku i końca
- $imie = trim($_POST['imie']);
- $nazwisko = trim($_POST['nazwisko']);
- $nick = trim($_POST['nick']);
- $haslo1 = trim($_POST['haslo1']);
- $haslo2 = trim($_POST['haslo2']);
- $sprawdz = '/^[A-Z][A-Za-z]{2,}$/';
- if(preg_match($sprawdz, $imie)) {
- echo 'Podano prawidłe imie';
- } else {
- echo 'Imie nieprawidlowe';
- }
- //empty(zmienna) - zwraca prawdę jeżeli zmienna jest pusta
- if(empty($imie) || empty($nazwisko) || empty($nick) || empty($haslo1) || empty($haslo2)) {
- //pole jest puste
- echo "<p>Pola formularza muszą być wypełnione</p>";
- echo "<p><a href='rejestracja.php'>Wróć do formularza</a></p>";
- }else {
- //pole jest wypełnione
- if($haslo1 !== $haslo2) {
- echo "<p>Hasła muszą być identyczne</p>";
- echo "<p><a href='rejestracja.php'>Wróć do formularza</a></p>";
- }else {
- //hasła są zgodne
- //TODO: sprawdzić czy nick już nie istnieje
- $czyNickSiePowtorzyl = false;
- $plik = file("konta.txt");
- foreach($plik as $linia) {
- $dane = explode($separator, $linia);
- if($nick === $dane[0]) {
- // konto się powtórzyło
- $czyNickSiePowtorzyl = true;
- break; // przerwanie dalszego wykonania
- }
- }
- if($czyNickSiePowtorzyl === true) {
- echo "<p>Podany nick już istnieje</p>";
- echo "<p><a href='rejestracja.php'>Wróć do formularza</a></p>";
- }else {
- //procedura zapisu do pliku
- //nick;hasloimie;nazwisko;data_rejestracji;ip_rejestracji
- $dane = $nick . $separator;
- $dane .= sha1($haslo1) .$separator;
- $dane .= $imie . $separator;
- $dane .= $nazwisko . $separator;
- $dane .= date("Y-m-d H:i:s") . $separator;
- $dane .= $_SERVER['REMOTE_ADDR'];
- $dane .= "\r\n";
- //zapis w trybie dopisywania
- file_put_contents("konta.txt", $dane,FILE_APPEND);
- echo "<p>Konto zostało zarejestrowane</p>";
- echo "<p><a href='rejestracja.php'>Wróć do formularza</a></p>";
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement