Szerző Téma: LoginSys  (Megtekintve 83768 alkalommal)

0 Felhasználó és 1 vendég van a témában

Nem elérhető forma1

  • Felhasználó
  • Hozzászólások: 3
Re: LoginSys
« Válasz #999 Dátum: 2011. április 22., 11:44:09 »
Köszi szépen, ez már faszán megy ;)

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.941
    • rimelek.hu
Re: LoginSys
« Válasz #998 Dátum: 2011. április 21., 22:31:45 »
Igen, hibásan írtam.
<?php
if (substr($_SERVER['HTTP_HOST'],04) == 'www.') {
    
header('Location: http://'.substr($_SERVER['HTTP_HOST'],4).$_SERVER['REQUEST_URI']);
}
?>
Egyszerűen létezem, és lézengek a Földön,
mint idióta szellem, kinek kastélya a börtön.

Nem elérhető forma1

  • Felhasználó
  • Hozzászólások: 3
Re: LoginSys
« Válasz #997 Dátum: 2011. április 21., 21:42:29 »
Köszi, de sajnos nem működik, ha www.-al nyitom meg a weblapom akkor nem jön be. Firefox ezt írja:

Az oldal nem megfelelően van átirányítva
     
     
     
     
     
       
       
          A Firefox azt észlelte, hogy a kiszolgáló olyan módon irányítja át a kérést, hogy az soha nem fog teljesülni.
       

       
       

  Ez a probléma sokszor a letiltott vagy visszautasított sütik miatt jelentkezik.

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.941
    • rimelek.hu
Re: LoginSys
« Válasz #996 Dátum: 2011. április 20., 21:07:36 »
Szia. Ez nem annyira hiba. Sok helyen nem foglalkoznak vele. A süti nem érvényes a www. -os cím alatt, ha az a www nélküliben lett létrehozva. És fordítva is igaz.
Ezt sok helyen vagy htaccess-el, vagy php-ban átirányítással oldják meg. Ha a domain www. -al kezdődik, akkor átirányít a www nélküli címre:
<?php
if (substr($_SERVER['HTTP_HOST'],04) == 'www.') {
    
header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
}
?>
Ha ezt berakod a starer.php legelejére, akkor elvileg megoldja.
Egyszerűen létezem, és lézengek a Földön,
mint idióta szellem, kinek kastélya a börtön.

Nem elérhető forma1

  • Felhasználó
  • Hozzászólások: 3
Re: LoginSys
« Válasz #995 Dátum: 2011. április 20., 17:39:16 »
Sziasztok!

Felfedeztem egy hibát, ha a http://oldalam.hu/ -n lépek be akkor  a http://www.oldalam.hu/ oldalon nem vagyok bejelentkezve, sőt külön más néven is belehet jelentkezni, és akkor az előzőnél testuser1 néven még ha beirom a www.-ot elé akkor már testuser2 néven vagyok pl. belépve.

Nem elérhető btjp

  • Felhasználó
  • Hozzászólások: 6
Re: LoginSys
« Válasz #994 Dátum: 2011. január 07., 08:21:37 »
Nagyon szépen köszönöm!

Kissebb javításokkal működik!!!

üdv.

Btjp

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.941
    • rimelek.hu
Re: LoginSys
« Válasz #993 Dátum: 2011. január 06., 17:28:03 »
registration.php-ben ezt:
Kód: PHP
  1.                                 . '<tr>'
  2.                                 . '<td>E-mail cím: <font size="2">(valóst adj meg)</font></td>'
  3.                                 . '<td width="15">&nbsp;</td>'
  4.                                 . '<td><input type="text" name="register_email" size="25" value=""></td>'
  5.                                 . '</tr>'
