Meghívós loginrendszer - R.E. Login v2.0

R.E. Login v2.0

Az R.E. Login újabb verziója, vadi új objektum orientált motorral. Megőrizve az elődje funkcióit, de némileg kibővítve azt, és lehetőséget biztosítva további fejlesztések egyszerűbb elvégzésére. Ebből kifolyólag valószínű lesz is folytatás. Addig is köszöntsük szeretettel új barátunkat, az R.E. Login v2.0 -át.
R.E. Login v2.0.3 letöltése
Kövesd a projektet és keresd a legfrissebb verziókat a:
https://sourceforge.net/projects/relogin/ oldalon.


Figyelem: Ez a rendszer már elavult. Hibákat tartalmazhat és az új PHP verziókkal nem teljesen kompatibilis. Az init.php-be beillesztve az alább írt sorok egyikét a hibaüzenetek eltüntethetők, de a login használata csak saját felelősségre javasolt.

error_reporting(E_ALL | E_STRICT); // E_STRICT hibaüzenetek elrejtése
vagy
error_reporting(0); //minden hibaüzenet elrejtése

Kapcsolódó oldalak

Szerkesztve: 2010.04.04. 23:02
A loginban sikerült felfedezni pár hibát. Ezek javítva lettek. A hibák a következők voltak:

  • Profil módosítás fájl kimaradt a beállításokból, így csak changeprofile.php néven működött
  • Ugyanezen okból adminnak más profiljában is a saját profiljára mutató link volt.
  • Apró elírás a telepítőben. STMP volt SMTP helyett az egyik megjegyzésben
  • A telepítő nem ellenőrizte, hogy az SMTP host és port meg van-e adva. Sem az e-mail címeket.

Továbbá egy kiegészítés:

  • Most már opcionális az SMTP használat is. ha netán valakinek nem lenne semmilyen SMTP szerver használatára lehetősége, akkor SMTP nélkül küldi a leveleket.

Más nem változott. Ha bárki hibát észlel, kérem szóljon.
Köszönet tbence-nek az észrevételeiért és hibajelentésért.

A Login funkciói nagy vonalakban:

  • Regisztráció ( Opcionális meghívó mód, regisztráció blokkolása )
  • Beléptetés
  • Meghívó küldés
  • Privát üzenet küldés ( Kimenő, bejövő postafiók, Hír küldés )
  • Felhasználói profil
  • Gravatar és MKAvatar használat
  • Admin felület ( Tulajdonos és Admin rangot megkülönböztetve )
  • Bővíthető ranglista
  • Felhasználó lista
  • Online lista
  • Felhasználó keresése usernév szerint
  • Elfelejtett jelszó funkció

Figyelem! Ez nem egy portálrendszer, hanem loginrendszer. Bármily sokat is tud.
Így a PHP alapszintű ismerete elengedhetetlen a használatához.
Vagy legalább a kellő kitartás és hajlandóság a tanulásra.

R.E. Login v2.0 - Rendszerigény
Mindenképpen szükség van egy webszerverre, amin lehetőség van
PHP 5.0, valamint MySQL 5.0 használatára.
PHP GD támogatás szükséges
SMTP szerver ( Internetszolgáltató, vagy a tárhelyszolgáltató adja )

Ma már az ingyenes tárhelyek is átálltak 5 -ös verzióra.
Minden esetre, akinek fontos, hogy tárhelyével minél kevesebb
probléma legyen, az ruházzon be egy fizetett tárhelybe.
Azokon már szinte mindenhol PHP 5 vagy annál magasabb verzió van.

R.E. Login v2.0 - Telepítési útmutató

  • Tömörítsd ki az RELogin-v2.0.zip -et.

  • A tartalmát másold fel a webtárhelyedre!

  • Nyisd meg böngészőben a "relogin2" mappában levő "install" mappát.
    Töltsd ki az adatokat, majd kattints alul a küldés gombra.
    Megjegyzés: UTF8 karakterkódoláson kívül más is megadható a telepítőben,
    Ekkor viszont minden fájlt külön el kell menteni a megadott
    karakterkódolással. Így ajánlott hagyni UTF8 -nak, és
    a weboldalon is mindenhol ezt használni.

  • Ha mindent jól csináltál, a telepítés sikeres volt.

