Znalazłem ciekawy skrypt rejestracji i logowanie na tejstronie.
Niestety wyskoczył mi błąd takiej treści:
Cytat
Parse error: syntax error, unexpected T_STRING in /home/tracer2424/domains/samisobie.unl.pl/public_html/reglog.php on line 6
Błąd za pewnie jest wynikiem złego umieszczenia kodu przeze mnie.
Zrobiłem to tak:
Baza(utworzyła się tabela o nazwie users więc ten kod pewnie jest dobry):
Kod
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;
Następnie plik ink/funkcje.inc.php
Kod
//———konfigurujemy dane
$dbuser=”nazwa usera mysql”;
$dbbase=”nazwa bazy mysql”;
$dbpass=”hasło do bazy mysql”;
$dbserv=”adres serwera”;
$domena=”jakasdomena.pl”;
//———-połączenie z bazą mysql
$dbh=mysql_connect ($dbserv, $dbuser, $dbpass) or die (‘I cannot connect to the database because: ‘ . mysql_error());
mysql_select_db ($dbbase);
//———- zakoduj
function zakoduj($var){
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = konf(‘keycode’);
$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $var, MCRYPT_MODE_ECB, $iv);
return base64_encode($crypttext);
}
//———- dekoduj
function dekoduj($var){
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = konf(‘keycode’);
$var=base64_decode($var);
$crypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $var, MCRYPT_MODE_ECB, $iv);
return trim($crypttext);
}
//———- kontrola dostepu do panelu
function kontrola(){
$akces=strip_tags($_COOKIE[akces]);
if(!empty($akces)){
setcookie(“akces”, $akces, time()+900, “/”, “.”.$domena);
}
//———- wyciagam uid
function uid(){
$akces=strip_tags($_COOKIE[akces]);
$akces=dekoduj($akces);
$ex=explode(“|||”,$akces);
$uid=$ex[0];
return trim($uid);
}
if($akces==null){
$er=1;
}
$akces=dekoduj($akces);
$ex=explode(“|||”,$akces);
$uid=$ex[0];
$pass=$ex[1];
$szyfr=$ex[2];
if($uid!=null and $pass !=null and $szyfr!=null){
$n1=mysql_query(“SELECT uid FROM users WHERE uid = ‘$uid’ AND haslo = ‘$pass’ AND szyfr=’$szyfr’ AND status = 1″);
if(mysql_num_rows($n1)!=1){
$er=1;
}
}else{
$er=1;
}
if($er!=null){
//miejsce gdzie zostanie przeniesiony jesli nie jest zautoryzowany do ogladania
header(‘LOCATION: http://www.’.$domena);
exit;
}
}
$dbuser=”nazwa usera mysql”;
$dbbase=”nazwa bazy mysql”;
$dbpass=”hasło do bazy mysql”;
$dbserv=”adres serwera”;
$domena=”jakasdomena.pl”;
//———-połączenie z bazą mysql
$dbh=mysql_connect ($dbserv, $dbuser, $dbpass) or die (‘I cannot connect to the database because: ‘ . mysql_error());
mysql_select_db ($dbbase);
//———- zakoduj
function zakoduj($var){
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = konf(‘keycode’);
$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $var, MCRYPT_MODE_ECB, $iv);
return base64_encode($crypttext);
}
//———- dekoduj
function dekoduj($var){
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = konf(‘keycode’);
$var=base64_decode($var);
$crypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $var, MCRYPT_MODE_ECB, $iv);
return trim($crypttext);
}
//———- kontrola dostepu do panelu
function kontrola(){
$akces=strip_tags($_COOKIE[akces]);
if(!empty($akces)){
setcookie(“akces”, $akces, time()+900, “/”, “.”.$domena);
}
//———- wyciagam uid
function uid(){
$akces=strip_tags($_COOKIE[akces]);
$akces=dekoduj($akces);
$ex=explode(“|||”,$akces);
$uid=$ex[0];
return trim($uid);
}
if($akces==null){
$er=1;
}
$akces=dekoduj($akces);
$ex=explode(“|||”,$akces);
$uid=$ex[0];
$pass=$ex[1];
$szyfr=$ex[2];
if($uid!=null and $pass !=null and $szyfr!=null){
$n1=mysql_query(“SELECT uid FROM users WHERE uid = ‘$uid’ AND haslo = ‘$pass’ AND szyfr=’$szyfr’ AND status = 1″);
if(mysql_num_rows($n1)!=1){
$er=1;
}
}else{
$er=1;
}
if($er!=null){
//miejsce gdzie zostanie przeniesiony jesli nie jest zautoryzowany do ogladania
header(‘LOCATION: http://www.’.$domena);
exit;
}
}
reglog.php
Kod
<?
include(‘ink/funkcje.inc.php’);
//—- logowanie
if($_POST[logowanie]==1 AND $_POST[log_email]!=null AND $_POST[log_haslo]!=null){
//sprawdzam czy jest w bazie
$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”);
$n2=@mysql_fetch_array($n1);
$status=$n2[status];
if($status==1){
$uid=$n2[uid];
$pass=$n2[haslo];
$szyfr=$n2[szyfr];
$akces=zakoduj(“$uid|||$pass|||$szyfr”);
setcookie(“akces”, $akces, time()+900, “/”, “.”.$domena);
header(“LOCATION: $domena/panel/”);
exit;// KONIEC LOGOWANIA
}else{
$_COOKIE[akces]=”;
$nfo=’Brak dostÄ?pu do konta z przyczyny braku aktywacji lub blokady administratora.’;
}
}
//—- aktywacja
if($_REQUEST[aktywacja]==1){
$szyfr=cln($_REQUEST[szyfr]);
$md5=cln($_REQUEST[md5]);
//szukam czy jest
$n1=@mysql_query(“SELECT email FROM users WHERE szyfr=’$szyfr’ and haslo = ‘$md5' and status = 0”);
if(@mysql_num_rows($n1)==1){
$n2=mysql_fetch_array($n1);
$nowy=mt_rand(10000,99999);
mysql_query(“UPDATE users SET status = 0 WHERE email = ‘$n2[email]‘”);
mysql_query(“UPDATE users SET status = 1 WHERE email = ‘$n2[email]‘ AND haslo = ‘$md5' AND szyfr = ‘$szyfr’ LIMIT 1”);
mysql_query(“UPDATE users SET szyfr = ‘$nowy’ WHERE email = ‘$n2[email]‘ AND haslo = ‘$md5' and szyfr=’$szyfr’”);
$nfo=’Konto zostaĹ?o aktywowane. MoĹźesz siÄ? zalogowaÄ?.’;
}else{
$nfo=’JuĹź raz dokonaĹ?eĹ? aktywacji tym linkiem.’;
}
}
//—- rejestracja
//spradzam czy sÄ? dane
if($_POST[email]!=null and $_POST[imnaz]!=null and $_POST[pass1]!=null and $_POST[pass2]!=null and $_POST[rejestracja]==1){
//spradzam czy zaakceptowal regulamin
if($_POST[akceptuje]!=1){
$er=1;
$nfo.=”Aby siÄ? zarejestrowaÄ? musisz zaakceptowaÄ? regulamin!”;
}
//sprawdzam czy email jest juz w bazie
$n1=mysql_query(“SELECT uid FROM users WHERE email = ‘”.cln($_POST[email]).”‘ AND status = 1”);
if(mysql_num_rows($n1)!=0){
$er=1;
$nfo.=”Podany email jest juĹź w bazie. SprĂłbuj odzyskaÄ? hasĹ?o jeĹ?li je zagubiĹ?eĹ?!”;
}
//sprawdzam czy hasla sie zgadzaja
if($_POST[pass1]!=$_POST[pass2]){
$er=1;
$nfo.=”HasĹ?o i jego powtĂłrka nie sÄ? identyczne!”;
}
//jeĹ?li nie ma bĹ?Ä?du rejestruje
if($er==null){
$num=mt_rand(5000,100000);
$czas=time();
mysql_query(“INSERT INTO users VALUES (NULL,’”.cln($_POST[imnaz]).”‘,’”.cln($_POST[email]).”‘,’”.md5(cln($_POST[pass1])).”‘,”,’$czas’,'$num’,0)”)or die(mysql_error());
require(‘regmail.inc.php’);
mail(cln($_POST[email]),”Aktywacja konta w”.$domena,$wiadomosc,2);
$nfo=”Gratulacje! konto zostaĹ?o zaĹ?oĹźone. SprawdĹş teraz swĂłj email i aktywuj dostÄ?p.”;
}
}
?>
<head>
</head>
<body>
<?if($nfo){echo “<script>alert(‘$nfo’);</script>”;}?>
<form id=”form” action=”reglog/” enctype=”multipart/form-data” name=”form2” method=”post” style=”margin-left:16px”><input type=”hidden” name=”rejestracja” value=”1”>
ImiÄ? i nazwisko:
<input type=”text” name=”imnaz” value=”<?=strip_tags(trim($_POST[imnaz]))?>” />
<br />
<br>
Adres email:
<input type=”text” name=”email” value=”<?=strip_tags(trim($_POST[email]))?>” />
<br />
<br>
HasĹ?o dostÄ?pu:
<input type=”password” name=”pass1” />
<br />
<br>
PowtĂłrz hasĹ?o:
<input type=”password” name=”pass2” />
<br />
<br>
AkceptujÄ? <a target=”_blank” href=”reglog/”>regulamin</a> i
<a target=”_blank” href=”polityka-prywatnosci/”>politykÄ? prywatnoĹ?ci</a> serwisu<br>
<input name=”akceptuje” type=”checkbox” style=”width: 20px; height: 23px” value=”1”>Tak<br>
<strong style=”float:left;”>
<input type=”submit” name=”rej” value=”zarejestruj mnie” style=”width: 132px; height: 27px”></strong>
</form>
Dalej wstawiamy formularz logowania:
<form id=”form” action=”reglog/” enctype=”multipart/form-data” name=”formlog” method=”post”><input type=”hidden” name=”logowanie” value=”1”>
Adres email:
<input type=”text” name=”log_email” value=”<?=cln($_POST[log_email])?>” />
<br />
HasĹ?o:
<input type=”password” name=”log_haslo” />
<br />
<strong style=”float:right;”>
<input type=”submit” name=”log1” value=”zaloguj mnie” style=”width: 103px; height: 24px; float:right;margin-top:-10px;margin-right:-6px”></strong><strong style=”float:left” style=”margin-right:20px”><a href=”java script:void(null);” onclick=”document.getElementById(‘form’).submit()”>
<span class=”style2” style=”text-decoration:none;font-weight:normal”>Nie pamiÄ?tam hasĹ?a</span></a></strong>
</form>
</body>
include(‘ink/funkcje.inc.php’);
//—- logowanie
if($_POST[logowanie]==1 AND $_POST[log_email]!=null AND $_POST[log_haslo]!=null){
//sprawdzam czy jest w bazie
$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”);
$n2=@mysql_fetch_array($n1);
$status=$n2[status];
if($status==1){
$uid=$n2[uid];
$pass=$n2[haslo];
$szyfr=$n2[szyfr];
$akces=zakoduj(“$uid|||$pass|||$szyfr”);
setcookie(“akces”, $akces, time()+900, “/”, “.”.$domena);
header(“LOCATION: $domena/panel/”);
exit;// KONIEC LOGOWANIA
}else{
$_COOKIE[akces]=”;
$nfo=’Brak dostÄ?pu do konta z przyczyny braku aktywacji lub blokady administratora.’;
}
}
//—- aktywacja
if($_REQUEST[aktywacja]==1){
$szyfr=cln($_REQUEST[szyfr]);
$md5=cln($_REQUEST[md5]);
//szukam czy jest
$n1=@mysql_query(“SELECT email FROM users WHERE szyfr=’$szyfr’ and haslo = ‘$md5' and status = 0”);
if(@mysql_num_rows($n1)==1){
$n2=mysql_fetch_array($n1);
$nowy=mt_rand(10000,99999);
mysql_query(“UPDATE users SET status = 0 WHERE email = ‘$n2[email]‘”);
mysql_query(“UPDATE users SET status = 1 WHERE email = ‘$n2[email]‘ AND haslo = ‘$md5' AND szyfr = ‘$szyfr’ LIMIT 1”);
mysql_query(“UPDATE users SET szyfr = ‘$nowy’ WHERE email = ‘$n2[email]‘ AND haslo = ‘$md5' and szyfr=’$szyfr’”);
$nfo=’Konto zostaĹ?o aktywowane. MoĹźesz siÄ? zalogowaÄ?.’;
}else{
$nfo=’JuĹź raz dokonaĹ?eĹ? aktywacji tym linkiem.’;
}
}
//—- rejestracja
//spradzam czy sÄ? dane
if($_POST[email]!=null and $_POST[imnaz]!=null and $_POST[pass1]!=null and $_POST[pass2]!=null and $_POST[rejestracja]==1){
//spradzam czy zaakceptowal regulamin
if($_POST[akceptuje]!=1){
$er=1;
$nfo.=”Aby siÄ? zarejestrowaÄ? musisz zaakceptowaÄ? regulamin!”;
}
//sprawdzam czy email jest juz w bazie
$n1=mysql_query(“SELECT uid FROM users WHERE email = ‘”.cln($_POST[email]).”‘ AND status = 1”);
if(mysql_num_rows($n1)!=0){
$er=1;
$nfo.=”Podany email jest juĹź w bazie. SprĂłbuj odzyskaÄ? hasĹ?o jeĹ?li je zagubiĹ?eĹ?!”;
}
//sprawdzam czy hasla sie zgadzaja
if($_POST[pass1]!=$_POST[pass2]){
$er=1;
$nfo.=”HasĹ?o i jego powtĂłrka nie sÄ? identyczne!”;
}
//jeĹ?li nie ma bĹ?Ä?du rejestruje
if($er==null){
$num=mt_rand(5000,100000);
$czas=time();
mysql_query(“INSERT INTO users VALUES (NULL,’”.cln($_POST[imnaz]).”‘,’”.cln($_POST[email]).”‘,’”.md5(cln($_POST[pass1])).”‘,”,’$czas’,'$num’,0)”)or die(mysql_error());
require(‘regmail.inc.php’);
mail(cln($_POST[email]),”Aktywacja konta w”.$domena,$wiadomosc,2);
$nfo=”Gratulacje! konto zostaĹ?o zaĹ?oĹźone. SprawdĹş teraz swĂłj email i aktywuj dostÄ?p.”;
}
}
?>
<head>
</head>
<body>
<?if($nfo){echo “<script>alert(‘$nfo’);</script>”;}?>
<form id=”form” action=”reglog/” enctype=”multipart/form-data” name=”form2” method=”post” style=”margin-left:16px”><input type=”hidden” name=”rejestracja” value=”1”>
ImiÄ? i nazwisko:
<input type=”text” name=”imnaz” value=”<?=strip_tags(trim($_POST[imnaz]))?>” />
<br />
<br>
Adres email:
<input type=”text” name=”email” value=”<?=strip_tags(trim($_POST[email]))?>” />
<br />
<br>
HasĹ?o dostÄ?pu:
<input type=”password” name=”pass1” />
<br />
<br>
PowtĂłrz hasĹ?o:
<input type=”password” name=”pass2” />
<br />
<br>
AkceptujÄ? <a target=”_blank” href=”reglog/”>regulamin</a> i
<a target=”_blank” href=”polityka-prywatnosci/”>politykÄ? prywatnoĹ?ci</a> serwisu<br>
<input name=”akceptuje” type=”checkbox” style=”width: 20px; height: 23px” value=”1”>Tak<br>
<strong style=”float:left;”>
<input type=”submit” name=”rej” value=”zarejestruj mnie” style=”width: 132px; height: 27px”></strong>
</form>
Dalej wstawiamy formularz logowania:
<form id=”form” action=”reglog/” enctype=”multipart/form-data” name=”formlog” method=”post”><input type=”hidden” name=”logowanie” value=”1”>
Adres email:
<input type=”text” name=”log_email” value=”<?=cln($_POST[log_email])?>” />
<br />
HasĹ?o:
<input type=”password” name=”log_haslo” />
<br />
<strong style=”float:right;”>
<input type=”submit” name=”log1” value=”zaloguj mnie” style=”width: 103px; height: 24px; float:right;margin-top:-10px;margin-right:-6px”></strong><strong style=”float:left” style=”margin-right:20px”><a href=”java script:void(null);” onclick=”document.getElementById(‘form’).submit()”>
<span class=”style2” style=”text-decoration:none;font-weight:normal”>Nie pamiÄ?tam hasĹ?a</span></a></strong>
</form>
</body>
.htaccess
Kod
RewriteEngine On
RewriteRule ^reglog/$ reglog.php [L]
RewriteRule ^aktywacja/([0-9]+)/([0-9a-z]+)/$ reglog.php?szyfr=$1&md5=$2&aktywacja=1 [L]
RewriteRule ^reglog/$ reglog.php [L]
RewriteRule ^aktywacja/([0-9]+)/([0-9a-z]+)/$ reglog.php?szyfr=$1&md5=$2&aktywacja=1 [L]
regmail.inc.php
Kod
<?
$wiadomosc=”Gratulacje!
Twoje konto zostało poprawnie założone. Pełny dostęp wymaga jednak aktywacji.
Kliknij w poniższy link celem potwierdzenia rejestracji.
http://www.$domena/aktywacja/$num/”.md5(cln($_POST[pass1])).”/
Dziękuję za rejestrację,
Administrator $domena”;
?>
$wiadomosc=”Gratulacje!
Twoje konto zostało poprawnie założone. Pełny dostęp wymaga jednak aktywacji.
Kliknij w poniższy link celem potwierdzenia rejestracji.
http://www.$domena/aktywacja/$num/”.md5(cln($_POST[pass1])).”/
Dziękuję za rejestrację,
Administrator $domena”;
?>
Tak to wygląda.Proszę o pomoc.Z góry dziękuje i pozdrawiam.