Erre cseréld:
Kód: PHP
  1.                                 . '<tr>'
  2.                                 . '<td>E-mail cím: <font size="2">(valóst adj meg)</font></td>'
  3.                                 . '<td width="15">&nbsp;</td>'
  4.                                 . '<td><input type="text" name="register_email" size="25" value=""></td>'
  5.                                 . '</tr>'
  6.                                 . '<tr>'
  7.                                 . '<td>Név: </td>'
  8.                                 . '<td width="15">&nbsp;</td>'
  9.                                 . '<td><input type="text" name="register_name" size="25" value=""></td>'
  10.                                 . '</tr>'
  11.                                 . '<tr>'
Ezt pedig:
Kód: PHP
  1.                         $regresult = register($_POST["register_nick"], $_POST["register_passwd1"], $_POST["register_passwd2"], $_POST["register_email"]);
Erre:
Kód: PHP
  1.                         $regresult = register($_POST["register_nick"], $_POST["register_passwd1"], $_POST["register_passwd2"], $_POST["register_email"], $_POST['register_name']);
sources/register.php -ben ezt:
Kód: PHP
  1. // Regisztráció
  2.  
  3. function register($nick, $passwd1, $passwd2, $email)
  4.         {
  5.         $status = true;
  6.         // Minden ki van-e töltve?
  7.         if(!strlen($nick) || !strlen($passwd1) || !strlen($passwd2) || !strlen($email))
  8.                 {
  9.                 $status = false;
  10.                 $result = "empty";
  11.                 }
Erre cseréld:
Kód: PHP
  1. // Regisztráció
  2. function register($nick, $passwd1, $passwd2, $email, $name)
  3.         {
  4.         $status = true;
  5.         // Minden ki van-e töltve?
  6.         if(!strlen($nick) || !strlen($passwd1) || !strlen($passwd2) || !strlen($email) || !strlen($name))
  7.                 {
  8.                 $status = false;
  9.                 $result = "empty";
  10.                 }
sources/modify.php-ben ezt:
Kód: PHP
  1. // Profil módosítása
  2. function modifyProfile($id, $username, $passwd1, $passwd2, $gender, $websitetitle, $websiteurl, $birthday)
  3.         {
  4.         $status = true;
  5.         // Ki van-e töltve a felhasználó neve?
  6.         if(empty($username))
  7.                 {
  8.                 $status = false;
  9.                 $result = "emptyuser";                 
  10.                 }
Erre:
Kód: PHP
  1. // Profil módosítása
  2. function modifyProfile($id, $username, $passwd1, $passwd2, $gender, $websitetitle, $websiteurl, $birthday, $name, $address)
  3.         {
  4.         $status = true;
  5.         // Ki van-e töltve a felhasználó neve?
  6.         if(empty($username))
  7.                 {
  8.                 $status = false;
  9.                 $result = "emptyuser";                 
  10.                 }
  11.         // Ki van-e töltve a valódi név?
  12.         if(empty($username))
  13.                 {
  14.                 $status = false;
  15.                 $result = "emptyname";                 
  16.                 }
Ezt pedig:
Kód: PHP
  1.                 if(@mysql_query("UPDATE loginsys_users SET username = '$username',$passwd gender = '$gender', websiteTitle = '$websitetitle', websiteUrl = '$websiteurl', birthdaytime = '$birthdaytime' WHERE ID = '$id'"))
Ere:
Kód: PHP
  1.                 if(@mysql_query("UPDATE loginsys_users SET username = '$username',$passwd gender = '$gender', websiteTitle = '$websitetitle', websiteUrl = '$websiteurl', birthdaytime = '$birthdaytime', name='$name', address='$address' WHERE ID = '$id'"))
modify.php-ben ezt:
Kód: PHP
  1.                                 $update_result = modifyProfile($_POST["update_id"], $_POST["update_username"], $_POST["update_passwd1"], $_POST["update_passwd2"], $_POST["update_gender"], $_POST["update_websitetitle"], $_POST["update_websiteurl"], $update_birthdaytime);
Erre:
Kód: PHP
  1.                                 $update_result = modifyProfile($_POST["update_id"], $_POST["update_username"], $_POST["update_passwd1"], $_POST["update_passwd2"], $_POST["update_gender"], $_POST["update_websitetitle"], $_POST["update_websiteurl"], $update_birthdaytime, $_POST['update_name'], $_POST['update_address']);
Ezt:
Kód: PHP
  1.                 // Profil adatai
  2.                 $data = getXbyY("username, email, gender, websiteTitle, websiteUrl, birthdaytime", "ID", $profile);
Erre:
Kód: PHP
  1.                 // Profil adatai
  2.                 $data = getXbyY("username, email, gender, websiteTitle, websiteUrl, birthdaytime, name, address", "ID", $profile);
Ezt pedig:
Kód: PHP
  1.                                 if($update_result == "emptyuser")
  2.                                         {
  3.                                         print(msg("error", "Módosítás sikertelen", "Adj meg felhasználónevet!"));
  4.                                         }
Erre:
Kód: PHP
  1.                                 if($update_result == "emptyuser")
  2.                                         {
  3.                                         print(msg("error", "Módosítás sikertelen", "Adj meg felhasználónevet!"));
  4.                                         }
  5.                                         elseif($update_result == "emptyname")
  6.                                         {
  7.                                         print(msg("error", "Módosítás sikertelen", "Add meg a valódi neved!"));
  8.                                         }
És ezt:
Kód: PHP
  1.                                 . '<tr>'
  2.                                 . '<td>E-mail cím:</td>'
  3.                                 . '<td width="15">&nbsp;</td>'
  4.                                 . '<td>' . $data["email"] . '</td>'
  5.                                 . '</tr>'
Erre:
Kód: PHP
  1.                                 . '<tr>'
  2.                                 . '<td>E-mail cím:</td>'
  3.                                 . '<td width="15">&nbsp;</td>'
  4.                                 . '<td>' . $data["email"] . '</td>'
  5.                                 . '</tr>'
  6.                                 . '<tr>'
  7.                                 . '<td>Valódi név:</td>'
  8.                                 . '<td width="15">&nbsp;</td>'
  9.                                 . '<td>' . $data["name"] . '</td>'
  10.                                 . '</tr>'
  11.                                 . '<tr>'
  12.                                 . '<td>Cím:</td>'
  13.                                 . '<td width="15">&nbsp;</td>'
  14.                                 . '<td>' . $data["address"] . '</td>'
  15.                                 . '</tr>'

Mindezeket annak feltételezésével, hogy az adatbázisban a többi mező mellett létrehozod az address mezőt a címnek és a name mezőt a valódi névnek.

De ezt se próbáltam ki. Szóval ha szintaktikai hibás, vagy kihagytam valamit, akkor sorry. De lehet hogy még működik is.
Egyszerűen létezem, és lézengek a Földön,
mint idióta szellem, kinek kastélya a börtön.

Nem elérhető btjp

  • Felhasználó
  • Hozzászólások: 6
Re: LoginSys
« Válasz #992 Dátum: 2011. január 06., 15:47:32 »
Egy újabb kérédem lenne:
Mit kell az adatbázison kívül módosítani, hogyha szeretném a regisztráló nevét és címét is nyilvántartani, de regisztrációkor csak a nevét kérem be kötelezően, a címét  viszont csak az egyéb adatok megadásánál lehetne megadni?

Előre is köszönöm!

btjp

Nem elérhető btjp

  • Felhasználó
  • Hozzászólások: 6
Re: LoginSys
« Válasz #991 Dátum: 2011. január 03., 09:44:16 »
Köszönöm!

Működik! :beer: :clap: O0

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.941
    • rimelek.hu
Re: LoginSys
« Válasz #990 Dátum: 2010. december 29., 20:45:14 »
Most így nem tudom megmondani mi okozza a jelenséget, talán meg se értettem ezt sem. Viszont az admin meghatározására már van megoldás a loginban. A starter.php-ban létrejön egy admin konstans. Szóval így ellenőrízheted:

Kód: PHP
  1. if(logged)
  2.         {
  3.         $configurl = str_repeat("../", updir) . "config2.php";
  4.         require($configurl);
  5.         $modifyurl = str_repeat("../", updir) . $modifyurl;
  6.         $memberurl = str_repeat("../", updir) . $memberurl;    
  7.  
  8.         // Menü       
  9.         print('<p style="font-color:#red" >Üdvözöljük!</p><p> Ön sikeresen bejelentkezett</p><br><a href="' . $modifyurl . '" target="_self">Adatmódosítás</a><br>'
  10.                 //. '<a href="' . $memberurl . '" target="_self">Taglista</a><br>'
  11.                 . '<a href="' . 'indexuj.php?page=jelszo' . follow . 'action=logout" target="_self">Kijelentkezés</a><br>      '
  12.                         );
  13.         if(defined("admin") && admin)
  14.         {
  15.              print('<a href="' . $memberurl . '" target="_self">Taglista</a><br>');
  16.         }
  17. }
De ettől még elérhető lesz a taglista. Csak a link nem jelenik meg mindenkinek. Szóval a taglista fájljába is be kell írnod akkor a feltételt, hogy ne jelenjen meg a tartalom a nem adminoknak.

Tehát a members.php-ben ahol ez a rész van:


Kód: PHP
  1. // Be van jelentkezve
  2.  
  3. if(logged)
kell bővítened így:
Kód: PHP
  1. // Be van jelentkezve
  2.  
  3. if(logged && defined('admin') && admin)
És a fájl végén pedig ahol ez van:
Kód: PHP
  1. // Nincsen bejelentkezve
  2. else
  3.         {
  4.         print(msg("error", "Hiba lépett fel", "A Taglista csak regisztrált tagok számára elérhető!"));
  5.         }      
Módosíthatod a hibaüzenet szövegét:
Kód: PHP
  1. // Nincsen bejelentkezve
  2. else
  3.         {
  4.         print(msg("error", "Hiba lépett fel", "A Taglista csak adminok számára elérhető!"));
  5.         }      
Egyszerűen létezem, és lézengek a Földön,
mint idióta szellem, kinek kastélya a börtön.

Nem elérhető btjp

  • Felhasználó
  • Hozzászólások: 6
Re: LoginSys
« Válasz #989 Dátum: 2010. december 29., 17:04:22 »
Sziasztok!

Kicsit elhamarkodott, vagy inkább túl magabiztos kijelentés volt, hogy majd leküzdöm önerőből a felmerülő problémáimat. :blush:
Most belefutottam egy olyanba, amiben tényleg tanácstalan vagyok  :help2:
Azt akartam megcsinálni, hogy a taglistát, csak az admin felhasználó tudja megnyitni. Ezt úgy próbáltam megoldani, hogy megviszgáltam, hogy a felhasználó ID-je megegyezik-e az admin ID-vel, s, ha igen, akkor megjelenik a taglista link is neki.
Ez működik is, de ha nem admin felhasználóvel lépek be, majd az adatmódosításra, aztán újra meghívom a jelszóval védett tartalmat, akkor már ennek a felhasználónak is látszik a taglista link.
Ezt menu.php-t így módosítottam:
if(logged)
{
$configurl = str_repeat("../", updir) . "config2.php";
require($configurl);
$modifyurl = str_repeat("../", updir) . $modifyurl;
$memberurl = str_repeat("../", updir) . $memberurl;

// Menü
print('<p style="font-color:#red" >Üdvözöljük!</p><p> Ön sikeresen bejelentkezett</p><br><a href="' . $modifyurl . '" target="_self">Adatmódosítás</a><br>'
//. '<a href="' . $memberurl . '" target="_self">Taglista</a><br>'
. '<a href="' . 'indexuj.php?page=jelszo' . follow . 'action=logout" target="_self">Kijelentkezés</a><br> '
);
if($user["ID"] == $admin)
{print('<a href="' . $memberurl . '" target="_self">Taglista</a><br>'
); }
}
Mit rontottam el?

Nem elérhető btjp

  • Felhasználó
  • Hozzászólások: 6
Re: LoginSys
« Válasz #988 Dátum: 2010. december 29., 15:06:25 »
Szia!

Köszi a segítség nyújtási próbát, de sikerült megoldanom a problémámat. Ráment pár napo, de már kezdem átlátni a rendszert és egész jól kezd működni. Még vannak kisebb problémák, de azokat is leküzdöm önerőből.

Mégegyszer köszönöm!

Boldog új évet!

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.941
    • rimelek.hu
Re: LoginSys
« Válasz #987 Dátum: 2010. december 24., 20:50:29 »
Nem teljesen értem a problémát. A linkelt oldalon jelenleg csak html van. Kicsit későn jöttem. Pár napig nem voltam. De ha még felbukkansz, leírhatnád hogy próbáltad használni a loginrendszert.
Egyszerűen létezem, és lézengek a Földön,
mint idióta szellem, kinek kastélya a börtön.

Nem elérhető btjp

  • Felhasználó
  • Hozzászólások: 6
Re: LoginSys
« Válasz #986 Dátum: 2010. december 20., 15:34:31 »
Sziasztok!

Én is úgy kezdem a levelem mint nagyon sokan itt a fórumban. Elkezdtem olvasni a fórumot, de a 30. oldalnál már besokalltam, néhol elveszítettem a fonalat, de ez természetesen az én hibám!  :D
Próbáltam megoldást találni arra a problémára, ami felmerült, de sajnos nem találtam.
Sajnos nem vagyok egy php guru, már többször nekifutottam, de valahogy, valami miatt mindig visszapattantam...
A problémám:
Csinálok egy honlapot (www.geliankft.hu/index2.html) amibe szeretnék az egyik menüpontban egy olyat, hogy csak bejelentkezett felhasználók láthassák ami az oldalon van. Jelszavas menüpont alatt.
A bejelentkező oldal, és onnan a regisztráció és az elfelejtett jelszó jól jön be, viszont ha bejelentkezek, utána új oldalként nyitja meg a fájlt és nem a korábbi menüs részben.
Remélem érthetően tudtam leírni.
Ha van javaslatotok, szívesen fogadom mert itt elakadtam egy kicsit :'(
Előre is köszönöm a segítséget! :beer:

Üdv.

btjp

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.941
    • rimelek.hu
Re: LoginSys
« Válasz #985 Dátum: 2010. augusztus 31., 11:34:39 »
Először is leszögezném, hogy nagyon kezdő vagyok a php-ben. Nézzétek el nekem ha esetleg hülyeséget írok.
Az sose baj. Csak ha valaki nem hajlandó tenni saját problémájának megoldásáért.

A 46. sort  (Ami nálam érdekes módon 35.) írd át erre:
Kód: PHP
  1. if (strstr($_SERVER['REQUEST_URI'],'?'))
A 156.-at pedig:
Kód: PHP
  1. if (isset($_GET['action']) && strstr($_GET['action'],'del:'))

Az 56-ban levő hiba pedig azért van, mert nem találja a config.php-t. Hova tetted a logint?  Ha egy mappába, akkor az a baj, hogy úgy látom, a gyökérben keresi a config.php-t. Tehát a starter.php-ban a következő sorban:
Kód: PHP
  1. $configurl = str_repeat("../", updir) . "config.php";
A config.php elé írd a gyökértől a mappa útvonalát is. PL:
Kód: PHP
  1. $configurl = str_repeat("../", updir) . "loginrendszer/config.php";

Utána van a következő sor:
Kód: PHP
  1. $sourcesurl = str_repeat("../", updir) . $sourcesurl;
Ez elé pedig írd be a szintén az almappát a következő módon:
Kód: PHP
  1. $sourcesurl = "loginrendszer/";
  2. $sourcesurl = str_repeat("../", updir) . $sourcesurl;
Elképzelhető, hogy nálam egy korábbi verzió van a loginból, és azért mások a sorszámok.
Egyszerűen létezem, és lézengek a Földön,
mint idióta szellem, kinek kastélya a börtön.