Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MySQL i logowanie
Forum PHP.pl > Forum > Przedszkole
tes
Nie wiem jak sie za to zabrac:
Chcialbym zeby uzytkownik sie logowal (w formularzu podaje login i haslo), nastepnie skrypt sprawdzal czy w bazie jest taki login i pasuje do niego haslo... jesli pasuje go "loguje".
Dzieki z gory. Pozdrawiam
strife
index.php
  1. <form method="POST" action="loguj.php">
  2. <input type="text" name="login">
  3. <input type="text" name="passwd">
  4. </form>


loguj.php

  1. <?php
  2.  
  3. $login = $_POST['login'];
  4. $passwd = $_POST['passwd'];
  5.  
  6. $query = mysql_query(&#092;"SELECT * FROM uzytkownicy WHERE login = '$login' \");
  7. $array = mysql_fetch_array($query);
  8.  
  9.  
  10. if ($array == FALSE)
  11. {
  12.    die('podany uzytkownik nie istnieje');
  13.  
  14. }
  15.  
  16. $sql_passwd = $array['passwd'];
  17.  
  18. if ($passwd == $sql_passwd)
  19. {
  20. echo 'witaj'.$login;
  21.  
  22. }
  23.  
  24. ?>


Sklepane na szybko nie wiem czy działa.

Pozdrawiam!

EDIT
@hmmm - sprawdziłem, u mnie działa bez problemu. Ale nie wykluczone, że tak jak napisałeś też może zadziałać tongue.gif
hmmm
nie wiem, ale na pierwszy rzut oka w tej linii
Cytat
$query = mysql_query("SELECT * FROM uzytkownicy WHERE login = '$login' ");
wydaje mi sie, ze jest blad.

bo nie bedzie tam wstawialo wartosci zmiennej login, wiec powinno byc chyba:
  1. <?php
  2. $query = mysql_query(&#092;"SELECT * FROM uzytkownicy WHERE login = '\" . $login . \"'\");
  3. ?>
ale nie jestem pewien tongue.gif

jak cos, to przepraszam

edit
@scarface a to przepraszam tongue.gif
tes
Wielkie dzieki za pomoc, dziala jak zloto. Napisalem sobie tez system newsow (taki prosty na MySQL).
http://home.kw.pl/ test//test
poki co nie ma kasowania i edycji bo musze jeszcze doczytac jak to robic:)

Ale mam problem - po zalogowaniu wsyztsko zachowuje sie tak jakby nie pamietalo ze jestem zalogowany..... tzn nie moge dodac newsa. Wiecie jak to zrobic ?
warliker
Tak wiemy smile.gif...
Musisz użyć sesji:

  1. <?
  2. $_SESSION['zmienna do zapamiętania'] = 'bla bla bla'
  3. ?>


A potem robisz to pętlami warunkowymi.
tes
w tej zmiennej do zapamietania to bedzie:
$_POST['login'] na przyklad ?
strife
Cytat(tes @ 2005-02-26 20:45:54)
w tej zmiennej do zapamietania to bedzie:
$_POST['login'] na przyklad ?

Tak to będzie wartość zawarta w $_POST['login'] proponuje abyś poćwiczył najpierw i poczytał o session

  1. <?php
  2.  
  3. $zapamietaj = $_POST['login'];
  4. $_SESSION['login'] = $zapamietaj;
  5.  
  6. // a potem
  7.  
  8. if (isset($_SESSION['login'])) // jeśli taka sesja istnieje
  9. {
  10. echo 'witam'.$_SESSION['login'];
  11.  
  12. }
  13.  
  14. ?>


Nie wiem czy działa, powinno - jakby co to poprawcie.

Pozdrawiam!
tes
hmm zrobilem to tak:
  1. <?php
  2.  
  3. mysql_connect (&#092;"localhost\", \"user\", \"haslo\") or
  4. die (&#092;"Nie można połączyć się z MySQL\");
  5. mysql_select_db (&#092;"IS\") or
  6. die (&#092;"Nie można połączyć się z bazą\");
  7. $login = $_POST['login'];
  8. $passwd = $_POST['passwd'];
  9. $zapytanie = mysql_query(&#092;"SELECT * FROM uzytkownicy WHERE login = '$login' \");
  10. $array = mysql_fetch_array($zapytanie);
  11. $sql_passwd = $array['passwd'];
  12. if ($array == TRUE && $passwd == $sql_passwd) {
  13. session_register(&#092;"login\");
  14. session_register(&#092;"passwd\");
  15. }
  16.  
  17. ?>



i pozniej:

  1. <?php
  2.  
  3. if ($_SESSION['login']==&#092;"$login\" && $_SESSION['passwd']==\"$passwd\") {
  4. brawo
  5. } else { 
  6. kupa 
  7. }
  8.  
  9. ?>



i wsyztsko jest niby okej, dodaje newsy, ale chcialem zeby nazwe zalogowanego uzytkownika przesylalo mi do bazy:
  1. <?php
  2.  
  3. $zapytanie = &#092;"INSERT INTO news (kto, mail, tytul, tresc) VALUES ('\".$_SESSION['login'].\"', i tak dalej
  4.  
  5. ?>


i nie przekazuje mi tego S_SESSION['login'], nie mam pojecia czemu sad.gif troche dziwne bo skoro sprawdza czy w bazie istnieje, to czemu mialby tam nie istniec. :/


jesli zle wytlumacyzlem to sprawdzcie sobie tutaj o co dokladnie mi chodzi:
http://83.175.176.47/index_2.php
login: test pass: test

dzieki za dotychczasowa pomoc
Ociu
A masz session_start(); ?

IMHO lepsze są ciastka smile.gif)
Kshyhoo
A jak ktoś wyłączy ciacha?
hmmm
to dac wyzej komunikat, notke, ze do prawidlowej obslugi strony potrzebna jest wlaczona obsluga ciastek tongue.gif
Kshyhoo
Znam takich, który nakichają na taki komunikat smile.gif
tes
Cytat(Ociu @ 2005-02-27 09:09:18)
A masz session_start(); ?

mam i nic sad.gif

caly kod:

  1. <?
  2. mysql_connect (&#092;"localhost\", \"user\", \"pass\") or
  3. die (&#092;"Nie można połączyć się z MySQL\");
  4. mysql_select_db (&#092;"IS\") or
  5. die (&#092;"Nie można połączyć się z bazą\");
  6. $login = $_POST['login'];
  7. $passwd = $_POST['passwd'];
  8. $zapytanie = mysql_query(&#092;"SELECT * FROM uzytkownicy WHERE login = '$login' \");
  9. $array = mysql_fetch_array($zapytanie);
  10. $sql_passwd = $array['passwd'];
  11. if ($array == TRUE && $passwd == $sql_passwd) {
  12. session_register(&#092;"login\");
  13. session_register(&#092;"passwd\");
  14. }
  15.  
  16. if ($_SESSION['login']==&#092;"$login\" && $_SESSION['passwd']==\"$passwd\") {
  17. print '<html>';
  18. print '<head>';
  19. print '<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\"> ';
  20. print '<title>Panel</title> ';
  21. print '<LINK REL=\"stylesheet\" HREF=\"style.css\" TYPE=\"text/css\"> ';
  22. print '</head> ';
  23. print '<body> ';
  24. print '<center> ';
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31. $autor=$_SESSION['login'];
  32. print &#092;"<font color=black size=3 face=Arial>Witaj <font color=red face=tahoma><b>$autor</b></font></font><br><br>\";
  33. print &#092;"<a href=index.php class=main><u>Dodaj News</u></a>&nbsp;&nbsp;&nbsp;&nbsp;<a href=index.php class=main><u>Dodaj Plik</u></a>&nbsp;&nbsp;&nbsp;&nbsp;<a href=index.php class=main><u>Dodaj Wyniki</u></a> <br><br>\";
  34.  
  35.  
  36. if ($_POST['do'] == 'dodaj') {
  37. if ($_POST['tytul'] && $_POST['tresc']) {
  38. $query = &#092;"INSERT INTO news (kto, mail, \";
  39. $query .= &#092;"tytul, tresc) VALUES ('\".$_SESSION['login'].\"', '\".$_POST['mail'].\"', '\".$_POST['tytul'].\"', '\".$_POST['tresc'].\"');\";
  40. $wynik = mysql_query ($query);
  41. }
  42. }
  43.  
  44.  
  45. $wynik = mysql_query (&#092;"SELECT * FROM news;\") or
  46. die (&#092;"błąd w pytaniu\");
  47.  
  48. print &#092;"<TABLE cellspacing=1 cellpadding=4 border=0 bgcolor=#D3D3D4>\";
  49. print &#092;"<TR><TD class=news_tytul><B>Login</B></TD><TD class=news_tytul><B>Mail</B></TD>\";
  50. print &#092;"<TD class=news_tytul><B>Tytul</B></TD><TD class=news_tytul><B>Tresc</B></TD><TD class=news></TD><TD class=news_tytul></TD></TR>n\";
  51.  mysql_query(&#092;"ALTER TABLE 'news ORDER BY 'nr' DESC\");
  52. while ($rekord = mysql_fetch_assoc ($wynik)) {
  53. $nr = $rekord['nr'];
  54. $kto = $rekord['kto'];
  55. $mail = $rekord['mail'];
  56. $tytul = $rekord['tytul'];
  57. $tresc = $rekord['tresc'];
  58.  
  59.  print &#092;"<TR><TD class=news>$kto</TD><TD class=news><a href=mailto:$mail>$mail</a></TD><TD class=newstytul>$tytul</TD><TD class=newsy_tresc>$tresc</td><TD class=news><a href=edytuj>Edytuj</a></TD><TD class=news><a href=edytuj>Usuń</a></TD></tr>\";
  60. print &#092;"n\";
  61. }
  62. print &#092;"</TABLE><br><br>\";
  63. print '<FORM METHOD=\"POST\"><font color=black>Nowy news:</font>';
  64. print '<INPUT TYPE=\"hidden\" NAME=\"do\" VALUE=\"dodaj\"><TABLE>';
  65. print '<TR><TD class=formularz>Mail:</TD><TD><input ';
  66. print 'TYPE=\"text\" NAME=\"mail\"></TD></TR><TR><TD class=formularz>Tytul:</TD>';
  67. print '<TD><INPUT TYPE=\"text\" NAME=\"tytul\"></TD></TR><TR><TD class=formularz>Tresc:</TD>';
  68. print '<TD><textarea TYPE=\"text\" NAME=\"tresc\" rows=10 cols=80></textarea></TD></TR>';
  69. print '</TABLE><INPUT TYPE=\"submit\" VALUE=\"Dodaj\"></FORM>';
  70.  }
  71.  else {
  72.  print 'Zla nazwa uzytkownika, lub haslo';
  73.  }
  74.  
  75.  
  76. ?>
  77. </center>
  78. </BODY>
  79. </HTML>
Coyote
to ja bede inny niz wszyscy i dam ci tutorial do tego :

[zmoderowano: http://forum.php.pl/index.php?act=ST&f=8&t=30324 ]
_______________
teraz chyba znikly watpliwosci smile.gif
Ociu
Coyote: Przeczytałem tylko 4 pierwsze zdania twojego postu i raczej nie chodzi nam już o logowanie... tylko o dodawanie informacji do bazy.

  1. <?php
  2. if($post_Coyote_pomogl == TRUE)
  3. {
  4. delete_post($this);
  5. }
  6. ?>


Spróbujemy innym sposobem.

  1. <?php
  2. if ($_POST['do'] == 'dodaj') {
  3. if ($_POST['tytul'] && $_POST['tresc']) {
  4. $query = &#092;"INSERT INTO news (kto, mail, \";
  5. $query .= &#092;"tytul, tresc) VALUES ('\".$_SESSION['login'].\"', '\".$_POST['mail'].\"', '\".$_POST['tytul'].\"', '\".$_POST['tresc'].\"');\";
  6. $wynik = mysql_query($query);
  7.  
  8. }
  9. }
  10. ?>


Wstaw
  1. <?php
  2. if ($_POST['do'] == 'dodaj') {
  3. if ($_POST['tytul'] && $_POST['tresc'] && isset($_SESSION['login'])) {
  4. $query = &#092;"INSERT INTO news (kto, mail, \";
  5. $query .= &#092;"tytul, tresc) VALUES ('\".$_SESSION['login'].\"', '\".$_POST['mail'].\"', '\".$_POST['tytul'].\"', '\".$_POST['tresc'].\"');\";
  6. $wynik = mysql_query ($query);
  7.  
  8.  echo $wynik ? &#092;"ok\" : \"false\";
  9. } else {
  10. print 'Cos nie tak...';
  11. }
  12. }
  13. ?>


I napisz co wyświetliło
tes
nic nie wsywetlilo
Coyote
ale tu masz wszystko ... a nie ze pomoge mu jedno .,.. a zaraz 10 pytan o cos innego smile.gif
Ociu
tes: w takim razie daj 'action' do tego samego pliku co jest skrypt...
Coyote
tak tez mozna smile.gif
Kshyhoo
Walczę TU z podobnym problemem, jeżeli nie tym samym! Coyote, jesteś The Best smile.gif
Coyote
dzieki ale nie mow mi tak bo w samo zachwyt wpadne smile.gif
tes
ehh wale to chyba musze najppierw podstawy zalapac tongue.gif

thx wsyztskim, jak napisze to dam znac ;] szkoda ze teraz sesja.. ;/
Coyote
Jak juz bedziesz chcial podstawy to tu masz najlepszy kurs jaki znalazlem smile.gif:
http://www.leon.w-wa.pl/texts/kurs/
tes
Chetnie przejrze. Bo w sumie nie moge sie przestawic z C na php ;]
Coyote
kursik jest bardzo przyjemny ... a jak nie bedziesz czegos rozumial to wal smialo
Kshyhoo
Ufff, jakoś zakumałem i działa. Ale mam pytanie don Coyote. Jak dorobić wybór, autoryzacja z mailem lub bez? Kombinowałem, ale udało mi się jedynie popsuć...
A, jeszcze nie zakumałem, po co są dwa pliki index.php?
tes
Ok. Nie bede zakladal nowego tematu bo chyba nie ma sensu skoro tyczy sie tego samego...
Postanowilem oprzec swoj system logowania na ciastkach i na poczatku pliku mam tak:
  1. <?
  2. if (!($passwd)) {
  3.  setcookie('passwd', $_POST['pass'], time()+3600);
  4.  } 
  5. ?>


no i pozniej sprawdzanie na odpowiednich podstronach:
  1. <?
  2. if ($passwd==xxx) {
  3. lalalalalal
  4. } else {
  5. zmykaj
  6. }
  7.  
  8. ?>


u mnie na localhoscie:
http://83.175.176.47/www/index.php?go=wyniki
to dziala
a juz na serwerze uczelnianym:
http://student.uci.agh.edu.pl/~jmachaj/now...x.php?go=wyniki
nie dziala sad.gif

czy ktos wie czemu? czy to zalezy od ustawien apache czy jak ? O_o

aha jak chcecie sprawdzic to podaje haslo:
dla grupy drugiej haslo: 234

dzieki z gory za odpowiedz
Coyote
Cytat
Ufff, jakoś zakumałem i działa. Ale mam pytanie don Coyote. Jak dorobić wybór, autoryzacja z mailem lub bez? Kombinowałem, ale udało mi się jedynie popsuć...
A, jeszcze nie zakumałem, po co są dwa pliki index.php?


hm... sprecyzuj o co dokladniej chodzi .... a co do twojej odpowiedzi to dam ci znac jak siade do kompa bo teraz tylko przelotnie smile.gif a i zamiesc tu swoj skrypt ....


a co do ciebie tes ... na czym to jeszcze opierasz questionmark.gif na bazie questionmark.gif i w ciastku raczej nie zapamietuj hasla .... lepiej jest zapamietac login ... bo chaslo za latwo idzie wyciagnac z cookies ...
Kshyhoo
Już tłumaczę. Admin wybiera, czy autoryzacja nowych userów ma być z wysyłaniem maila, czy bez. Powiedzmy, że mamy admin.php, gdzie odpowiednio zaznaczamy opcje. Ten kod podpatrzyłem w php-HOLE, och sorry php-NUKE...
  1. <?php
  2. <tr>
  3. <td class=&#092;"row1\">{ACCT_ACTIVATION}</td>
  4. <td class=&#092;"row2\">
  5. <input type=&#092;"radio\" name=\"require_activation\" value=\"{ACTIVATION_NONE}\" {ACTIVATION_NONE_CHECKED} />{NONE}&nbsp; &nbsp;<input type=\"radio\" name=\"require_activation\" value=\"{ACTIVATION_USER}\" {ACTIVATION_USER_CHECKED} />{USER}&nbsp; &nbsp;<input type=\"radio\" name=\"require_activation\" value=\"{ACTIVATION_ADMIN}\" {ACTIVATION_ADMIN_CHECKED} />{ADMIN}</td>
  6. </tr>
  7. ?>

Czyli do wyboru:
1. po rejestracji można automatycznie się zalogować;
2. po rejestracji przychodzi mail i trzeba aktywować konto;
3. po rejestracji czekamy na widzimisie admina.
tes
nie na bazie smile.gif normalnie 3 warunki dla 3ch grup
Kshyhoo
Znowu gadasz szyfrem smile.gif
tes
juz ci dekompiluje winksmiley.jpg:

  1. <?
  2. $g=$_POST['grupa'];
  3. $p=$_POST['pass'];
  4. if ($g1=&& $p==123) {
  5. include &#092;"wynikigr1.php\";
  6. } elseif ($g==&& $p==234) {
  7. include &#092;"wynikigr2.php\";
  8. } elseif ($g==&& $p==345) {
  9. include &#092;"wynikigr3.php\";
  10. } else {
  11. echo 'Podałeś niepoprawne hasło!';
  12. }
  13. ?>


przykladowe wyniki dla grupy drugiej:



  1. <?
  2. if (!($passwd)) {
  3.  setcookie('passwd', $_POST['pass'], time()+3600);
  4.  }
  5. ?>
  6.  
  7.  
  8.  <?
  9.  if ($_POST['pass']==234) {
  10.  
  11. wyswietl wybor
  12.  
  13. } else {
  14. zmykaj 
  15. }


i po wyborze:

  1. <?
  2.  if ($passwd==234) {
  3. wyswietla wybrane wyniki
  4. } else {
  5. zmykaj
  6. }
  7.  
  8. ?>
Coyote
tes widze ze szybko sie uczysz smile.gif......




_______________________
Kshyhoo:

powiedzmy ze w bazie masz zapisana opcje jaka jest zaznaczona w adminie ... logowanie .. aktywoanie itp ..
piszesz sobie warunki np

  1. <?php
  2.  
  3. $sql = mysql_query (&#092;"SELECT * FROM tabela\");
  4. $row = mysql_fetch_array ($sql); 
  5.  
  6. if ($row['akt'] == &#092;"1\") { // w bazie zapisujesz jaka akcja powiedzmy 1 == mail
  7. jedna akcja ;
  8. }
  9.  
  10. if ($row['akt'] ==&#092;"2\"){ // 2 == auto logon 
  11. druga akcja ;
  12. }
  13.  
  14. if ($row[akt] ==&#092;"3\"){ // 3 == jeszcze cos 
  15. trzecia akcja;
  16. }
  17.  
  18.  
  19. ?>


o cos takiego chodzi questionmark.gif
tes
Cytat(Coyote @ 2005-03-02 21:26:12)
tes widze ze szybko sie uczysz smile.gif......

Sytaram sie jak moge tongue.gif Jak juz zalicze ta sesje to sobie przysiade. Ja nie wiem co na tym serwerzze uczelnianym odwalaja... ni cholery to dzialac nie bedzie
Coyote
hehe i kolejny ziomek zachecony do php smile.gif
winksmiley.jpg
Gość_Wescik
Witam!!
A ja nawet nie umiem skopiować tego kodu co Coyote podał w każdym pliku tj. rejestracja.php index.php angrysmiley.gif
Server zwraca błąd
Cytat
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in rejestracja.php on line 113

113 linia to jest:
  1. <?php
  2.  
  3. $kod = htmlspecialchars(stripslashes(trim($_GET[&#092;"kod\"])), ENT_QUOTES);
  4. ?>

nie wiem o co chodzi i podobnie jest z index.php tyle że tam wskazuje na linie 89
  1. <?php
  2.  
  3. if ($_SESSION[&#092;"zalogowany\"]==\"tak\") { ....
  4.  
  5. ?>

a w pliku zmiana.php to poprostu
Cytat
Parse error: parse error in zmiana.php on line 75

i żeby było śmieszniej jest to koniec kodu worriedsmiley.gif

Może to coś z serverem ?


Z góry dzięki za pomoc
Wescik
Witam ! co do posta wyżej to już to wszystko działa winksmiley.jpg MOwię o kodzie który podał Coyote (dzieki)
ale nie działa link potwierdzajacy, ktory jest wysyłany do uzytkownika. Chodzi o to ze zwraca, każdowrazowo, że
Cytat
Rejestracja nie może zostać dokończona - sprawd� czy link jest poprawny!


Porównałem kod z linka do kodu w bazie i sie zgadadzają a mimo to nie zmieniło statusu na 5 (czyli aktywny). Może ktoż ma jaki pomysł, w czym jest rzecz.

NO i druga sprawa to przypomnienie hasła, również nie działa, mimo iż zmieniam recznie status w bazie danych dla danego loginu.

Logownie odbywa sie poprawnie, gdy zminei recznie status w bazie.

Nie mam pomysłu co jest źle.

Jak ktos może to niech napisze co może być?

POzdrawiam
Coyote
hm.... niezabardzo rozumiem bo u mnie ten skrypcik smiga winksmiley.jpg
Wescik
kurde noramalnie jest wszystko dobrze link ktory jest tworzony w mailu wyglada dobrze a mimo to w bazie nie zmienia wartosci
tresc maial jest taka:
Cytat
Aby potwierdzic rejestracje kliknij w ciagu 48 godzin na adres:
http://127.0.0.1/~adams/rejestracja.php?op...95425e3cea47e34
Jezeli nie chcesz sie rejestrowac, zignoruj ten list.



i problem z przypomnieniem hasła mimo ze koels jest aktywny to wyskakuje ze nie am takiego loginu


moze to cos w ustawieniach mojega serwera działam na Krasnal Serv 2.7
Coyote
to jest skrypt pod php 4++ ale nie wiem jak wyglada pod php5 nie wiem czy jakies funkcje czy cos sie nie zmienilo ... ja nadal pracuje na php4 winksmiley.jpg
Wescik
Kod sprawdzałem na php4 i php5 i na obu jest to samo, poprostu cosik z baza chyba jest nie tak zaraz poprobuj inne uprawnienia nadac dla konta
filuniu
ja także miałem problemy z tym skryptem ale google i troche dumania pomaga załączam all dzialające skrypty Coyot sory za zmiany ... smile.gif

index.php
  1. <?
  2.  
  3. $mysql_host = &#092;"host\";
  4. $mysql_login = &#092;"login\";
  5. $mysql_haslo = &#092;"haslo\";
  6. $mysql_baza = &#092;"baza1\";
  7. $mysql_tabela = &#092;"logowanie\";
  8.  
  9. // **************************************************
  10. // ********** wylogowanie i zalogowanie z ustaleniem sesji...
  11. // **************************************************
  12.  
  13. $login = $_POST[&#092;"login\"];
  14. $haslo = $_POST[&#092;"haslo\"];
  15.  
  16. if ($_GET[&#092;"login\"]==\"koniec\") { // wylogowanie
  17. session_unset();session_destroy();
  18. } else if ($login<>&#092;"\" and $haslo<>\"\") {
  19. $haslo = md5($haslo);
  20. if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) {
  21. if (mysql_select_db($mysql_baza)) {
  22. $wynik=mysql_query(&#092;"SELECT * FROM $mysql_tabela WHERE
  23. login='$login' and haslo='$haslo' and status=5&#092;");
  24. if (mysql_num_rows($wynik)==1) {
  25. $dane=mysql_fetch_array($wynik);
  26. $_SESSION[&#092;"zalogowany\"]=\"tak\";
  27. $_SESSION[&#092;"login\"]=$dane[\"login\"];
  28. $_SESSION[&#092;"imie\"]=$dane[\"imie\"];
  29. $_SESSION[&#092;"email\"]=$dane[\"email\"];
  30. }
  31. } else echo &#092;"Nie można połączyć się z bazą\";
  32. mysql_close($baza);
  33. }
  34. }
  35. ?>
  36.  
  37. <table border=\"1\" width=\"100%\">
  38. <tr><td valign=\"top\" width=\"200\">
  39.  
  40. <p>
  41. lewy bok strony
  42. </p>
  43.  
  44. <?
  45.  
  46. // **************************************************
  47. // ********** panel formularza do zalogowania i wylogowania
  48. // **************************************************
  49.  
  50. if ($_SESSION['zalogowany']==&#092;"tak\") {
  51. echo &#092;"<p>Witaj <b>\".$_SESSION[\"login\"].\"</b></p>\";
  52. echo &#092;"<br><a href=\"index.php?login=koniec\">wyloguj się</a>\";
  53. echo &#092;"<br><a href=\"zmiana.php\">zmień hasło</a>\";
  54. } else {
  55.  
  56. echo ('
  57. <form action=\"index.php\" method=\"post\">
  58. <table>
  59. <tr>
  60. <td align=\"right\">login:&nbsp;</td>
  61. <td><input type=\"text\" name=\"login\" /></td>
  62. </tr>
  63. <tr>
  64. <td align=\"right\">hasło:&nbsp;</td>
  65. <td><input type=\"password\" name=\"haslo\" /></td>
  66. </tr>
  67. <tr>
  68. <td colspan=\"2\" align=\"right\">
  69. <input type=\"submit\" value=\"zaloguj\" /></td>
  70. </tr>
  71. </table>
  72. </form>
  73. <a href=\"rejestracja.php?opcja=przypomnij\">przypomnij hasło</a></br />
  74. <a href=\"rejestracja.php\">ZAREJESTRUJ SI!</a>
  75. koniec ');}
  76. ?>
  77.  
  78. </td><td valign=\"top\">
  79.  
  80. <p>
  81. prawy bok strony...
  82. </p>
  83. <p>
  84.  
  85. </p>
  86.  
  87. <?
  88.  
  89. if ($_SESSION[&#092;"zalogowany\"] == \"tak\" ) {
  90. echo &#092;"<p>TEN tekst widzi tylko zalogowany użytkownik! </p>\";
  91. echo &#092;"<p>TEN tekst widzi tylko zalogowany użytkownik! </p>\";
  92. echo &#092;"<p>TEN tekst widzi tylko zalogowany użytkownik! </p>\";
  93. echo &#092;"<p>TEN tekst widzi tylko zalogowany użytkownik! </p>\";
  94.  
  95.  
  96.  
  97. } 
  98. ?>
  99.  
  100. </td>
  101. <tr>




rejestracja.php
  1. <?
  2.  
  3. $mysql_host = &#092;"host\";
  4. $mysql_login = &#092;"login\";
  5. $mysql_haslo = &#092;"haslo\";
  6. $mysql_baza = &#092;"baza1\";
  7. $mysql_tabela = &#092;"logowanie\";
  8. $twoj_adres = &#092;"mmeil\";
  9.  
  10. $opcja = trim($_REQUEST[&#092;"opcja\"]);
  11.  
  12. if ($opcja==&#092;"test\") {
  13.  
  14. // **************************************************
  15. // ********** 1. sprawdzenie danych i dodanie uzytkownika
  16. // **************************************************
  17.  
  18. $login = htmlspecialchars(stripslashes(trim($_POST[&#092;"login\"])), ENT_QUOTES);
  19. $haslo = htmlspecialchars(stripslashes(trim($_POST[&#092;"haslo\"])), ENT_QUOTES);
  20. $email = htmlspecialchars(stripslashes(trim($_POST[&#092;"email\"])), ENT_QUOTES);
  21. $imie = htmlspecialchars(stripslashes(trim($_POST[&#092;"imie\"])), ENT_QUOTES);
  22.  
  23. if (strlen($login)<3 or strlen($login)>50
  24. or !eregi(&#092;"^[a-zA-Z0-9_.]+$\",$login)) { $blad++;
  25. echo &#092;"<span style=\"color:red;\">Login musi mieć od 3 do 50 znaków
  26. bez polskich liter i spacji!</span><br />&#092;";
  27. } else {
  28. if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) {
  29. if (mysql_select_db($mysql_baza)) {
  30.  $wynik=mysql_query(&#092;"SELECT * FROM $mysql_tabela WHERE login='$login'\");
  31. } else echo &#092;"Nie można połączyć się z bazą\";
  32. mysql_close($baza);
  33. } else echo &#092;"Nie można połączyć się z serwerem MySQL\";
  34. if (mysql_num_rows($wynik)<>0) { $blad++;
  35. echo &#092;"<span style=\"color:red;\">Login już został przez kogoś użyty!.
  36. Zaproponuj inny!</span><br />&#092;";
  37. }
  38. }
  39.  
  40. if (strlen($haslo)<6 or strlen($haslo)>50
  41.  or !eregi(&#092;"^[a-zA-Z0-9]+$\",$haslo)) { $blad++;
  42. echo &#092;"<span style=\"color:red;\">Hasło musi mieć od 6 do 50 znaków
  43. bez polskich liter i spacji!</span><br />&#092;";
  44. }
  45.  
  46. if (!eregi(&#092;"^[0-9a-z_.-]+@([0-9a-z-]+.)+[a-z]{2,4}$\",$email)) { $blad++;
  47. echo &#092;"<span style=\"color:red;\">E-mail nie został
  48. podany prawidłowo!</span><br />&#092;";
  49. }
  50.  
  51. if ($blad==0) {
  52. $kod = uniqid(rand());
  53. $haslo = md5($haslo); // zaszyfrowanie hasla
  54. if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) {
  55. if (mysql_select_db($mysql_baza)) {
  56. $wynik = mysql_query(&#092;"INSERT INTO $mysql_tabela
  57. VALUES('$login', '$haslo', '$kod', 1, NOW(), '$email', '$imie')&#092;");
  58. } else echo &#092;"Nie można połączyć się z bazą\";
  59. mysql_close($baza);
  60. } else echo &#092;"Nie można połączyć się z serwerem MySQL\";
  61.  
  62. if ($wynik) {
  63. $list=&#092;"
  64. Aby potwierdzic rejestracje kliknij w ciagu 48 godzin na adres:
  65. http://filuniu.zapto.org/rejestracja.php?opcja=potwierdz&kod=$kod
  66. Jezeli nie chcesz sie rejestrowac, zignoruj ten list.
  67. &#092;";
  68. mail($email, &#092;"Rejestracja\", $list, \"From: <$twoj_adres>\");
  69. echo &#092;"<p>Aby dokończyć proces rejestracji odbierz e-mail</p>\";
  70. }
  71. } else $opcja=&#092;"\";
  72. }
  73.  
  74. if ($opcja==&#092;"\") {
  75.  
  76. // **************************************************
  77. // ********** 2. formularz zakładania konta
  78. // **************************************************
  79.  
  80. echo ('KONIEC
  81. <form action=\"rejestracja.php\" method=\"post\">
  82. <input type=\"hidden\" name=\"opcja\" value=\"test\" />
  83. <table>
  84. <tr>
  85. <td>login:*</td>
  86. <td><input type=\"text\" name=\"login\" value=\"podaj login\" /></td>
  87. </tr>
  88. <tr>
  89. <td>hasło:*</td>
  90. <td><input type=\"password\" name=\"haslo\" value=\"podaj haslo\" /></td>
  91. </tr>
  92. <tr>
  93. <td>e-mail:*</td>
  94. <td><input type=\"text\" name=\"email\" value=\"podaj email\" /></td>
  95. </tr>
  96. <tr>
  97. <td>imie i nazwisko:</td>
  98. <td><input type=\"text\" name=\"imie\" value=\"podaj imie\" /></td>
  99. </tr>
  100. <tr>
  101. <td>&nbsp;</td>
  102. <td><input type=\"submit\" value=\" OK, rejestruję się!\" /></td>
  103. </tr>
  104. </table>
  105. </form>
  106. KONIEC');}
  107.  
  108.  
  109. if ($opcja==&#092;"potwierdz\") {
  110. // **************************************************
  111. // ********** 3. potwierdzenie rejestracji, uaktywnienie uzytkownika
  112. // **************************************************
  113.  
  114. $kod = htmlspecialchars(stripslashes(trim($_GET[&#092;"kod\"])), ENT_QUOTES);
  115. if ($kod<>&#092;"\") {
  116. if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) {
  117. if (mysql_select_db($mysql_baza)) {
  118. $wynik = mysql_query(&#092;"DELETE FROM $mysql_tabela
  119. WHERE data<=DATE_SUB(NOW(),INTERVAL 2 DAY) and status=1&#092;");
  120. $wynik = mysql_query(&#092;"UPDATE $mysql_tabela
  121. SET status='5', data=NOW() WHERE kod='$kod' and status=1&#092;");
  122. $wynik = mysql_query(&#092;"SELECT * FROM $mysql_tabela
  123. WHERE kod='$kod' and status=5&#092;");
  124. } else echo &#092;"Nie można połączyć się z bazą\";
  125. mysql_close($baza);
  126. } else echo &#092;"Nie można połączyć się z serwerem MySQL\";
  127. if (mysql_num_rows($wynik)==1) {
  128. $dane = mysql_fetch_array($wynik);
  129. echo &#092;"<p>Dziękujemy. Rejestracja została zakończona poprawnie.</p>\";
  130. }
  131. }
  132. if ($kod==&#092;"\" or mysql_num_rows($wynik)<>1) {
  133. echo &#092;"<p>Rejestracja nie może zostać dokończona -
  134. sprawdź czy link jest poprawny!</p>&#092;";
  135. }
  136. }
  137.  
  138.  
  139.  
  140. if ($opcja==&#092;"przypomnij\") {
  141.  
  142. // **************************************************
  143. // ********** 4. formularz przypominania danych
  144. // **************************************************
  145.  
  146. echo ('
  147. <p>Wpisz login użyty podczas rejestracji.
  148. Po chwili otrzymasz mailem nowe hasło.</p>
  149. <form action=\"rejestracja.php\" method=\"post\">
  150. <input type=\"hidden\" name=\"opcja\" value=\"wyslijhaslo\" />
  151. <table>
  152. <tr>
  153. <td>login:</td>
  154. <td><input type=\"text\" name=\"login\" value=\"$login\" /></td>
  155. </tr>
  156. <tr>
  157. <td>&nbsp;</td>
  158. <td><input type=\"submit\" value=\" przypomnij \" /></td>
  159. </tr>
  160. </table>
  161. </form>
  162. KONIEC');}
  163.  
  164.  
  165. function haslo() {
  166. $min = 6; $max = 12;
  167. for($i=0;$i<rand($min,$max);$i++) {
  168. $znak=chr(rand(48,122));
  169. if (eregi(&#092;"[0-9a-zA-Z]\",$znak)) $haslo .= $znak;
  170. else $i--;
  171. }
  172. return $haslo;
  173. }
  174.  
  175.  
  176. if ($opcja==&#092;"wyslijhaslo\") {
  177.  
  178. // **************************************************
  179. // ********** 5. zmiana hasla i wyslanie go do uzytkownika
  180. // **************************************************
  181.  
  182. $login = htmlspecialchars(stripslashes(trim($_POST[&#092;"login\"])), ENT_QUOTES);
  183. $hasloczytelne = haslo();
  184. $haslo = md5($hasloczytelne);
  185. if ($login<>&#092;"\") {
  186. if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) {
  187. if (mysql_select_db($mysql_baza)) {
  188. $wynik = mysql_query(&#092;"UPDATE $mysql_tabela
  189. SET haslo='$haslo' WHERE login='$login' and status=5&#092;");
  190. $wynik = mysql_query(&#092;"SELECT * FROM $mysql_tabela
  191.  WHERE login='$login' and status=5&#092;");
  192. } else echo &#092;"Nie można połączyć się z bazą\";
  193. mysql_close($baza);
  194. }
  195. if (mysql_num_rows($wynik)==1) {
  196. $dane = mysql_fetch_array($wynik);
  197. $email = $dane[&#092;"email\"];
  198. $list=&#092;"Oto przypominane haslo: $hasloczytelne\";
  199. mail($email, &#092;"Przypomnienie hasla\", $list,\"From: <$twoj_adres>\");
  200. echo &#092;"<p>Hasło zostało wysłane mailem...</p>\";
  201. } else {
  202. echo &#092;"<p>Użytkownik o podanym loginie nie istnieje!</p>\";
  203. }
  204. }
  205. }
  206. ?>


zmiana.php

  1. <?
  2.  
  3.  
  4. $mysql_host = &#092;"host\";
  5. $mysql_login = &#092;"login\";
  6. $mysql_haslo = &#092;"haslo\";
  7. $mysql_baza = &#092;"baza1\";
  8. $mysql_tabela = &#092;"logowanie\";
  9.  
  10. $opcja = trim($_REQUEST[&#092;"opcja\"]);
  11.  
  12.  
  13. if ($opcja==&#092;"zmien\" and $_SESSION[\"zalogowany\"]==\"tak\") {
  14. $haslo = htmlspecialchars(stripslashes(trim($_POST[&#092;"haslo\"])), ENT_QUOTES);
  15. $imie = htmlspecialchars(stripslashes(trim($_POST[&#092;"imie\"])), ENT_QUOTES);
  16.  
  17. if (strlen($haslo)<6 or strlen($haslo)>50
  18.  or !eregi(&#092;"^[a-zA-Z0-9]+$\",$haslo)) { $blad++;
  19. echo &#092;"<span style=\"color:red;\">Hasło musi mieć od 6 do 50 znaków
  20. bez polskich liter i spacji!</span><br />&#092;";
  21. }
  22.  
  23. if ($blad==0) {
  24. $kod = uniqid(rand());
  25. $haslo = md5($haslo); // zaszyfrowanie hasla
  26.  
  27. if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) {
  28. if (mysql_select_db($mysql_baza)) {
  29. $wynik = mysql_query(&#092;"UPDATE $mysql_tabela
  30. SET haslo='$haslo', imie='$imie' WHERE login='{$_SESSION[\"login\"]}'&#092;");
  31. } else echo &#092;"Nie można połączyć się z bazą\";
  32. mysql_close($baza);
  33. } else echo &#092;"Nie można połączyć się z serwerem MySQL\";
  34. if ($wynik) {
  35. echo &#092;"Dane zostały zmienione\";
  36. $_SESSION[&#092;"imie\"]=$imie;
  37. }
  38. } else echo &#092;"Dane nie zostały zmienione!\";
  39. }
  40.  
  41.  
  42. if ($_SESSION[&#092;"zalogowany\"]==\"tak\") {
  43.  
  44. if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) {
  45. if (mysql_select_db($mysql_baza)) {
  46. $wynik=mysql_query(&#092;"SELECT * FROM $mysql_tabela WHERE
  47. login='{$_SESSION[\"login\"]}'&#092;");
  48. if (mysql_num_rows($wynik)==1) {
  49. $dane=mysql_fetch_array($wynik);
  50.  
  51. echo ('
  52. <form action=\"zmiana.php\" method=\"post\">
  53. <input type=\"hidden\" name=\"opcja\" value=\"zmien\" />
  54.  
  55. <table>
  56. <tr>
  57. <td align=\"right\">hasło:&nbsp;</td>
  58. <td><input type=\"password\" name=\"haslo\" /></td>
  59. </tr>
  60. <tr>
  61. <td align=\"right\">imie i nazwisko:&nbsp;</td>
  62. <td><input type=\"text\" name=\"imie\" value=\"zmień imie\" /></td>
  63. </tr>
  64. <tr>
  65. <td colspan=\"2\" align=\"right\">
  66. <input type=\"submit\" value=\"zmien\" /></td>
  67. </tr>
  68. </table>
  69. </form>
  70. '); }
  71. } else echo &#092;"Nie można połączyć się z bazą\";
  72. mysql_close($baza);
  73. } else echo &#092;"Nie można połączyć się z serwerem MySQL\";
  74.  
  75. }
  76.  
  77. ?>



mam nadzieje ze jakoś sie przydałem smile.gif a z drugiej strony Coyot dzieki za te błędy przynajmniej musiałem troche mózgownicą ruszyć :]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.