Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie działa logowanie
Forum PHP.pl > Forum > PHP
alin77
Witam, pobrałem z innej strony darmowy skrypt, który nie działa nie wiem czemu. Proszę o pomoc.

  1. CREATE TABLE IF NOT EXISTS `users` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `imnaz` text NOT NULL, `email` text NOT NULL, `haslo` text NOT NULL, `telefon` text NOT NULL, `dodano` bigint(20) NOT NULL, `szyfr` int(11) NOT NULL, `status` int(1) NOT NULL, PRIMARY KEY (`uid`) ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=1 ;


W katalogu ink
  1. //———konfigurujemy dane
  2. $dbuser="uzytkownik";
  3. $dbbase="baza";
  4. $dbpass="haslo";
  5. $dbserv="host";
  6. $domena="domena";
  7. //———-połączenie z bazą mysql
  8. $dbh=mysql_connect ($dbserv, $dbuser, $dbpass) or die ('I cannot connect to the database because: ' . mysql_error());
  9. mysql_select_db ($dbbase);
  10. //———- zakoduj
  11. function zakoduj($var){
  12. $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
  13. $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
  14. $key = konf('keycode');
  15. $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $var, MCRYPT_MODE_ECB, $iv);
  16. return base64_encode($crypttext);
  17. }
  18. //———- dekoduj
  19. function dekoduj($var){
  20. $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
  21. $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
  22. $key = konf('keycode');
  23. $var=base64_decode($var);
  24. $crypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $var, MCRYPT_MODE_ECB, $iv);
  25. return trim($crypttext);
  26. }
  27. //———- kontrola dostepu do panelu
  28. function kontrola(){
  29. $akces=strip_tags($_COOKIE[akces]);
  30. if(!empty($akces)){
  31. setcookie("akces", $akces, time()+900, "/", ".".$domena);
  32. }
  33. //———- wyciagam uid
  34. function uid(){
  35. $akces=strip_tags($_COOKIE[akces]);
  36. $akces=dekoduj($akces);
  37. $ex=explode("|||",$akces);
  38. $uid=$ex[0];
  39. return trim($uid);
  40. }
  41. if($akces==null){
  42. $er=1;
  43. }
  44. $akces=dekoduj($akces);
  45. $ex=explode("|||",$akces);
  46. $uid=$ex[0];
  47. $pass=$ex[1];
  48. $szyfr=$ex[2];
  49. if($uid!=null and $pass !=null and $szyfr!=null){
  50. $n1=mysql_query("SELECT uid FROM users WHERE uid = '$uid' AND haslo = '$pass' AND szyfr='$szyfr' AND status = 1");
  51. if(mysql_num_rows($n1)!=1){
  52. $er=1;
  53. }
  54. }else{
  55. $er=1;
  56. }
  57. if($er!=null){
  58. //miejsce gdzie zostanie przeniesiony jesli nie jest zautoryzowany do ogladania
  59. header('LOCATION: <a href="http://www.'.$domena);" target="_blank">http://www.'.$domena);</a>
  60. }
  61. }


Główny katalog:
.htacces
  1. RewriteEngine on
  2.  
  3. RewriteRule ^reglog/$ reglog.php [L]
  4. RewriteRule ^aktywacja/([0-9]+)/([0-9a-z]+)/$ reglog.php?szyfr=$1&md5=$2&aktywacja=1 [L]


