Sruu - forum webdeveloperów
System Rejestracji i logowania - Wersja do druku

+- Sruu - forum webdeveloperów (http://forum.sruu.pl)
+-- Dział: Web Development (/f-web-development)
+--- Dział: PHP & MySQL (/f-php-mysql)
+--- Wątek: System Rejestracji i logowania (/t-system-rejestracji-i-logowania)

Strony: 1 2


System Rejestracji i logowania - eleyas - 14-10-2015 14:53

Witam. Staram się zrobić amatorski system rejestracji i logowania na stronę. Co narazie osiągnąłem:
Wyskakują konkretne błędy przy niezgodności. Np: 
"Błąd! Login oraz hasło zawierają mniej niż 5 znaków."
"Błąd! Hasło zawiera mniej niż 5 znaków."
"Hasło nie może przekraczać 50 znaków, a login 30 znaków."
"Błąd! Login oraz hasło to taki sam ciąg znaków."
Dodałem sesię, która sprawdza, czy użytkownik jest zalogowany.
Tylko, wiadomo, login i hasło nie zapisują się. Dodałem tabelę w bazie danych o nazwie 'logowanie' z kolumnami 'id' 'login' 'password'. Stworzyłem sobie 3 wyimaginowanych użytkowników. Teraz tylko co chcę osiągnąć to to, aby 
1 Rekordy same dodawały się przy rejestracji
2 Strona odczytywała coś w tym stylu "Jeśli login, którego id wynosi '5' jest zgodny z hasłem, którego id wynosi '5' to cośtam cośtam"
3 Wyskakiwał błąd, jeśli użytkownik użył zajętego już loginu w rejestracji
4 Wyskakiwał błąd przy wprowadzeniu błędnych danych do logowania

Główkowałem jakoś z mysql_query(); żeby było coś w stylu

$dane = mysql_query('select * from logowanie');

$txt = mysql_fetch_assoc($dane);
$login = $txt['login'];
$passw = $txt['password'];

$pass = ($_POST['pass']);
$user = ($_POST['user']);

if $txt['id'] where $txt['login]==$user i tu dalej nawet nie wiem co spekulować Big Grin
Oczywiście wiem, że powyższa linijka jest niepoprawna, bo zawiera ciut z PHP i ciut z MySQL, ale myślę, że da się to jakoś połączyć, tylko mi po prostu brakuje wiedzy i doświadczenia. 


RE: System Rejestracji i logowania - klocek - 14-10-2015 16:00

A połączyłeś się wgl z bazą danych?


RE: System Rejestracji i logowania - eleyas - 14-10-2015 16:03

Tak, no bez przesady, aż tak początkujący nie jestem Big Grin


RE: System Rejestracji i logowania - klocek - 14-10-2015 18:26

No to teraz sprawdzasz czy formularz rejestracji został przesłany, np. if(isset($_POST['submit']), a następnie wykonujesz odpowiednie zapytania do bazy danych.

Czy login jest już zajęty sprawdzisz poprzez "SELECT COUNT(*) FROM `users` WHERE `login` = $_POST['login']".


RE: System Rejestracji i logowania - eleyas - 14-10-2015 19:39

czli przykładowa "linijka" może wyglądać tak: 
if (isset($_POST['submit']){
[font=Arial, Verdana, sans-serif]mysel_query (SELECT COUNT(*) FROM `users` WHERE `login` = $_POST['user']);
[/font]

}
? Czy coś zrobiłem źle?
##//Edit
Dopisałem czysto sprawdzającą "linijkę"
   if (isset($_POST['submit']))  {

   echo "zatwierdzono";
}
I nie wyświeliło mi "zatwierdzono"


RE: System Rejestracji i logowania - klocek - 14-10-2015 21:28

A nazwałeś button "submit"? Tongue 

Poczytaj o PHP i MySQL albo obejrzyj sobie kurs: https://www.youtube.com/watch?v=JQ2Z1XJ7qT0&list=PLE974A9BEF34A967A&index=9


RE: System Rejestracji i logowania - eleyas - 14-10-2015 23:26

Ha Unknov! oglądam go właśnie sobie Big Grin Jest jedyną osobą, która nie robi przerywników typu "eeeee" "iiiii" "yyyy". tak, ale wracając. Próbowałem bez nazywania buttona, potem nazwałem go submit a potem suubmit (zmieniając oczywiście też submit na suubmit w kodzie podanym w moim ostatnim poście)

##//Edit 
A okej, już mi się wyświetla. Zła metoda Big Grin Teraz nie wiem jak zapisywać rekordy ze strony, oraz jak je potem odczytać oraz sprawdzić, czy istnieje już taki login.


RE: System Rejestracji i logowania - eleyas - 15-10-2015 08:53

Okej, teraz mam taki oto kodzik:
Kod PHP:
$uchwyt1 mysql_query("SELECT * FROM slog WHERE login = '$user'") or die(mysql_error());

$row1 mysql_num_rows($uchwyt1);

//$uchwyt2 = mysql_query("SELECT * FROM slog WHERE haslo = '$pass'") or die(mysql_error('no w chuj'));
//$row2 = mysql_num_rows($uchwyt2);


if ($row1==1){
echo 
"Email "."'$user'"." jest już zajęty."; 
} elseif ($row1==0){
echo 
"Pomyślnie zajerestrowano do serwisu.";

W bazie danych mam dodanych dwóch przykladowych uzytkowników. Niezależnie, czy w polu na login (email) wprowadzę nowy, czy użyty już email zawsze wyświetla mi komunikat "Pomyślnie zajerestrowano do serwisu."


RE: System Rejestracji i logowania - eleyas - 15-10-2015 23:31

Ogarnąłem już system rejestracji i logowania, ale teraz mam kolejny problem. 
Chciałem, aby niezalogowany użytkownik widział przyciski do logowania i rejestracji, a zalogowany "Witaj"
Oto mój kodzik w indexie
Kod PHP:
<?php

require 'database.php';
require_once 
'user.class.php';

if (
user::isLogged()) {
    $user user::getData('''');
    echo "Witaj";
} else {
    echo ' <a href="/register.php"> <li> Nowe konto </li> </a>
<a href="/login.php"> <li> Zaloguj się</li> </a>'
;
}
?>
I zawsze, niezależnie, czy użytkownik jest zalogowany, czy nie, wyświetlają się przyciski logowania i rejestracji.


RE: System Rejestracji i logowania - writen - 20-10-2015 16:32

Problem na pewno będzie leżał w metodzie isLogged.