R.E. Login v2.0 - Használatba vétel
Hozz létre egy "init.php" nevű fájlt a "relogin2" mappa mellett

Írd bele a következőt:

<?php
ob_start();

require_once('relogin2/classes/System.class.php');
$system = System::getInstance();
header('Content-type: text/html; charset='.Config::DBCHARSET);
?>

A fenti kódrészletet közvetlenül a fájl elejére írd. Se szóköz,
se újsor ne legyen előtte.

Az összes olyan fájlban, amiben a login bármely modulját használni szeretnéd,
ezt az "init.php" -t kell beilleszteni a következő módon szintén a fájl elejére:

<?php
require_once 'init.php';
?>

Ehhez hasonlóan kell a modulokat is beilleszteni, de már bárhova lehet
a fenti kód után. Ezek már a relogin2 mappában lesznek.
Tehát így fog kinézni a kód:

<?php
require_once 'relogin2/login.php';
?>

A fenti kód hatására megjelenik a beléptető űrlap.
Minden szükséges modul a relogin2 mappában található.
Egyik fájl sem érhető el közvetlenül. Csak az imént leírt módon beillesztve
a fájlokat egy új .php fájlba, ahol előtte be volt illesztve az init.php

További modulok helye, és funkciója:

  • relogin2/admin.php - Adminisztrációs felület
  • relogin2/changeprofile.php - Profil módosítás
  • relogin2/forgotpass.php - Elfelejtett jelszó funkció
  • relogin2/invite.php - Meghívó küldés
  • relogin2/login.php - Bejelentkező űrlap
  • relogin2/logout.php - Kijelentkező
  • relogin2/msginbox.php - Bejövő üzenetek
  • relogin2/msgoutbox.php - Kimenő üzenetek
  • relogin2/msgread.php - Üzenet olvasás
  • relogin2/msgwrite.php - Új üzenet írása
  • relogin2/news.php - Hírek listája
  • relogin2/onlinelist.php - Online lista
  • relogin2/profile.php - Profil megtekintése
  • relogin2/register.php - Regisztrációs űrlap
  • relogin2/search.php - Felhasználó kereső ( Még csak usernévre )
  • relogin2/userlist.php - Felhasználó lista

A login támogatja a gravatar és mkavatar használatát. Ha nem tudod mi az,
nézd meg az alábbi két weboldalt:
http://en.gravatar.com/
http://www.mkavatar.hu/

Sreenshotok:
Profil módosításBejövő üzenetekProfilRegisztrációUserlistaAdmin


További ismertető későbbiekben még lehet, hogy várható. Addig is a felmerülő kérdéseket szívesen megválaszolom.



Szerkesztve: 2010.06.27. 16:20
Találtam egy hibát a loginban. Mégpedig a relogin2/classes/ForgotPass.class.php végén az errors metódusnál duplán volt deklarálva a metódus static tulajdonsága. Ez nem tűnt fel eddig, de most átnéztem a logint, és hibát adott az elfelejtett jelszó funkciónál. Lehet, hogy nem mindenhol ad hibaüzenetet, habár szintaktikai hiba. Ezért javaslom a javítását. Feltöltöttem a módosított logint, de nyilván nem akar ezért senki letölteni újra mindent. Tehát a fent említett fájlban a következő kódot

        public static static function errors()
        {
                return self::$errors;
        }

kell lecserélni erre

        public static function errors()
        {
                return self::$errors;
        }

Szerkesztve: 2011. május 14.23:36
Gyakori probléma a captcha kép ( ellenőrző kód ) megjelenésének hibája ingyenes tárhelyeken. Ha valaki szembekerül ezzel, akkor javaslom elolvasni a következő hozzászólásomat: Link
Így a captcha kiszedhető. Csökkentett biztonsággal, de működhet a login.

