Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V   1 2 3 >  
Reply to this topicStart new topic
> [MYSQL][PHP]System logowania/rejestracji
kingofspace
post
Post #1





Grupa: Zarejestrowani
Postów: 141
Pomógł: 4
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


mam zrobiony layout bardzo fajny sama grafika i html zrobilem sobie plik includowany lay.php w ktorym mam 2 funkcje
head ktora jako parametr pobiera title strony i foot gdzie jest stopka strona
w funkcje head mam dodatkowo formularz logowania;].
teraz moj epytanie brzmi jak zrobic baze (mysql zecz jasna) logowanie i rejestracje
potrzebuje podzial na rangi i dane zapisane w sesji mają byc id mail login ranga
Od czego zaczząć;]

moze lepjej jak bym to zrobil w jakims framework 9niemialem stycznosci nigdy z zrzadnym)
to bedzie strona do sprzedazy serwerów gier fps

Ten post edytował kingofspace 25.11.2009, 16:55:16
Go to the top of the page
+Quote Post
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Pytasz się o podstawy,
przeczytaj jakiś kurs, wszystkie to opisują.
Go to the top of the page
+Quote Post
kingofspace
post
Post #3





Grupa: Zarejestrowani
Postów: 141
Pomógł: 4
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


no ja juz przerobilem jakies kursiki na necie i nadal niewiem od czego zaczac;] ogolni ejakies podstawy php znam
Go to the top of the page
+Quote Post
Wicepsik
post
Post #4





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Od stworzenia tabeli w bazie danych.


--------------------
Go to the top of the page
+Quote Post
kingofspace
post
Post #5





Grupa: Zarejestrowani
Postów: 141
Pomógł: 4
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


oki troszke ssie pobawilem i stworzylem cos takiego

baza
  1. CREATE TABLE `users` (
  2. `user_id` INT NOT NULL AUTO_INCREMENT ,
  3. `user_login` VARCHAR( 30 ),
  4. `user_haslo` VARCHAR( 30 ),
  5. `user_mail` VARCHAR( 30 ),
  6. `user_status` VARCHAR( 30 ),
  7. `user_kasa` VARCHAR( 30 ),
  8. `user_ranga` VARCHAR( 30 ),
  9. PRIMARY KEY ( `user_id` )
  10. );


a tu plik logi.php

  1. <?php
  2. session_register("zalogowany");
  3.  
  4. if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;
  5.  
  6. require('include/baza.php');
  7. include('include/lay.php');
  8.  
  9.  
  10. headstr($title = "Strona główna");
  11. function ShowLogin($tresc = ""){
  12. echo('<div class="n">
  13. <div class="nt">
  14. <h1>Logowanie...</h1>
  15. </div>
  16. ');
  17. echo('.$title.');
  18.  
  19. echo('
  20. <div class="nb"><br/><div><a href="#"><br/></a></div></div>
  21. </div>
  22. ');
  23. }
  24. echo('<div id="left">');
  25.  
  26.  
  27. $user=$_POST["user"];
  28. $haslo=$_POST["haslo"];
  29. echo($user);
  30. echo($haslo);
  31. //cos do logowania haha.gif
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38. echo('</div>');
  39. footstr();
  40. ?>
  41.  
  42.  
  43.  
  44.  



Co dalej mam zrobic?

Ten post edytował kingofspace 25.11.2009, 16:53:07
Go to the top of the page
+Quote Post
Makciek
post
Post #6





Grupa: Zarejestrowani
Postów: 126
Pomógł: 5
Dołączył: 7.03.2009
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


1) połącz się z bazą danych
2) filtruj jakoś te zmienne, radzę ci kodować hasła o tak:
  1. SH1(MD5($_ZMIENNA_Z_HASŁEM))

a tu podstawowa filtracja:
  1. [b]$password = mysql_real_escape_string([/b][b]strip_tags($_POST['haslo'])[/b][b])[/b]

3) Sprawdzanie czy użytkownik istnieje, hasła są takie same (jeśli każesz je powtórzyć), wygenerowanie kodu aktywacji i wysłanie e-maila aktywujacego
3.1)dopisanie do bazy loginu, hasła itp + kod aktywacji

Przy logowaniu też kodujesz hasła i porównujesz zakodowane formy
Go to the top of the page
+Quote Post
kingofspace
post
Post #7





Grupa: Zarejestrowani
Postów: 141
Pomógł: 4
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


na początku chce zrobic logowanie rejestracja to jest maly pikus;]

w tym pliku mam juz wyciagniete zmienne z posta do zwyklej zmiennej jak je przefiltrowac i zakodowac ?