reglog.php
  1. <?
  2. include('ink/funkcje.inc.php');
  3. //—- logowanie
  4. if($_POST[logowanie]==1 AND $_POST[log_email]!=null AND $_POST[log_haslo]!=null){
  5. //sprawdzam czy jest w bazie
  6. $n1=@mysql_query("SELECT uid,status,haslo,szyfr FROM users WHERE email='".cln($_POST[log_email])."' AND haslo = '".md5(cln($_POST[log_haslo]))."' LIMIT 1");
  7. $status=$n2[status];
  8. if($status==1){
  9. $uid=$n2[uid];
  10. $pass=$n2[haslo];
  11. $szyfr=$n2[szyfr];
  12. $akces=zakoduj("$uid|||$pass|||$szyfr");
  13. setcookie("akces", $akces, time()+900, "/", ".".$domena);
  14. header("LOCATION: $domena/panel/");
  15. exit;// KONIEC LOGOWANIA
  16. }else{
  17. $_COOKIE[akces]=";
  18. $nfo='Brak dostÄ?pu do konta z przyczyny braku aktywacji lub blokady administratora.';
  19. }
  20. }
  21. //—- aktywacja
  22. if($_REQUEST[aktywacja]==1){
  23. $szyfr=cln($_REQUEST[szyfr]);
  24. $md5=cln($_REQUEST[md5]);
  25. //szukam czy jest
  26. $n1=@mysql_query("SELECT email FROM 'users' WHERE szyfr = '$szyfr' and haslo = '$md5' and status = 0");
  27. if(@mysql_num_rows($n1)==1){
  28. $n2=mysql_fetch_array($n1);
  29. $nowy=mt_rand(10000,99999);
  30. mysql_query("UPDATE users SET status = 0 WHERE email = '$n2[email]'");
  31. mysql_query("UPDATE users SET status = 1 WHERE email = '$n2[email]' AND haslo = '$md5' AND szyfr = '$szyfr' LIMIT 1");
  32. mysql_query("UPDATE users SET szyfr = '$nowy' WHERE email = '$n2[email]' AND haslo = '$md5' and szyfr='$szyfr'");
  33. $nfo='Konto zostaĹ?o aktywowane. MoĹźesz siÄ? zalogowaÄ?.';
  34. }else{
  35. $nfo='JuĹź raz dokonaĹ?eĹ? aktywacji tym linkiem.';
  36. }
  37. }
  38. //—- rejestracja
  39. //spradzam czy sÄ? dane
  40. if($_POST[email]!=null and $_POST[imnaz]!=null and $_POST[pass1]!=null and $_POST[pass2]!=null and $_POST[rejestracja]==1){
  41. //spradzam czy zaakceptowal regulamin
  42. if($_POST[akceptuje]!=1){
  43. $er=1;
  44. $nfo.="Aby siÄ? zarejestrowaÄ? musisz zaakceptowaÄ? regulamin!";
  45. }
  46. //sprawdzam czy email jest juz w bazie
  47. $n1=mysql_query("SELECT uid FROM users WHERE email = '".cln($_POST[email])."' AND status = 1");
  48. if(mysql_num_rows($n1)!=0){
  49. $er=1;
  50. $nfo.="Podany email jest juĹź w bazie. SprĂłbuj odzyskaÄ? hasĹ?o jeĹ?li je zagubiĹ?eĹ?!";
  51. }
  52. //sprawdzam czy hasla sie zgadzaja
  53. if($_POST[pass1]!=$_POST[pass2]){
  54. $er=1;
  55. $nfo.="HasĹ?o i jego powtĂłrka nie sÄ? identyczne!";
  56. }
  57. //jeĹ?li nie ma bĹ?Ä?du rejestruje
  58. if($er==null){
  59. $num=mt_rand(5000,100000);
  60. $czas=time();
  61. mysql_query("INSERT INTO users VALUES (NULL,'".cln($_POST[imnaz])."','".cln($_POST[email])."','".md5(cln($_POST[pass1]))."',",'$czas','$num',0)")or die(mysql_error());
  62. require('regmail.inc.php');
  63. mail(cln($_POST[email]),"Aktywacja konta w".$domena,$wiadomosc,2);
  64. $nfo="Gratulacje! konto zostaĹ?o zaĹ?oĹźone. SprawdĹş teraz swĂłj email i aktywuj dostÄ?p.";
  65. }
  66. }
  67. ?>


regmail.inc.php
  1. <?
  2. $wiadomosc="Gratulacje!
  3. Twoje konto zostało poprawnie założone. Pełny dostęp wymaga jednak aktywacji.
  4. Kliknij w poniższy link celem potwierdzenia rejestracji.
  5. <a href="http://www.$domena/aktywacja/$num/&quot;.md5(cln($_POST" target="_blank">http://www.$domena/aktywacja/$nu...cln($_POST</a>[pass1]))."/
  6. Dziękuję za rejestrację,
  7. Administrator $domena";
  8. ?>


Oto cały kod, po wgraniu wszystkieo, wyskakuje błąd:
Parse error: syntax error, unexpected T_STRING in ./public_html/reglog.php on line 27

Proszę o pomoc.
CuteOne
$_COOKIE[akces]=";

zamień na to

$_COOKIE[akces]="";
alin77
Zmieniłem i wyskoczył następny błąd sad.gif

Kod
Parse error: syntax error, unexpected '"' in ./public_html/reglog.php on line 62
CuteOne
Ściągnij jakiś edytor HTML otwórz w nim reglog.php i sprawdź od którego miejsca kod staje się stringiem (zazwyczaj zmienia się na niebiesko lub czerwono) i w tej linijce brakuje " lub jest ich za dużo

zamień
mysql_query("INSERT INTO users VALUES (NULL,'".cln($_POST[imnaz])."','".cln($_POST[email])."','".md5(cln($_POST[pass1]))."',",'$czas','$num',0)")or die(mysql_error());

na

mysql_query("INSERT INTO users VALUES (NULL,'".cln($_POST[imnaz])."','".cln($_POST[email])."','".md5(cln($_POST[pass1]))."','','$czas','$num',0)")or die(mysql_error());
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.