Szerkesztve: 2011. június 7. 21:10
Letölthető a R.E. Login v2.0.1. ez egy javított változat csak, ami a különböző ingyenes tárhelyeken hibásan kiszámított url-ekre ad helyesebb és rugalmasabb megoldást. Mostantól működik a Captcha is atw.hu-n, freeweb.hu-n és 000webhost.com-on is. Ami hibájának oka egy részt az útvonalszámítás volt. Kivéve freewebet, ahol más jellegű probléma volt, de addig is, amíg azt megoldják ( ha sikerül ), sikeresen áthidaltam a hibát. Javítottam továbbá az e-mail aktiváltság ellenőrzést is. Ami valóban hibás volt. Így soha nem kellett aktiválni az emaileket akkor sem, ha az be volt állítva. A fent említett 3 tárhelyen teszteltem is a logint. Ezeken a tárhelyeken az url-t illető helyes beállítás a következő:

Minden esetben a telepítőben „weblap gyökérre” ( vagy a relogin2/classes/Config.class.php-ben levő PATH_BASE konstansra) vonatkoznak a beállítások, ami 4 féle képpen adható meg:

  • Üresen hagyva: Ekkor automatikusan számítja a login az url-t, ha tudja. Pl. freeweben működik.

  • / jellel kezdve, weblap gyökérkönyvtárától számítva a loginra épülő weblap url-je. Pl.: /weblapom ( Ez az ajánlott )

  • http-vel vagy https-el kezdve. Pl.: https://domain.hu/weblapom

  • / jel nélkül kezdve. Pl.: weblapom
    Ebben az esetben az automatikusan számolt útvonal megmarad. Csak az útvonal elé téve a megadott mappát, korrigálja azt. ( pl. atw.hu -n használható így )

Az említett 3 tárhelyen a beállítások:

  • atw.hu: userneved.atw.hu esetén vagy csak "userneved" -et írod be per jel nélkül, vagy per jellel "/userneved". Ha nem a fő könyvtárba tetted a logint, akkor a mappa neve is kell mögé. "userneved/weblapmappa" vagy "/userneved/weblapmappa"

  • freeweb.hu ( fw.hu ): Itt üresen lehet hagyni.

  • 000webhost.com: Itt meg kell adni az útvonalat. Ami gyökérkönyvtárba telepített rendszernél egyszerűen "/" jel. Vagy megadható http-vel is, ahogy fentebbi módszerekben írtam. Üresen hagyva nem működik, mert beteszi a public_html mappát is az útvonalba. Ami nem kell.

Ha nem elég érthető a leírás, jelezzetek vissza, és érthetőbbé teszem.

Szerkesztve: 2011. augusztus 11. 22:48
A relogin2/classes/Login.class.php -ben a logout metódusból hiányzott az onlinestatus mező módosítása után az adatbázisba feltöltés. Ezt javítottam. Egyetlen sor változott. De idézem az egész metódust:

public static function logout()
{
        $_SESSION['s'.self::$userNameVar]='';
        $_SESSION['s'.self::$userPassVar]='';
        if (System::$logged)
        {
                System::$user->onlinestatus = 0;
                System::$user->update(); //ezt a sort kell beszúrni!!
        }
        Session::getInstance()->setLifetime(0);
}

Ez egy nagyon apró javítás. Ezért nagyon apró verziószám változással, de feltöltöttem az R.E. Login 2.0.2 -es verzióját. A 2.0.1 sourceforge-ról továbbra is elérhető. Bár letölteni ezek után azt a verziót nincs értelme.

Szerkesztve: 2011. november 05. 17:30
Újabb hibajavító verzió került fel a loginból. Két hibát javít. Egy részt ha egy admin megváltoztatta egy felhasználó jelszavát a profil módosításnál, kiléptette az admint. Más részt a telepítőben megjelenhetett néhány undefined index hibaüzenet. Eddigi szokásomhoz híven ez a kisebb hibajavítás is csak kis verziószám változást jelent. Így most letölthető a R.E. Login v2.0.3

Akik megkímélnék magukat a teljes csomag letöltésétől, a következő linkeken megnézhetik, pontosan mi a két változtatás:

Kategóriák: 
Megosztás/Mentés

Hozzászólások

Anonymous képe

Az e-mail az kell. Az email kezelés az az, hogy publikus legyen a címe, vagy ne.

Rimelek képe

Az email rejtettségéhez tartozó mezőket legegyszerűbb elrejtened CSS-sel, mivel van egy alapértéke.

A captcha kiszedéséhez találsz linket a blogbejegyzésben. De linkelem neked itt is:
Captcha kiszedése