moj plik polaczenie z baza jest includowane z jakiegos pliczku

  1.  
  2. <?php
  3. session_register("zalogowany");
  4.  
  5. if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;
  6.  
  7. require('include/baza.php');
  8. include('include/lay.php');
  9.  
  10.  
  11. headstr($title = "Strona główna");
  12. function ShowLogin($tresc = ""){
  13. echo('<div class="n">
  14. <div class="nt">
  15. <h1>Logowanie...</h1>
  16. </div>
  17. ');
  18. echo('.$title.');
  19.  
  20. echo('
  21. <div class="nb"><br/><div><a href="#"><br/></a></div></div>
  22. </div>
  23. ');
  24. }
  25. echo('<div id="left">');
  26.  
  27.  
  28. $user=$_POST["user"];
  29. $haslo=$_POST["haslo"];
  30. echo($user);
  31. echo($haslo);
  32.  
  33.  
  34. //cos do logowania haha.gif
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41. echo('</div>');
  42. footstr();
  43. ?>
  44.  
  45.  
  46.  
  47.  
Go to the top of the page
+Quote Post
Makciek
post
Post #8





Grupa: Zarejestrowani
Postów: 126
Pomógł: 5
Dołączył: 7.03.2009
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


sorry w kodowaniu powinno być SHA1 a nie SH1, no ale nie mogę wy-edytować posta :/ więc pisze w nowym
Go to the top of the page
+Quote Post
kingofspace
post
Post #9





Grupa: Zarejestrowani
Postów: 141
Pomógł: 4
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


mam tak przefilrowane zmienne dobrze?

  1. <?php
  2. session_register("zalogowany");
  3.  
  4. if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;
  5.  
  6. require('include/baza.php');
  7. include('include/lay.php');
  8.  
  9.  
  10. headstr($title = "Strona główna");
  11. function ShowLogin($tresc = ""){
  12. echo('<div class="n">
  13. <div class="nt">
  14. <h1>Logowanie...</h1>
  15. </div>
  16. ');
  17. echo('.$title.');
  18.  
  19. echo('
  20. <div class="nb"><br/><div><a href="#"><br/></a></div></div>
  21. </div>
  22. ');
  23. }
  24. echo('<div id="left">');
  25.  
  26.  
  27. $user=$_POST["user"];
  28. $haslo=$_POST["haslo"];
  29. //filtrowanie zmiennych
  30. $haslo=mysql_real_escape_string($haslo);
  31. $user=strip_tags($user);
  32. $haslo=strip_tags($haslo);
  33.  
  34.  
  35. echo($user);
  36. echo($haslo);
  37.  
  38.  
  39. //cos do logowania haha.gif
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46. echo('</div>');
  47. footstr();
  48. ?>
  49.  
  50.  
  51.  
  52.  
Go to the top of the page
+Quote Post
Makciek
post
Post #10





Grupa: Zarejestrowani
Postów: 126
Pomógł: 5
Dołączył: 7.03.2009
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


sorry bbcode cos nawala :/

kod taki:

$user=mysql_real_escape_string(strip_tags($_POST['user']));//filtrujemy
#
$haslo=SHA1(MD5($_POST['haslo']));//kodujemy
#

echo($user);
#
echo($haslo);

Ten post edytował Makciek 25.11.2009, 17:31:36
Go to the top of the page
+Quote Post
kingofspace
post
Post #11





Grupa: Zarejestrowani
Postów: 141
Pomógł: 4
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


nierozumiem tego co podales niewiem ocb
Go to the top of the page
+Quote Post
darko
post
Post #12





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat
$user=mysql_real_escape_string(strip_tags($user));//filtrujemy
$haslo=SHA1(MD5($haslo));


Jak usunie $user i $haslo, to co to niby ma robić?

Raczej:

  1. $user=mysql_real_escape_string(strip_tags($_POST["user"]));//filtrujemy
  2. $haslo=MD5($_POST["haslo"]);


po co SHA1(MD5()); ?


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
Makciek
post
Post #13





Grupa: Zarejestrowani
Postów: 126
Pomógł: 5
Dołączył: 7.03.2009
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


Cytat(Makciek @ 25.11.2009, 17:26:48 ) *
sorry bbcode cos nawala :/

kod taki:

$user=mysql_real_escape_string(strip_tags($_POST['user']));//filtrujemy
// mysql_real_escape_string() - nie pozwala wykonać ataku SQL Injection
// strip_tags() - nie pzwala zrobic ataku xss
// zmieniłem tylko to, że wpakowałem to wszystko w jedno tongue.gif
//ps. mysql_realy... działa tylko po połączeniu z bazą
#
$haslo=SHA1(MD5($_POST['haslo']));//kodujemy
// SHA1() - jedno hashowanie
// MD5() - drugie hashowanie

#

echo($user);
#
echo($haslo);


a tak dokładnie to czego nie rozumiesz?
Go to the top of the page
+Quote Post
kingofspace
post
Post #14





Grupa: Zarejestrowani
Postów: 141
Pomógł: 4
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


sobie juz poradzilem zmienne zwracaja mi zafiltrowane i zakodowane dane teraz mam problem z polączeniem do mysql

mam plik includowany
  1.  
  2. <?
  3. $db_host="localhost";
  4. $db_user="uzytkownik";
  5. $db_pass="haslo";
  6. $db_data="bazaa_panel";
  7.  
  8.  
  9. $link = mysql_connect ("$db_host", "$db_user", "$db_pass")
  10. or die ("Nie można się połączyć");
  11. print ("Połączenie nawiązane");
  12. mysql_select_db($db_data,$link);
  13. ?>
  14.  



w pliku z logowaniemam taki kod

  1. <?php
  2. session_register("zalogowany");
  3.  
  4. if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;
  5.  
  6. require('include/baza.php');
  7. include('include/lay.php');
  8.  
  9.  
  10. headstr($title = "Strona główna");
  11. function ShowLogin($tresc = ""){
  12. echo('<div class="n">
  13. <div class="nt">
  14. <h1>Logowanie...</h1>
  15. </div>
  16. ');
  17. echo('.$title.');
  18.  
  19. echo('
  20. <div class="nb"><br/><div><a href="#"><br/></a></div></div>
  21. </div>
  22. ');
  23. }
  24. echo('<div id="left">');
  25.  
  26.  
  27. $user=$_POST["user"];
  28. $haslo=$_POST["haslo"];
  29. //filtrowanie zmiennych
  30. $haslo=mysql_real_escape_string($haslo);
  31. $user=strip_tags($user);
  32. $haslo=strip_tags($haslo);
  33. //zakodowanie hasla
  34. $haslo=MD5($haslo);
  35.  
  36. $zapytanie = "SELECT `user_id `,`user_login`,`user_haslo `,`user_mail `,`user_status `,`user_kasa`,`user_ranga FROM `users` WHERE `user_login`='$user' AND `user_haslo `='$haslo'";
  37. $wynik = mysql_query($zapytanie);
  38. $wiersze = mysql_num_rows($wynik);
  39. echo($wiersze);
  40.  
  41. echo($user);
  42. echo($haslo);
  43.  
  44.  
  45. //cos do logowania haha.gif
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52. echo('</div>');
  53. footstr();
  54. ?>
  55.  
  56.  
  57.  
  58.  


i mi wywala bład


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/kos/domains/kingofspace.d2.pl/public_html/login.php on line 40

wydaje mi sie ze niemoze polaczyc z baza jednak wyswietla w skrypcie do lączenia z baza
Połączenie nawiązane

co jest nie tak?
Go to the top of the page
+Quote Post
Makciek
post
Post #15





Grupa: Zarejestrowani
Postów: 126
Pomógł: 5
Dołączył: 7.03.2009
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


@darko

chyba nie zauwazyles tongue.gif, poprawile to juz wczesniej smile.gif

co do SHA1(MD5()) - to tak dla pewności tongue.gif
Go to the top of the page
+Quote Post
darko
post
Post #16





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


albo trzymasz w bazie niezahashowane hasło w postaci zwykłego tekstu, albo nie ma takiego użytkownika


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
kingofspace
post
Post #17





Grupa: Zarejestrowani
Postów: 141
Pomógł: 4
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


haslo mam zahashowane takim samym kodowaniem login mam taki sam jak wpisuje w formularzu wydaje moze mam zle zapytanie bo mi ni eprzechodzi przez phpmyadmina
Go to the top of the page
+Quote Post
Makciek
post
Post #18





Grupa: Zarejestrowani
Postów: 126
Pomógł: 5
Dołączył: 7.03.2009
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


j/w

pozatym po co dawac takie dlugie zapytanie:
$zapytanie = "SELECT `user_id `,`user_login`,`user_haslo `,`user_mail `,`user_status `,`user_kasa`,`user_ranga FROM `users` WHERE `user_login`='$user' AND `user_haslo `='$haslo'";

nie lepiej dać po prostu :


$zapytanie = "SELECT * FROM `users` WHERE `user_login`='$user' AND `user_haslo `='$haslo'";? tongue.gif

może sproboj:
mysql_query(...) or die (mysql_error());

Ten post edytował Makciek 25.11.2009, 17:47:30
Go to the top of the page
+Quote Post
kingofspace
post
Post #19





Grupa: Zarejestrowani
Postów: 141
Pomógł: 4
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


mialem racje mam blad w zapytaniu zwrocilo blad

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '` WHERE `user_login`='kingofspace' AND `user_haslo `='12bea9674f3d121afd7750d332' at line 1
Go to the top of the page
+Quote Post
Makciek
post
Post #20





Grupa: Zarejestrowani
Postów: 126
Pomógł: 5
Dołączył: 7.03.2009
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


Cytat(kingofspace @ 25.11.2009, 17:53:31 ) *
mialem racje mam blad w zapytaniu zwrocilo blad

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '` WHERE `user_login`='kingofspace' AND `user_haslo `='12bea9674f3d121afd7750d332' at line 1


eh to spacja :/
`user_haslo ` // spacja na koncu
powinno byc
`user_haslo`
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 05:21