A másk két mezőre most nem tudok választ adni. Nem emlékszem, hogy kötelezők-e. Ha nem, akkor azt is lehet CSS-ből rejteni.

Tényleg rég foglalkoztam a loginnal és csak gyors válaszokra van időm egyelőre.

Anonymous képe

Strict Standards: Only variables should be passed by reference in C:\xampp\htdocs\RELogin-v2.0.3\relogin2\classes\UserList.class.php on line 134

Regisztrációnál ez a hiba és egyszerűen nem jövök rá a megoldásra :(

Rimelek képe

Régi a login. Igazából nagyon meglep, hogy még használja valaki :) De azóta változott a PHP is több hibaüzenettel lehet találkozni az új standardnek megfelleően.

A fenti üzenet azt jelzi, hogy az adott fájl megjelölt sorában hibásan használtam egy függvényt. Mivel az array_shift a paraméterül átadott változót is megváltoztatná, ezért nem szabadna neki nem változót átadni.

Ha ezt:

return (int)array_shift(mysql_fetch_row(
        mysql_query('select count(*) from '.Config::DBPREF.'users')));
        }

átírod erre:

$row = mysql_fetch_row(
                                mysql_query('select count(*) from '.Config::DBPREF.'users'));
return $row[0];
        }

Akkor megjavul, de lehetnek ugyanilyen vagy más hibák máshol is. Mivel én nem tervezem már folytatni a logint egyelőre, javaslom inkább, hogy az init.php-be írd be ezt:

error_reporting(E_ALL | E_STRICT);

Ami el kell tüntesse a hibaüzenetet. Viszont bármilyen megtisztelő is, hogy még ma is használjátok a login rendszert, csak saját felelősségre tegyétek.

Anonymous képe

Köszi Jó lett de még van 1 hiba ez kellene még megoldani :) és köszi a gyors választ

Strict Standards: Only variables should be passed by reference in C:\xampp\htdocs\RELogin-v2.0.3\relogin2\classes\Invites.class.php on line 158

Anonymous képe

Strict Standards: Only variables should be passed by reference in C:\xampp\htdocs\RELogin-v2.0.3\relogin2\classes\Invites.class.php on line 158

Miután elküldök egy meghívót ezt adja ki... oka? :( van egy pár ilyen

Rimelek képe

Ahogy azt írtam is, több ilyen lehet. Ezeknek a megoldása nagyjából ugyanaz, mint az előzőnek, de egyenként nem írom le őket. Viszont írtam globális megoldást. A kód javítását nem javasoltam és nem javaslom egyenként, csak ha unatkozol és tudod, mit csinálsz. A javasolt error_Reporting sort tedd az init.php-be és meg kell javuljon az összes azonos típusú hiba.

Illetve módosítottam a blogbejegyzést az elején. Fehér keretes piros hátterű megjegyzésben. Ott megtalálod azt is, amivel minden hibaüzenetet letilthatsz. De ezzel magaddal is kiszúrhatsz, mert nem látod a saját hibáidat sem.

Anonymous képe

Sajnos ez sem változtatott semmin :( ugyan ez a hiba még valami megoldás esetleg???

Amugy azt a verziot töltöttem le ahol alapból már benne volt.

Rimelek képe

Erről meg is feledkeztem. Tényleg van ilyen az init.php-ben, de csak feltételben. Csak akkor aktív, ha nem saját gépen "localhost" domainen próbálod.

Ha meg egy másik program, amit használsz, szintén módosítja az error_reporting értékét, akkor az init-ben levő semmit sem ér.

És akkor nem sokat tehetsz. Maximum az

ini_set('display_errors', 'off');

beírása segíthet, feltéve, hogy ezt nem írja más felül. És feltéve, hogy az ini_set függvény engedélyezett lesz ott, ahol majd használod a logint.

Ha ez se segít, akkor más ötletem nincs. Viszont ha be is válik, sok problémát okozol majd magadnak a jövőben vele, ha letiltod a hibaüzeneteket.

Anonymous képe

Köszi jó lett!

Sárkány képe

Szia!
Olyan problémám lenne, hogy regisztráció után elküldött linkre rákattintva az oldalon ezt az üzenetet kapom:
"Az aktiváló kód érvénytelen, vagy már aktiváltad a hozzáférésedet."
Természetesen nem volt sosem aktiválva hiszen regisztráció után egyből rákattintottam és máris adta a hibát.
Egyszerűen nem értem miért? Adatbázisba is elküldi a regisztrációt, de az aktiváló link rákattintásával már nem fejezi be a regisztrációt, adja a hiba üzenetet.
Régebben rendesen működött, most, hogy előfizettem egy nagyobb és újabb Magyar szerveri (3 in 1 hosting Bt.) tárhelyre és átpakoltam, jött a hiba. Bár régebben is ott voltam, de egy régebbi PHP és MySQL verzió volt. Most PHP 5.6.30 és MySQL 5.6.37 számú verzió van. Esetleg az lenne a baj?
Kérlek szépen segíts!
Ha kell, adok hozzáférést a tárhelyhez is!?

Rimelek képe

Szia! Én már azon is csodálkozom, hogy működik a login egyáltalán PHP 5.6-on, mivel sosem volt azon tesztelve, sosem volt arra tervezve. Ez egy nagyon régi rendszer, csak nem volt időm újraírni és jó eséllyel nem is lesz, mert más projektek vannak. A hibajelenségről többet megtudhatsz, ha megnézed a szerveren a hibanaplókat. Nem emlékszem, 3in1-en volt-e olyan. Ha nincs, akkor próbáld elkérni. Arra viszont nincs kapacitásom, hogy személyesen nézzek utána. Ha találsz hibaüzenetet, arra talán gyorsan tudok tippet adni.

Sárkány képe

Regisztráció aktiválási hibától eltekintve, egész jól működik még mindig!
Sajnos a honlapon kiírt hiba üzeneten kívül nincs hiba üzenet.
Kipróbáltam, hogy kikapcsolom az aktiváló E-mail küldését (ne küldje a linket az E-mail címre) és regisztrálok úgy.
Jelenség, hogy kiírta: "Sikeres regisztráció aktiválás (E-mail címet is beírta az adatbázisba), azonban amikor be akartam lépni, azt írta ki: "Előszór aktiváld regisztrációdat".
Szóval itt véleményem szerint MySQL adatbázis beírási hiba lehet aktiválásnál.
Elavult kapcsolódási hibákat tapasztaltam és ahol észre vettem (tesztjeim során) ott javítottam (Pl."$this->kapcs = mysql_connect( $dbhost, $dbuser, $dbpass );" helyett "$this->kapcs = @mysql_connect( $dbhost, $dbuser, $dbpass );" tehát kiegészítettem "@" karakterrel. Valószínű hasonló hiba lehet amit nem veszek észre.
Így tudsz segíteni?

Rimelek képe

Nem javítottál semmit, hanem azt a hibát is elrejtetted, ami látszott. Ha a lekérdezésekhez is írtál kukacot, akkor érthető, hogy így nem ír ki sehol semmit. Ennek a blogbejegyzésnek a tetején amúgy évek óta olvasható, hogyan lehet elrejteni a hibaüzeneteket "saját felelősségre". Nem a kukaccal, mert azt sokkal nehezebb mindenhonnan kivenni, ha érdekel is, mi a baj. Viszont semmit nem szabad éveken keresztül frissítések nélkül használni. Akkor se, ha úgy tűnik, működik, mert biztonsági kockázat és ahogy a mostani eset is mutatja, nem tudod elköltöztetni a programot frissebb szerverekre.

Viszont, ha a blogbejegyzés tetején levő hibaelrejtő helyett a minden hiba megjelenítését írod: error_reporting(E_ALL);

Akkor talán többet látsz. Kivéve, ha van egy oldalátirányítás, ami miatt nem tudod elolvasni a hibát.

De azt is írtam, hogy szerver hibanaplót nézz meg. És ha te nem látsz olyant, akkor a szolgáltatónál kérdezz utána.

Sárkány képe

Mivel a hibaelrejtő alapból benne van az init.php fájlban, így azt javaslatodra átírtam (/**/ karakterek közé tettem a felesleges részt) a fenti kódod alapján.
Azonnal jött egy hibaüzenet:
"Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/sar10000/public_html/relogin2/classes/System.class.php on line 174"
*********************************************************************************
Elutasítva: mysql_connect (): A mysql kiterjesztés elavult, és a jövőben eltávolításra kerül: a mysqli vagy az OEM-t a /home/sar10000/public_html/relogin2/classes/System.class.php címen használja a 174. soron
*********************************************************************************
Ezért, hogy az eltűnjön szintén raktam egy "@" karaktert a csatlakozás elé.
Tehát így módosítottam:
function dbconnect() {
@mysql_connect(
self::$config->DBHOST,
self::$config->DBUSER,
self::$config->DBPASS );
mysql_query( "set names '" . self::$config->DBCHARSET . "' collate '" . self::$config->DBCOLLATE . "'" );
}
Ezek után beléptem az admin felületre, kikapcsoltam az aktiváló E-mail link küldését, kijelentkeztem stb.
Beléptem a regisztrációs oldalra regisztrálni és kiírta:
"A regisztráció sikeres volt."
Ezután (mivel már nem küldött aktiváló linket) megpróbáltam belépni a regisztrációs adatokkal és ezt írta ki:
"Aktiváld hozzáférésed az emailben kapott linkkel!"
Na, de ha egyszer kikapcsoltam!
Nincs oldalátirányítás és sajnos hibanaplóba sem (pedig van) ír semmit. Csak az oldalon jelennek meg a fentiekben leírtak.

Rimelek képe

Értem. Sajnos így sincs tippem. De ahogy írtam, időm sincs hibát keresni. Ha a logint szeretnéd használni és megvan még a régi tárhely is, akkor rakd vissza oda, amíg valahogy rájössz, mi okozza a gondot.

Az aktiváláshoz az kell, hogy a profilban és a users táblában is ugyanaz az email cím legyen. Ha tényleg jól kikapcsoltad az aktiválást és mégis aktiválást várt, akkor ott lehet a hiba, ahol a mailcímet beírja. De ránézésre nem láttam rá okot. És a kódokat évek óta nem is láttam, így jóval több idő lenne most ezt megfejtenem, mint amennyit rászánnék.

Sárkány képe

Na, itt a gond, hogy az "users" táblába egyből beír mindent, de a "profiles" táblába semmit.
Sem Email aktivációval, sem azt kikapcsolva.

Sárkány képe

Sikerült megoldani!
Te adtad az ötletet azzal, hogy: "Az aktiváláshoz az kell, hogy a profilban és a users táblában is ugyanaz az email cím legyen."
Nos, amikor áttelepítettem a MySQL adatbázisban az "users" táblát optimalizáltam, így az "userid" oszlopa sorba rendeződött, ugyanakkor a "profiles" táblával ugyanezt nem csináltam meg. Most, hogy azon is megcsináltam működik a regisztráció aktiválása aktivációs linkkel és annak kikapcsolásával is!
Már csak ez a hiba maradt:
"Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/sar10000/public_html/relogin2/classes/System.class.php on line 174"
Amit ideiglenessen a "@" karakterrel oldottam meg így:
171. function dbconnect() {
172. @mysql_connect(
173. self::$config->DBHOST,
174. self::$config->DBUSER,
175. self::$config->DBPASS );
175. mysql_query( "set names '" . self::$config->DBCHARSET . "' collate '" . self::$config->DBCOLLATE . "'" );
177. }

Ebben tudnál segíteni, hogy mire javítsam ne legyen ott a @ ami eltünteti a hibaüzenetet?

Rimelek képe

"Ebben tudnál segíteni, hogy mire javítsam ne legyen ott a @ ami eltünteti a hibaüzenetet?"

Ahogy a blogbejegyzés elején írtam és amire itt, kommentben is utaltam, az a "megoldás". A kukac is eltünteti, csak ha elfelejted, hova tettél kukacot, akkor leszel gondban. Rá lehet keresni a fájlokban.

Javítani nem fogod tudni. Vagyis írja a hibaüzenet, hogy mi a feladat. Lecserélni az egész mysql_* függvénykönyvtárat másra. Ezt neked nem javaslom. Sok a hibalehetőség. Akkor inkább exportáld az adatokat és próbáld más rendszerbe importálni. Vagy regisztráltass újra mindenkit egy új rendszerbe, amit karban is tartanak. Esetleg fogadj fel valakit, aki ebben segít, de a login használatát nem javaslom régóta.

Optimalizálás: Optimalizálástól nem romlik el az aktiválás. Ha azt nevezed optimalizálásnak és sorba rendezésnek, hogy az összes egyedi azonosítót felülírtad 1-től addig a számig, ahány darab sor volt, az nem optimalizálás, hanem totális káosz teremtés. Azon túl, hogy a profiles táblát kifelejtetted, vannak kapcsolódó táblák, mint a privát üzenetek. Azokat (és most nem tudom mi más van még) szépen összecserélted ezzel.

Az ID-k azért vannak, hogy állandók legyenek. Nem írjuk felül őket! A programnak totálisan mindegy, hogy az id-k kihagyás nélkül következnek-e egymás után. Lehet rekordokat optimalizálni, de nem így. Arra megvannak az eszközök az adatbázis szerveren. És nem fog hozzányúlni az id-khez. Maximum a rekordokat rendezgeti.

Kógl Imre képe

Ezzel a témával kapcsolatosan írtam a "Kapcsolat" menüpont alatt!

Kógl Imre képe

Szia!

Nagy nehezen sikerült működőképessé átírni a kódokat (régi php 5.4.x -> új php 7.x.x), de volna egy hibaüzenet amit nem tudok megfejteni. Minden oldal alján ahová be van illesztve az init.php fájl, ezt a hibaüzenetet kapom :

Warning: Unknown: Failed to write session data (user). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

Mit lehetne ezzel tenni, hogy jó legyen?

Rimelek képe

Mivel a session-öket adatbázisba kellene írnia a loginnak, nem fordulhatna elő a fenti hibaüzenet, hacsak az átírás közben valami el nem lett rontva. Más kérdés, hogy akkor se kellene hibaüzenetnek lennie, de ha nem adatbázisba megy a session, akkor a belépés megjegyzése se működne szerintem.

Kógl Imre képe

Session-okat beírja az adatbázisba, kíváncsiságból töröltem is az egészet és utána megnézve szintén beírta az ujjakat.
Belépés is kitűnően működik. Egyszóval most már - hál istennek - minden működik, ezért sem értem ezt a hibaüzenetet.
Kíváncsiságból egy üres fájlba csak az init.php fájlt és az user keresőt include-oltam be és akkor is egyből megjelent a hiba üzenet független attól, hogy működött.

Gáll-T képe

Szia.

Nethely.hu-ra szeretném telepíteni a v2.0.2-t, de folyton hibaüzenetet kapok (Nem sikerült a szerverhez kapcsolódni) és nem tudom mi lehet a hiba. valamikor réges régen tanultam programozni, egy 2 éves okj-s tanfolyamon, de ennek kb.10-12 éve, és azóta nagyon sok dolog kiesett. Hiába írok bármit a hoszthoz mindig ezt a hibát kapom vissza... Légyszi segíts, ha ven egy kis időd.

Köszönettel: Gáll-T

Rimelek képe

Szia. A login rendszer már nagyon elavult. Nem is javaslom a használatát ebben a formájában. A kapcsolódási hibaüzenet például jelentheti, hogy már nem is támogatottak a függvények, amikkel csatlakozna. Nem is emlékszem most fejből mi alapján dobja ki a hibaüzenetet. De nem is mostanában avult el a login rendszer, hanem már nagyon régen. A mysql függvények pedig már törölve is lettek a mai PHP verziókból. Az ilyen szoftvereket folyamatosan karban kellene tartani és nem volt már új verzió több, mint 10 éve. Ha kapcsolódni tudnál is valahogy sok-sok munkába telne mire még használni is tudnád a rendszert rendesen. Mivel láttam, hogy még ma is van, aki megtalálja a logint, nosztalgiából elkezdtem dolgozni hónapokkal ezelőtt azon, hogy az adatbázis réteget modernizáljam, de közbejött egy tőlem független hiba és utána már nem volt időm visszatérni. És már nem is nagyon fejlesztek PHP-t újabban, csak magamnak ritkán egy-egy régi projekt kapcsán.

Egy mai modern CMS nem oldaná meg a problémádat?

Gáll-T képe

Kár, de azért köszönöm az infót!

Áldott napot!