Szerző Téma: Dagobert féle login  (Megtekintve 2840 alkalommal)

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

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #79 Dátum: 2010. június 24., 15:26:32 »
Már megyeget a dolog, az userprofil mennyire fontos? Mert az még nincs. Az üzenetlistázót sikerült 'univerzálissá' fabrikálnom beállítható hogy melyik üziket listázza ki:
'nem' -csak nem olvasottakat, 'igen'-csak az olvasottakat, 'mind' mindkettőt!
kicsit loptam a designből is, de bármikor leváltható mert mindent szinte változókba tettem, jut eszembe ezeket a beállításokat lehet a főoldalon kéne beállításukra lehetőséget adni és már jobb lesz. :) Neki is látok. Majd még keretbe kellene foglalnom az egyes lehetőségeket, mert ez egyre inkább egy komplett oldalnak kezd kinézni... Bár elég messze a vége!
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #78 Dátum: 2010. június 24., 13:29:57 »
Köszi! kijavítva!
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető t.zoli

  • Törzstag
  • **
  • Hozzászólások: 761
  • Románia én így szeretlek
    • Játékok
Re: Dagobert féle login
« Válasz #77 Dátum: 2010. június 24., 12:36:44 »
'Nem sikerült a művelet! Column count doesn't match value count at row 1'
Ilyen probléma akkor keletkezik mikor kihagysz vagy +-ba teszel egy adatot pl:
INSERT INTO tábla (egy, ketto, harom) VALUES (1, 2, 3, 4)Mivel egyel több adat van a kelleténél.
t.zoli a nyakatekert megoldások mestere

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #76 Dátum: 2010. június 24., 12:30:28 »
Hogy rájöhessek mi lehet a pm-írás és küldéskor a baj beiktattam egy sort ami a hibát kiírja:
'Nem sikerült a művelet! Column count doesn't match value count at row 1'
annyit tudok kihámozni belőle hogy számláló, nincs találat mező1.
Csak azt nem tudom hogy az msg táblán keressem a bajt vagy a tag táblán, mert a msg ben van 2mező ami számokat tartalmaz: mid(üzenetazonosító) és
a küldés dátuma és ideje.
a tag pedig az ID-t (user azonosító) aktiv(datetime-tipusú, a regisztráció idejét jegyzi) és az utlog (a legtöbbet használt sokszámos időbélyeg)
de az is eszembe jutott hogy tipus bajai vannak.
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #75 Dátum: 2010. június 24., 11:32:16 »
Lehet én vagyok nagyon - nagyon kezdő és megint hülyeséget írok de körbenéztem a definiált konstansok ügyében és azt találtam hogy
define("a","érték");
viszont nem értem hogy miért áll le az oldal hibával.már azt is megoldottam hogy az userlistát ki lehessen tenni külső oldalra hogy ne legyen linkbek a 'névsor'
és itt 30mp, az az idő akiket kilistáz.csak egy $link="on"; $link="off"; sort kell módosítani a config.php ban vagy felülírni az includolás után.
Ha a konstansot a config.php-ben definiálom az fog érni vmit? csak azért mert minden fájlba beincludeoltam.
már arra is gondoltam hogy ha az utolsó tevékenység régebbi mint 30perc akkor léptesse ki a felhasználót, persze ugye akkor ellenőrizni kell a usert is hogy ki lépett be, mert ha nem az bajt okozhat, és persze ha nem lépett be szabályosan senki akkor meg azzonnal dobja ki.

most van ahol működik de van ahol nem  :'(
configban van definiálva, mindenütt előbb a config.phpet hívom és utánna az ellnőző check.php-t.
« Utoljára szerkesztve: 2010. június 24., 11:48:38 írta dagobert »
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Dagobert féle login
« Válasz #74 Dátum: 2010. június 22., 17:55:16 »
de muszály vagyok 
Muszáj megtanulni, hogy pontos j  :blum:

Ami az if-ek egymásba ágyazását illeti, nem nagy gond. Azt átírhatod később is, csak a tagolást alkalmazd tényleg. És a zárójelek funkcióját tanuld meg. Mert zárójelből aztán igen sok van egy php programban. ( mármint nem sokféle, csak sok )
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ő dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #73 Dátum: 2010. június 22., 16:46:40 »
Igen gondoltam rá és próbálgatok példákat csinálgatni előbb hog kiiratom hogy mi igaz és hamis, aztán hogyha +van és működik akkor, jó és átírom a printeket a megfelelő műveletre és annak is mennie kell (lehet dedós módszer de muszály vagyok  pöcsölni vele. és talán 1xr megértem mit mikor tesz).
Azért nem alkalmaztam az "and" és az "or"-t mert nem biztos hogy átláttam volna. most elvileg jó, meg kell nézzem hogy megy e a másik böngészőben is,
most úgy írtam át aminek lehet nem sok értelme, hogy ha a süti létezik de a session nem de a süti nem üres akkor adja meg a sessionnak.
elvileg használható így is. Beereszt a login.php-át, és mindjárt kiderítem hogy megy e a dolog úgy ahogyan kell, linkből, (ugye akkor nem szabad beereszteni hanem kidobni a belépőlapra.)
Ha nem megy akkor agyalok tovább.
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Dagobert féle login
« Válasz #72 Dátum: 2010. június 22., 16:23:19 »
mondjuk ez lehet csak az én hülye szokásom
Nem. Tényleg úgy kéne.

Meg van and és or kulcsszó is. Nem kell két if-et egymásba ágyazni. Néha igen, de itt nem.
Egyszerűen létezem, és lézengek a Földön,
mint idióta szellem, kinek kastélya a börtön.

Elérhető Keveqiah

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 2.332
  • Kisb
    • Keveqiah
Re: Dagobert féle login
« Válasz #71 Dátum: 2010. június 22., 15:40:44 »
mondjuk ez lehet csak az én hülye szokásom, de miért nem lehet törni a kódot? Sokkal átláthatóbb lesz. Főleg a kezdetekben, mikor nemtudod 100%-ban mit miért is csinálsz. :)

Kód: PHP
  1. <?php
  2. if( isset($_COOKIE['authnev']) )
  3. {
  4.    if( empty($_COOKIE['authnev']) )
  5.    {
  6.      { header("location:login.php"); } //ezek mikezek itten? {}
  7.      {} // és ez? :)
  8. }
  9. else
  10. {
  11. }
  12. } // meg ez is? :)
  13. ?>
  14.  
"Gonosz vagyok. Ez ugyebár nem hit dolga."
"Egy ember halála tragédia, ezrek halála statisztika."

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Dagobert féle login
« Válasz #70 Dátum: 2010. június 22., 15:13:51 »
Uhh... hát nagyon nem klappol. De nem hiszem, hogy ezt ne vennéd észre, ha egy picit is tudod, hogy milyen egy php kód. Mintha azt se tudnád hova milyen zárójel kell. Totálisan összekevered rendszeresen. Egyszer el lehet nézni, de rendszeresen már akkora fatális hiba azok után, hogy többször szóltunk hogy kéne, hogy meg se mondom mi a hiba. Neked is rá kell jönni.

Jó, én is elnéztem most. Ettől függetlenül tényleg a zárójelezés a hiba, és tényleg rá kell jönnöd :)
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ő dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #69 Dátum: 2010. június 22., 15:08:29 »
Szeretnék ebbe a loginba egy vkis védelmet is integrálni hogy egy linkből ne lehessen "kontárkodni", össze is ütöttem 1 kódot ami jól jöhet ha a gépen egyszer már jártak az oldalon ezáltal más php be is integrálható lehetne. A gondolat menetem a következő lett: belépéskor hozz létre egy sütit ami csak 2órán át él (vagy míg ki nem lép az user), ennek jelenlétét ellenőrzöm a 'chek.php'-ben úgy hogy arra is figyelek ne legyen üres, ha üres vagy nem létezik vissza a 'login.php'-re. Lehet a $_SESSION['user']['nev']-et össze kéne hassonlítani a sütiben elmentettel ha az nem üres és ha egyezik a 2 akkor visszaengedni a belső lapokra különben nem.
SZtem a kódban valami nem klappol:
Kód: PHP (brief)
  1. <?php
  2. if(isset($_COOKIE['authnev'])){
  3. if(empty($_COOKIE['authnev'])){{header("location:login.php");}{}
  4. }else{}
  5. }
  6. ?>
  7.  
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #68 Dátum: 2010. június 18., 20:07:51 »
Köszi, remélem töretlen lesz a siker az oldal befejezéséig.
Már az egykori gondot is sikerült megoldanom:
 "ne küldhessek magamnak PM-et"  -egész egyszerűen nem listázza ki az userlister.php a belépett usert! Sztem ez jó is!
Lehet kezdek belejönni.. viszont van még néhány gond amik megoldásra várnak de talán a 7végén vagy a jövő7en sikerül megoldani azokat is.
Csak ki kell tartanom és tartani magam az eredeti tervhez.
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető t.zoli

  • Törzstag
  • **
  • Hozzászólások: 761
  • Románia én így szeretlek
    • Játékok
Re: Dagobert féle login
« Válasz #67 Dátum: 2010. június 18., 19:28:43 »
(gondolom ennek ti is.)
Akiket ezzel éjjel nappal zargattál azok tuti  xD
Sok szerencsét a továbbiakban  O0
t.zoli a nyakatekert megoldások mestere

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #66 Dátum: 2010. június 18., 18:08:47 »
Mivel nem akadtam megoldásra, várok hátha reagál valaki az észrevételemre. Addig meg megpróbálom össze dákolni a "tényleg" saját login és PM rendszeremet, sokat nem veszthetek vele, a login működik már, és úgy oldottam meg eddig hogy külön űrlap visz a work.php-hoz aminek az a feladata hogy ellenőrizze létezik e az user és jelszópáros. kb3órája kezdtem el, ugyanazt az adatbázis használja mint a korábbi, de nem kétszer van az űrlap benne.
Valószinüleg ez kavart be, mert sehogy nem ment. A kezdetekben persze mint az sqlnél  megirogattam a kis progit hogy csak írja ki az üzenetet hogy van e találat vagy nincs és utánna léptem tovább, ahol már megy a belső lapra. A korábbihoz híven van kilépő link is csak a különbség az hogy az űrlap elejére tettem azt a scripdarabkát! Sztem estére tesztelhető lesz! (bár a pm még nem megy de ezt biztosan le lehet tesztelni.Mostmár tudom hogy az elágazások hogyan működnek. A sütiket kell megoldani hogy az is működjön. Persze az előző login nagy része szerepel benne, de ez nem hagy lehetőséget az újabb kisérletre ami az előző hibája.
kb este 8körül tesztelhetővé tudom tenni, Itt a link ha ki szeretnétek próbálni:
http://merlyn.homeip.net/teszt/input.phphttp://merlyn.homeip.net/teszt/reg.php
Elküldve:: 2010. Június 18.  16:08:47
Újjabb siker! A belép lapon az "elmult 24h ban belépett userek" és az "elmúlt 15percben belépett usereket" sikerül kilistáztatni, az aktiv mező nélkül.
Majdnem úgy van ahogy itt írtátok is, csak létrehoztam a két változót: $day=(time()-86400); és a $quater=(time()-900); váltózókat és így kérdezem le őket,
Valós adatot kapok!  :mml: Nagyon örülök hogy nem szorulok annyira intenzíven a segítségre és hogy kezdek belejönni. (gondolom ennek ti is.)
De köszi a sok-sok helyreigazítást! az eredeti logint végleg elvetettem.
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #65 Dátum: 2010. június 17., 19:45:52 »
Eredetileg a $session['user']['nev']-el volt a "módosítás helye" de így sem és úgy sem megy! pedig a múltkoriba ment, arra gondoltam hogy az aktiv néven fut majd a regisztrálás ideje, az utlog pedig marad az eredeti funkciója. igaz akkor most ez hülyeség volt beírnom hisz az "aktiv"ot nem kell ezesetben frissíteni.
De majd csak ki kell törölnöm, az utlog sem változik ami egyébként a 'online userek' hez kell.
Azt nem tudtam hogy a második paramétere 1általán létezik azt hiszem a scriptnek  a része volt.
Az viszont biztos hogy az update így működne. Még egy kérdés: aktiv=now() az most egyébként mi lenne? Ez még zavaros pedig a korábbi scriptben ez volt használva!
Elküldve:: 2010. Június 17.  17:22:54
Nagyon fajin, most nem jut el a lap.php-ra a belső lapra de frissíti a belépendő (mert nem ereszt be) user adatait. Nem tudom hogy jó helyen van a  while ciklus 1általán? Mindenféleképp hülyeség jön ki, vagy beereszt és nem írja ki a nevet, vagy kiírja de mindenkit beereszt. Újjab zsákutcába futottam.A regisztrálatlan userek belépését most ellenőriztem, elsőre nem hittem hogy baj van vele.Csak már megint micsoda? Esetleg bejelentkezés után szedjem össze az user adatait? (más nem jut az eszembe mint hibalehetőség kerülése).
Elküldve:: 2010. Június 17.  18:21:18
Van egy tippem hogy hol a hiba, mégpedig a log.php-ben van és kétszer van olyan hogy belépés-rész, ott az 1ik létrehoz  login nevű változót amit ellenőriz az progi eleje, ha a másik belépösrész futott le ami viszont nem hozott létre olyan változót akkor kidob viszont 2.nak már az fut le ahol létre is hozza a  változót és beenged. Már variáltam hogy mind2 létrehozza a változót de akkor nem enged be sehogy sem, ha viszont mind2nél kiszedem, akkor meg mindenkit beereszt. Nem jutok el a megoldásig.Hol van a hiba?  :-\
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Dagobert féle login
« Válasz #64 Dátum: 2010. június 17., 17:09:09 »
Ne copy-zgass ennyit, amíg nem tudod annyira a php-t, hogy ne írd el. Pl miért is a $_POST -ot nézed?
A másik, hogy a date alapértelmezett második paramétere az aktuális idő. Nem kell neki átadni. De már azt sem értem minek neked aktiv és utlog, ha mindkettőben ugyanaz van. és azt már tudod, hogy a date mit csinál, tehát nyugodtan lekérdezéskor is át tudod alakítani a változót.
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ő dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #63 Dátum: 2010. június 17., 16:27:55 »
Most nekiláttam a korábbi script-darabkákat (alkatrészeket) beépíteni és átírni a változókat is bennük, és persze igyekszem ellenőrizni is.
Mint kiderült az adatbázisban van két idő mező: aktiv (y-m-d H:i:s),  és az utlog ami a sokszámos időbejegyzés.
Az a gond ütötte fel a fejét hogy frissülnie kellene ezeknek az értékeknek belépéskor, és a majd minden oldalon, persze csak a belépett user neve alapján.
De nem teszi. Megnéztem a korábbi kódokat és hiába azonos a szintaktika, nem frissül.
Sztem jól írtam (és a reg.php-nál is így íródik be az aktuális idő):
Kód: PHP (brief)
  1. $reg = time();
  2. $aktiv=date('Y-m-d H:i:s',$reg);
  3. $frissit=mysql_query("UPDATE tag SET aktiv ='$aktiv' , utlog='$reg' WHERE nev = '".$_POST['nev']."'");
  4.  
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Dagobert féle login
« Válasz #62 Dátum: 2010. június 17., 14:23:41 »
A mezőfelülírást ki lehet kerülni mező aliasok használatával, csak akkor fel kell sorolni a lekérdezendő mezőket. és nem elég a csillag karakter. Majd a "mezőneve as aliasnév" módszerrel persze idézőjel nélkül, átnevezheted a lekérdezésen belül a mezőt. De úgy is jó, ahogy megoldottad. Sőt, talán jobb is, mert egymásra hivatkozáskor, ha össze kell kötni több táblát, egyszerűbb összehasonlítani a mezők értékét.

A fórumon csak azért van a pm-eknél üzenetlista, hogy legyen egy áttekinthető lista is. Nem külön nyitja meg az üzeneteket. Csak oldalon belül linkel a kliensen. Hogy te hogy akarod, valóban nem a legfontosabb kérdés. De szerintem a privát üzenetekről, megvalósítás technikájáról tényleg ne itt kérdezz majd. Bár a loginod része lesz, de elég csak akkor itt tárgyalni, amikor már kész, és esetleg valaki hibát fedez fel benne. Meg aztán sok szempont lehet, amit ki lehet tárgyalni PM témán belül.
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ő dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #61 Dátum: 2010. június 17., 14:09:32 »
Na a változó felülírását kiiktattam, most az "tag" és a "msg" tábla mezői egyaránt elérhetőek a $_SESSION['user']['mezőnév'] kiíratásával,
az "id" simán felülírhatta a másikat mert mind2 táblában csak "id" ként szerepeltek az azonosítók ezt az "msg"-nél módosítottam 'mid'-re, csak hogy meg legyen különböztetve, és az 'm' még utal is rá hogy minek az azonosítója.
A log.php-n ha nem jut túl a "belső lapra" lap.php akkor a lap.phpval van a baj. de attól a login működik, ez volt múltkor is.
Még a levélküldés nem létezik, dolgozom még rajta, a JOIN-nak is utánna olvastam.
Szerintetek melyik a jobb ha belépés után amikor rákattint az user a levelek megtekintéseként a levelek számára és megjelennek a levelek TELJESEN.
automatikusan legyen olvasottá téve? vagy hasonlóként mint itt is van hogy előbb küldő és tárgy lista, és 1-enkénti megjelenítés?
Vagy megint "elveszek a részletekben" és ez aláaknázza az egész login-pm projektet?
« Utoljára szerkesztve: 2010. június 17., 14:22:58 írta dagobert »
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető ThompsoN

  • Törzstag
  • **
  • Hozzászólások: 555
  • ThompsoN
Re: Dagobert féle login
« Válasz #60 Dátum: 2010. június 16., 21:49:54 »
Elvileg kaptál 1 üdvözlő levelet is! Megkaptad?

Igen, megkaptam.:)
ThompsoN

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Dagobert féle login
« Válasz #59 Dátum: 2010. június 16., 21:22:00 »
ne csak az utsót listázza ki.
Nem véletlenül mondtam, hogy nem figyelsz a segítségekre csak mész előre vakon. Ezt nem kéne. Ugyanazt a hibát követted el, amit nem olyan régen a user(ek) adatainak lekérdezésekor. És akkor is részletesen leírtam a problémát. Hogy mindig felülírod ugyanazt a változót. És már arról is volt szó, hogy hogy lehetne jól.
Más részt egyáltalán nem tárolod az összes usert ezzel sessionben. Csak a legutolsót. És az cseppet sem biztos, hogy az aktuálisan belépett user lesz. Hanem az utoljára regisztrált. Biztos azt gondolod, hogy "de hát ki tudtam írni a sessionöket, akkor eltárolta. " Persze, hogy ki tudtad írni a ciklusban. De minden alkalommal ugyanazt a változót felülírtad.
A helyes megoldásra példa itt volt:
sessionbe lementheted az összes adatot a felhasználóról, mikor belépett, az a legtisztább és utána ebből elérsz mindent.
Csak nem volt abban az esetben teljesen helyes. De a következő üzenetemben leírtam ott, hogy miért.

basic-ről és assembly-ről beszéltél, hogy ismered őket. Szerintem a változó felülírás mindkét nyelvben ugyanúgy megtörténhet :) mint itt ebben az esetben. nyilván csak más szintaktikával. Gondold át még egyszer a kódot egy kisebb, nagyobb pihenés után  O0
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ő dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #58 Dátum: 2010. június 16., 21:07:42 »
Ez ugyan már nem a login hanem a PMhez tartozik, de 1kalapba készül alapból. Most így próbáltam a dolgot:
Kód: PHP (brief)
  1. $result = mysql_query("SELECT * FROM msg WHERE cimzett='".$_SESSION['nev']."' and olvasott='nem'");
  2. $newpm=mysql_num_rows($result);
  3. while($row = mysql_fetch_array($result))
  4.  {
  5.  $_SESSION['user']=$row;
  6. }
  7.  if($newpm=0){
  8. print" Nincs új üzeneted!";
  9. }
  10. else(
  11. print "<br>Új üzenetek száma: <b><a href='msgread.php?".$_SESSION['user']['id']."'>".$newpm."</a></b>"
  12. )
  13.  
Jó ez a rész, 1általán?
Elküldve:: 2010. Június 16.  20:54:35
Megoldottam. Most kiírja ha nincs üzenet, még azt kell ciklusba tennem hogy a leveleket, kilistázza és ne csak az utsót listázza ki.Ma már nem fogok neki sztem, kicsit kezd világos lenni a dolog.  ;)
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Dagobert féle login
« Válasz #57 Dátum: 2010. június 16., 20:38:10 »
Õőőőő... A => nyíl az a foreach ciklusban használatos az index => érték párosítására. A nagyobb egyenlő jel az a >=
És az isset() a létezést vizsgálja. Nem tudom miért keverted össze a relációval.
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ő dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #56 Dátum: 2010. június 16., 20:21:58 »
Elvileg kaptál 1 üdvözlő levelet is! Megkaptad? PM-et írni nem lehet még de dolgozom rajta csak finomítgatni kéne hogy ha nincs levél ami "nem" olvasott akkor ne legyenlink.Sajna még ez nem működik vmiért pedig sztem jól írtam a kódrészt.elvileg így működne:

Kód: PHP (brief)
  1. if(isset($newpm=>1))[
  2. print"van leveled";
  3. }
  4. else(
  5. print"nincs leveled";
  6. )
  7.  
Legalábbis az elve ez lenne, a 'log.php'-ben is így van, de vmi "double arrow" -ot írt ki.
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető ThompsoN

  • Törzstag
  • **
  • Hozzászólások: 555
  • ThompsoN
Re: Dagobert féle login
« Válasz #55 Dátum: 2010. június 16., 20:08:12 »
Most már tudok regisztrálni és belépni is.:) Múltkor a belépés nem ment.
ThompsoN

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #54 Dátum: 2010. június 16., 16:46:09 »
Akinek van kedve akár tesztelheti is, nem éppen a legdesignosabb, de még nem az lenne a lényeg csak hogy működik e rendesen. Nem akarom hogy "szenvedni" kelljen mindenféle linkekkel, ezért összedobtam egy egyszerű "összegző" index.php-t hogy könnyítsek a dolgotokon.
Van olyan része ami nem működik még dolgozom rajta, de a belépés, a regisztrálás működik nálam.
A link:
http://merlyn.homeip.net/test5/index.php

Várom az észrevételeket!Köszi.
 
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #53 Dátum: 2010. június 15., 15:35:35 »
Biztos a törléskor csesztem el. Kösz.

Elküldve:: 2010. Június 15.  15:07:34
Most tényleg megvan a zárójeles hiba, és most már be is eresztett! a 32es sorban is volt hiba.  :mml: végre kicsit fellélegezhetek hogy sikerül is vmi. Persze nélkületek nem menne semmi! O0 megyek és elmentem 50pecsét alá hogy ne elölről keljen kezdenem a dolgot, már neki is látok a további dolgoknak..
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető t.zoli

  • Törzstag
  • **
  • Hozzászólások: 761
  • Románia én így szeretlek
    • Játékok
Re: Dagobert féle login
« Válasz #52 Dátum: 2010. június 15., 14:58:19 »
Jajj!Nézd már át mit írsz!
Kód: PHP (brief)
  1. print "<form method=post action='".$_SERVER['PHP_SELF']."'><br>";
  2. print "Név:<input type=text name='nev'/><br>";
  3. print "Jelszó:<input type=password name='jelszo'/><br>";
  4. print "Jelszó újra:<input type=password name='jelszo2'/><br>";
  5. print "E-mail cím:<input type=text name='mail'/><br>";
  6. print "<input type=submit name='regist' value=Regisztráció/></form></<br>";
Kihagytál egy ' jelet!
t.zoli a nyakatekert megoldások mestere

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #51 Dátum: 2010. június 15., 14:54:05 »
 Ezzel meg az a baj hogy a "kód" elvileg jó, csak a név mező lemarad a megjelenítésben! :mad2:
Kód: HTML
  1. print "<form method=post action='".$_SERVER['PHP_SELF']."><br>";
  2. print "Név:<input type=text name='nev'/><br>";
  3. print "Jelszó:<input type=password name='jelszo'/><br>";
  4. print "Jelszó újra:<input type=password name='jelszo2'/><br>";
  5. print "E-mail cím:<input type=text name='mail'/><br>";
  6. print "<input type=submit name='regist' value=Regisztráció/></form></<br>";
  7.  
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Dagobert féle login
« Válasz #50 Dátum: 2010. június 15., 11:53:40 »
Egyszermár t.zoli kijavította a hibás zárójeleidet. Megint a ( jelet kevered össze a { jellel.

A másik, amit említettem privátban is, az a stringek idézőjelbe tétele. Nem A tömbök indexe ( már ha nem numerikus ) is idézőjelbe való ( ha nincs az egész tömb változó is egy stringben. ) A kilep string meg aztán főleg. Lehet, hogy az eredeti cikkben és néhány könyvben erre nem figyeltek, de most te fogsz :)
Kód: PHP
  1. if ($_GET['cmd'] == 'kilep')
Ez sem a legszebb módszer, de most nem zavarlak össze. Nem ez a lényeg.
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ő dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #49 Dátum: 2010. június 15., 11:32:09 »
A zárójel lehetett a hiba (az 1iknek nem volt párja) de kijavítottam és így is panaszkodik, de itt a kód:
Kód: PHP (brief)
  1. <?php
  2. if ($_GET[cmd] == kilep){
  3. }
  4. if (isset($_POST['nev'])){
  5.         include("config.php");
  6.         $nev = htmlspecialchars($_POST['nev']);
  7.         $jelszo = md5($_POST['jelszo']);
  8.         $jelszo = substr($jelszo, 0,20);
  9.         $lekerdezes = mysql_query("SELECT * FROM tag where nev = '$nev' and jelszo = '$jelszo'");
  10.         $vanelekerdezes = mysql_num_rows($lekerdezes);
  11.         if ($vanelekerdezes==1)//Ha van ilyen felhasználónév, jelszó páros
  12.         (
  13.                 $_SESSION['nev']=$_POST['nev'];
  14.                 $aktiv=date("Y-m-d H:i:s",time());
  15.                 $time=date("Y-m-d H:i:s",time());
  16.                 $frissit=mysql_query("UPDATE tag SET aktiv='$time' WHERE nev = '".$_POST['nev']."'");
  17.                         header("Location: log.php");
  18.         )else
  19.         {
  20.         print 'Rossz név és jelszó páros!<br>';
  21.         print '<form action="log.php" method="post">Név:<input type="text" name="nev" size="25"><br>Jelszó:<input type=password name="jelszo" size="25"<br><input type="submit" value="Belépés" name='login'/><br></form>';
  22.         }
  23.  }
  24.  else if ($_SESSION['nev']=$_POST['nev']){
  25.                 print "<b>Üdvözöllek ".$_SESSION['nev']."!</b><br><a href=log.php?cmd=kilep>Kilépés</a><br><br>";
  26.                                         include("lap.php");
  27.                                         }
  28.         else {
  29.         print '<form action="log.php" method="post">Név:<input type="text" name="nev"></input><br>Jelszó:<input type=password name="jelszo"><br></input><input type="submit" value="Belépés"/><br></form>';
  30. }
  31.  
  32.  
  33. ?>
  34. </body></html>
  35.  
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Dagobert féle login
« Válasz #48 Dátum: 2010. június 14., 20:39:14 »
Az odáig világos hogy sima sorban hogy megy a "direkt" értékadás, de nekem ilyesmi megoldás kell:
Nem értem mi a gond. "sima sorban?" Úgy érted hogy fixen  megadva idézőjelben a név? Nincs különbség. Ahogy írtad, jól írtad. Mindkét megoldás helyes. Attól függően melyik változóban van a név.
Az hogy if-ben van semmit sem változtat a megoldáson. Ha valahol körülötte elhibáztál valamit, akkor azt keresd meg. De értéket adni nem nagyon lehet elrontani. php.net-en példa:
<?php
// Use of session_register() is deprecated
$barney "A big purple dinosaur.";
session_register("barney");

// Use of $_SESSION is preferred, as of PHP 4.1.0
$_SESSION["zim"] = "An invader from another planet.";

// The old way was to use $HTTP_SESSION_VARS
$HTTP_SESSION_VARS["spongebob"] = "He's got square pants.";
?>
Írja is megjegyzésekben, hogy a session_register már nem ajánlott. php 4.1 óta a $_SESSION tömb használata preferált. És a $HTTP_SESSION_VARS is régi megoldás. Tehát marad a középső verzió. Hogy az idézőjeles szöveg helyett változót adsz neki az teljesen mindegy. Viszont se hibaüzenetet nem írtál nekünk, se nagyobb forráskódot, hogy lássuk, most melyik a 24. sor és az előtte utána néhány sor.
Adatbázisból hogy elérjem akkor azt valahogy így kéne:
Mondjuk már ezt is mondtam, hogy elég a $_SESSION['user'] = $row; ha tényleg minden adat kell :) És a $row-ban van a lekérdezett ( fetchelt ) rekord.
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ő dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #47 Dátum: 2010. június 14., 18:24:52 »
Az odáig világos hogy sima sorban hogy megy a "direkt" értékadás, de nekem ilyesmi megoldás kell:
Kód: PHP (brief)
  1. $_SESSION['nev']=$nev;
  2.  
  3. esetleg
  4.  
  5. $_SESSION['nev']=$_POST['nev'];
  6.  

mivel if környezetben van erre hibát dob ki mert próbáltam már,
persze ha minden adatot be akarok olvastatni az 'éppen belépő userről' az adatbázisból hogy elérjem akkor azt valahogy így kéne:
 
Kód: PHP (brief)
  1. $_SESSION['user']['nev']=$nev;
  2.  
és még mindíg a 24-es sorban van a hiba, a zárójel meglett.Illetve pótolva.
Ez a 'log.php'-ban van.
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető t.zoli

  • Törzstag
  • **
  • Hozzászólások: 761
  • Románia én így szeretlek
    • Játékok
Re: Dagobert féle login
« Válasz #46 Dátum: 2010. június 14., 17:21:15 »
Ja bocsánat félre értettem a kérdést.Mostanában elkalandozik a gondolatom...  ::)
t.zoli a nyakatekert megoldások mestere

Nem elérhető ThompsoN

  • Törzstag
  • **
  • Hozzászólások: 555
  • ThompsoN
Re: Dagobert féle login
« Válasz #45 Dátum: 2010. június 14., 17:14:26 »
Kód: PHP (brief)
  1. $_SESSION['nev'];
  2.  

Igen.
Kód: PHP
  1. $_SESSION['nev'] = "felhasznalo_neve";
ThompsoN

Nem elérhető t.zoli

  • Törzstag
  • **
  • Hozzászólások: 761
  • Románia én így szeretlek
    • Játékok
Re: Dagobert féle login
« Válasz #44 Dátum: 2010. június 14., 17:06:01 »
Nem hiányzik egy ilyen:} jel?
u.i.:
Idézet
This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
t.zoli a nyakatekert megoldások mestere

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #43 Dátum: 2010. június 14., 17:03:27 »
A $_SERVER['PHP_SELF']  alkalmazása sikerült,most ezt próbálom megoldani:
Kód: PHP (brief)
  1.         if ($vanelekerdezes==1)//Ha van ilyen felhasználónév, jelszó páros
  2.         {
  3.                 session_register( 'nev' );
  4.                 $time = time();
  5.  
itt a session registert kéne kicserélnem de hiába, nem megy
valahogy így kéne kinéznie?
Kód: PHP (brief)
  1. $_SESSION['nev'];
  2.  
hibát dob ki erre a sorra, valahol hiányzik 1 zárójel azt még talán sikerül kinyomozni...
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Dagobert féle login
« Válasz #42 Dátum: 2010. június 14., 15:42:31 »
A html-ekről annyit hogy én úgy tanultam hogy <nyitótag> </zárótag>
Igen ez így van, de például sortörést sem <br></br> -ként írod. Akkor van külön záró tag, ha a kettő között tartalom lehet. Még a html4 -ben nem volt semmilyen záró tagja az <input> -nak. xhtml-ben jött, hogy legyen <tag /> a lezárás akkor, ha nincs zárótag. xml-re alapozva a <tag></tag> is helyes, csak épp hosszabb, felesleges és tényleg nem szokták így írni.
mivel a kód eredetileg erről az oldalról lett leszedve, nem értem hogy miért érzek is gúnyt a válaszoidban.
Abban a cikkben is hibásan van pár dolog, de nem szintaktikai hibás. Ami a cikkben is hibás, és szólunk érte, az azért van, hogy te ne kövesd el a hibát. Szépséghibák. Illetve a session_register -t ma már tényleg nem használják. És egyszerűbb is a tömbös értékadás.
Sztem ezért vagyok türelmetlen ehhez az egészhez 1 kicsit jobban mint kellene. Sajnálom. Nem azért vagyok itt hogy magam oljak meg dolgokat! Az hogy a html hibás arról nem tehetek az az eredeti maradt!
Pontosan ennek köszönheted a gúnyt az üzeneteimben. Egy részt a hibáid ahol </<br> és hasonló elírások vannak, az eredetiben nem voltak. Az idézőjeles megjegyzésemet nem szántam gúnyosnak. Csak jó tanácsnak a te érdekedben. És nem is azért vagy itt, hogy mások oldják meg a dolgokat :) Hanem pont azért, hogy magad. Segítséggel. Csak a türelmetlenség mellett azt sem fogadod meg, amit tanácsolunk. Vagy elsiklasz felette. Én már több olyan dolgot mondtam, amit figyelmen kívül hagytál. Pedig sokszor igen hosszú kommentben írtam körül a problémát és megoldást. Bár ezt a "nem azért vagyok itt" mondatodat nem értem. Lehet másképp érteted, mint ahogy én értelmeztem. Akkor elnézést kérek. De ha jól értettem, akkor tényleg le kéne lassítanod. És nem a basic és assembly tudás számít itt most. Azt nem tudjuk, mihez mennyire értesz. Csak a jelenlegi reakciókból és üzenetekből tudunk megítélni.

Nagyon eltértünk a tárgytól. De muszáj volt leírnom. Szóval folytasd a logint bátran. Csak ne akkora tempóval, hogy közben az alap dolgokat sem érted, hogy mit miért. Meg kell emészteni a megszerzett tudást. Anélkül nem jó tovább menni, mert hát a rossz emésztés csúnya dolgokat szül.  8) Amúgy minket se nagyon tanított senki.
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ő dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #41 Dátum: 2010. június 14., 14:00:10 »
Köszi! nem csoda hogy az eredeti sem ment akkor. Kijavítottam őket! most működik =re! sztem ezt a működő verziót elteszem vmi jkó helyre hogy ne legyen gondom többet vele.
Elküldve:: 2010. Június 14.  13:42:56
A html-ekről annyit hogy én úgy tanultam hogy <nyitótag> </zárótag> mivel a kód eredetileg erről az oldalról lett leszedve, nem értem hogy miért érzek is gúnyt a válaszoidban.2003 rég volt és a phpről szó sem esett! Csak a flash meg a design állandóan, szinte nem ér semmit amit kb 360 ropiért tanítottak,
Mivel nem tanulok, nincs olyan ismerősöm aki jártas lenne benne, ezért fordultam hozzátok jó sok agyalás után hogy ugyan érdemes e, sajna mindenki azzal jön a környéken hogy ott van a joomla meg a phpnuke, meg a többiek.. De ahhoz képest hogy valamikor proigramozó szerettem volna lenni 1re inkább nem bánom. Sok scripteteket szedtem már le és sok más helyről is ami nem működött valamiért.De 1-1scriptre kb 48órát szánva sikerült valahogyan működésre bírni.Nem vagyok azért olyan hülya hogy ne jöjjek rá valamire az anno megtanult "BASIC"ben sem segített seniki! ott 5évembe került az hogy megértsem hogy az assembly nem basic, ugyanakkor megírtam olyan programokat rajta amit csak akartam. Sok mindent meg tudtam volna akkor tanulni ha van már akkor Pc-m de nem volt! Sztem ezért vagyok türelmetlen ehhez az egészhez 1 kicsit jobban mint kellene. Sajnálom. Nem azért vagyok itt hogy magam oljak meg dolgokat! Az hogy a html hibás arról nem tehetek az az eredeti maradt! Anno űrlapokat sem készítettünk honnét tudnám h hogyan helyes? 1ik helyen így a másikon úgy! most a login dobja be a törülközőt de biztos valami szemét idézőjel vagy vmi más hasonló lessz a baja. Mindenesetre azért kösz a türelmeteket, és a segítséget.
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Dagobert féle login
« Válasz #40 Dátum: 2010. június 14., 13:39:02 »
Bizony. Nézd át a htmlt is amit írsz, mert olyan nincs, hogy
Kód: HTML
  1. </<br>
A $php_self -et ne használd változóként. helyette a $_SERVER['PHP_SELF'] -et vagy hagyd üresen az actiont. Azo kívül szokd meg, hogy a html tag-ek attribútumait is idézőjelbe teszed mindig. Talán úgy tűnik, nem számít, de lesz, amikor fog.
Illetve bár a </input> -os zárás elvileg nem hiba, gyakorlatilag senki se használja.
Kód: HTML
  1. <input .... />
módon zárhatod a nyitó tag-en belül.

Nem tudom megtanulni a szintatktikát ha nincs szó benne a könyvben
Ez csak gyenge kifogás. Minden apróságra nem fogják felhívni a figyelmed könyvekben. Amiket te csinálsz jelenleg, szintaktikailag semmiben nem különbözik a php5 a php4-től. Az, hogy pár változó nem elérhető esetleg, az nem verziófüggő, hanem beállítás kérdése, és ha csak azt hibáznád el nem lenne semmi gond. De az idézőjelezést meg kell tanulni helyesen. Hogy legalább ne szálljon el az egész szintaktikai hibával. Ehhez pedig nem kell más, mint tapasztalat. Kis google használat. Önállóság. Semmi több. Már szinte olyan szinten működik a google, hogy magyarul megkérded tőle mi van a hűtődben és azt is megmondja. Persze nem árt tudni angolul is keresni. Hibaüzenetekre például. Szerintem már linkeltem, de ha csak akartam, akkor Hibakeresés PHP-ban Aminek egy korábbi verziója itt is megtalálható a cikkek között. Pár alap dolgot leírtam benne. Minden hibaüzenetet nem lehet felsorolni. Főleg, mert verziókban változhatnak is. A lényeg ugyanaz. Megtalálható a megoldás google-n a megfelelő részét beillesztve a hibaüzenetnek.
Sztem ha segítetek majdcsak sikerül valahogyan megoldanom.
A gond csak az, hogy egy szintig az ember szívesen segít. De az után a bizonyos pont után már a kérdezőnek magának kell "megszenvedni" a megoldásért. Minden karakter elütésért nem lehet a fórumba menni. Sokaknak mondtam már. Sokan szidtak érte. Majd ugyanezek pár hónappal később hálásak voltak érte.
Egyszerűen létezem, és lézengek a Földön,
mint idióta szellem, kinek kastélya a börtön.

Elérhető Keveqiah

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 2.332
  • Kisb
    • Keveqiah
Re: Dagobert féle login
« Válasz #39 Dátum: 2010. június 14., 13:30:06 »
Nem is sokmindent fog elkövetni a script, ha session-t ellenörzol nem gombnyomást. :)
Kód: PHP
  1. if (isset($_SESSION['nev'])){
  2.  

Kód: PHP
  1. print "<input type=submit value=Regisztráció name='regist' /></form><br>";
  2.  
  3. if (isset($_POST['regist'])){
  4.  

Kód: HTML
  1. <form method=post action='$php_self'></input><br> <!-- Ez a /input itten micsudi? -->
  2. Név:<input type=text name='nev'></input><br>
  3.  
/input nincs. Az inputnak nincs záró tag-je. ilyenkor illő a / jelet az input tag végére elhelyezni.
Kód: HTML
  1. Név:<input type=text name='nev' /><br />
  2.  
"Gonosz vagyok. Ez ugyebár nem hit dolga."
"Egy ember halála tragédia, ezrek halála statisztika."

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #38 Dátum: 2010. június 14., 12:40:00 »
Nem tudom megtanulni a szintatktikát ha nincs szó benne a könyvben, ráadásul php4hez való.Amit onnan kiszedek kód nem is mindegyik működik.
KB egy éve ügyködök a phpvel és 1-2 dolgot sikerült véghez vinnem igaz nem nagy szó hogy   fájlokat tudok írni,olvasni,bővíteni.
Most viszont hatalmas fába sikrült vágni a fejszémet, ezt elismerem és azt is hogy nem ilyenekkel kéne kezdeni.Sztem ha segítetek majdcsak sikerül valahogyan megoldanom. A mostani "reg.php" szkripem így néz ki és még mindíg nem jut el az ellenőrzéshez sem így az adatbázis használatához sem (gondolom) időközben felfedeztem 1 hibát de hiába javítottam ki mert nem azon múlik. Azt nem értem hog az eredeti sem csinál semmit. De abba rengeteg a hiba, amiket az enyémben már ki javítottam és mégsem megy: (már szinte mindent végignéztem, de kezdek kissé tanácstalan maradni)
Kód: PHP
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  4. </head>
  5. <body>
  6. <?php
  7. include ("config.php");
  8. print "<form method=post action='$php_self'></input><br>";
  9. print "Név:<input type=text name='nev'></input><br>";
  10. print "Jelszó:<input type=password name='jelszo'></input><br>";
  11. print "Jelszó újra:<input type=password name='jelszo2'></input><br>";
  12. print "E-mail cím:<input type=text name='mail'></input><br>";
  13. print "<input type=submit value=Regisztráció></input></form></<br>";
  14.  
  15. if (isset($_SESSION['nev'])){
  16.         if ($_POST['jelszo'] != $_POST['jelszo2'] ){
  17.                 print "Nem egyezik meg a két jelszó!";
  18.         }else{
  19.                 $nev = htmlspecialchars($_POST['nev']);
  20.                 $mail = htmlspecialchars($_POST['mail']);
  21.                 $nevegyez = mysql_query("SELECT `nev` FROM tag WHERE `nev` = '".$nev."'");
  22.                 $mailegyez = mysql_query("SELECT `mail` FROM tag WHERE `mail` = '".$mail."'");
  23.                
  24.                 if (mysql_num_rows($nevegyez)== 0 ){
  25.                 if (mysql_num_rows($mailegyez)== 0 ){
  26.                          if ( $_POST[jelszo] != "" && $_POST['mail'] != "" && $_POST['nev'] != "" ){
  27.                                 $jelszo = md5($_POST['jelszo']);
  28.                                 $jelszo = substr($jelszo, 0,20);
  29.                                 $reg = time();
  30.                                 $aktiv=date('Y-m-d H:i:s',$reg);
  31.                                 $parancs=mysql_query("INSERT INTO `tag` ( `nev`, `jelszo`, `mail`,`aktiv`, `utlog`) VALUES ('".$nev."', '".$jelszo."','".$mail."', '".$aktiv."', '".$reg."')");
  32.                                 print "Sikeres regisztráció!";
  33.                 print mysql_error();
  34.                         }else{
  35.                                         print "Nem töltöttél ki minden mezőt!";
  36.                         }
  37.  
  38.                 }else{
  39.                 print "Foglalt e-mail cím!";
  40.                 }
  41.                 }
  42.                 else
  43.                 {
  44.                 print "Foglalt név!";
  45.                 }
  46.         }
  47. }
  48. ?>
  49. </body></html>
  50.  
Mi a hibája még? Köszi a válaszokat!
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Elérhető Keveqiah

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 2.332
  • Kisb
    • Keveqiah
Re: Dagobert féle login
« Válasz #37 Dátum: 2010. június 13., 17:59:36 »
Kevegiah! a tiedére hiibát jelzett,

Igen, elírtam. viszont szerintem most egy kicsit le kéne lassítanod a loginnal és nézd át a php szintaktikáját, hogy meg tudd különböztetni a hibásan írt kódot (amit elírtam és nem ellenőriztem vissza most) a jó kódtól.
"Gonosz vagyok. Ez ugyebár nem hit dolga."
"Egy ember halála tragédia, ezrek halála statisztika."

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #36 Dátum: 2010. június 13., 17:53:14 »
Még mindíg nem jut el az ellenőrzésig sem.
De hibát sem ír ki!  :confused:
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető tbence

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 1.131
    • TBence.hu
Re: Dagobert féle login
« Válasz #35 Dátum: 2010. június 13., 17:43:32 »
Kód: PHP
  1. $nevegyez = mysql_query("SELECT `nev` FROM tag WHERE `nev` = "'.$nev.'"");
  2.  
Így helyes amit keve írt:
Kód: PHP
  1. $nevegyez = mysql_query("SELECT `nev` FROM tag WHERE `nev` = '".$nev."'");
  2.  


Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #34 Dátum: 2010. június 13., 17:38:40 »
Kevegiah! a tiedére hiibát jelzett, viszont T.zoliéra nem így azt mentettem el, viszont nem ad be adatot az adatbázisba!
már alkalmaztam a "mysql_inset.php kis scriptet direktbe megy! (ha nem inputon kereszül kap adatot) van 5letetek?
kösz a gyors választ!
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Elérhető Keveqiah

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 2.332
  • Kisb
    • Keveqiah
Re: Dagobert féle login
« Válasz #33 Dátum: 2010. június 13., 17:24:33 »
Kód: PHP
  1. $nevegyez = mysql_query("SELECT `nev` FROM tag WHERE `nev` = "'.$nev.'"");
  2.  

Ne vissza aposztrófot használj, hanem sztringnél idézőjelet. "
"Gonosz vagyok. Ez ugyebár nem hit dolga."
"Egy ember halála tragédia, ezrek halála statisztika."

Nem elérhető t.zoli

  • Törzstag
  • **
  • Hozzászólások: 761
  • Románia én így szeretlek
    • Játékok
Re: Dagobert féle login
« Válasz #32 Dátum: 2010. június 13., 17:20:28 »
Próbáld így
Kód: PHP (brief)
  1. $nevegyez = mysql_query("SELECT `nev` FROM tag WHERE nev = `$nev`");
t.zoli a nyakatekert megoldások mestere

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #31 Dátum: 2010. június 13., 17:10:35 »
Mitől van hogy megunja a működését egy script? még a név és jelszó egyezéséig sem jut el az egész! megint kezdjem elölről?
a $_POST['nev']-így a helyes ugye?
ez a sor is az?:
Kód: PHP (brief)
  1. $nevegyez = mysql_query("SELECT `nev` FROM tag WHERE `nev` = `$nev`");
  2.  
mert sem így sem így nem csinál semmit:
geshi=php-brief]
$nevegyez = mysql_query("SELECT `nev` FROM 'tag' WHERE `nev` = `$nev`");
[/geshi]
viszont ahol nincs sem aposztróf ott tovább megy de az sem ad semmit az adatbázishoz. érdekes.
és a kijelölt mező helyén csak 1 csillag van.
már átnéztem mindent de nemlátom biztos megint "fától az erdőt" ....
de az értékeket sem irja ki! nem ellenőriz semmit mert hiába írok be direkt azonos nevet 1 létező névvel nem csinál semmit!
lehet ezt kéne tudnom h mikor shift+7 és mikor altgr+7?
 :help2:
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #30 Dátum: 2010. június 13., 09:51:26 »
Igazad van. A Join-ra azért nem kérdeztem vissza mert fölös mindaddig míg a belépés sem megy.Szedegettem az oktatóvideót és igyekszem elsajátítani a dolgokat amik ugye alapok.Valamivel könnyebb mint az Ebook! CSak talán régi a 2002es felhasználás a 2010eshez, de biztos van olyan amit feltudok használni.
Még nincs meg mind, de igyekszem hidd el. Lesz olyan benne ami hasznos mert belenéztem a meglévőkbe, (sütik és munkamenetek,ciklusok) Viszont a mysql még nincs itt de remélem az is hasznomra lesz.Valahol már futottam össze a mysql_join-nal csak még nem tudom h hol.
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Dagobert féle login
« Válasz #29 Dátum: 2010. június 13., 00:28:50 »
alább említett módon sessionba menti az összes felhasználó adatát
Hát ennek az ég világon semmi értelme. Semmi haszna. Úgyhogy ha értelmes loginrendszert akarsz, ezt a butaságot gyorsan felejtsd el. Egy részt, ha tényleg el is mentené az összes usert, amit nem tesz, akkor is hülyeség lenne. Mivel sosem kell minden felhasználó összes adata. Maximum azé, aki éppen belépett. Azé az egyetlené.Minden más akkor kérdezendő le adatbázisból, amikor szükség van rá. Ha privát üzenetnél elmented a címzett és a küldő id-jét, akkor le tudod kérdezni a nevet is mellé, mikor ki kell írni a bejövő postafiókban. Hogy hogyan? Azt már mondtam. SQL JOIN művelettel. Aminek valószínűleg utána se néztél, mert nem emlékszem, hogy visszakérdeztél volna, hogy akkor mégis hogyan. Ha pedig egyből megoldottad volna, és azért nem kérdeztél, akkor most nem itt tartanánk, tehát bizonyára nincs megoldva. Azért ha ennek hatására rákérdeznél, előbb keress rá a mysql join -ra neten. Egy kis SQL alapok nem fog megártani. Bár el lehet durvulni a joinnal nagyon is, de ezen a szinten ami neked kell, még egyszerű.

Más részt egyáltalán nem tárolod az összes usert ezzel sessionben. Csak a legutolsót. És az cseppet sem biztos, hogy az aktuálisan belépett user lesz. Hanem az utoljára regisztrált. Biztos azt gondolod, hogy "de hát ki tudtam írni a sessionöket, akkor eltárolta. " Persze, hogy ki tudtad írni a ciklusban. De minden alkalommal ugyanazt a változót felülírtad.

De azért ennél többet tesztelj egy megoldáson, mielőtt közhírré téteted, hogy megoldottad a problémát.

Arról már nem is beszélve, hogy milyen táblázat az, aminek egy fejléce van, és annyi záró tagja ahány user. De cellái és sorai már nincsenek. Csak a fejlécnek.   
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ő dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #28 Dátum: 2010. június 12., 19:36:22 »
Húh de piszok ez a meleg.
Már füstöl a billentyűzet lassan. De megérte körmölnöm, kikisérleteztem a dolgot  "amatőr módon", nem teljsesen a témához tartozik de a "főscripthez tartozhat" a lényege csak annyi volt hogy hogyan is megy ez a dolog sessionnal, meg az anno "for-next" re emlékeztető script.Ami ugyan annyit csinál hogy az
alább említett módon sessionba menti az összes felhasználó adatát, igaz ez csak kis helyeken használható mód de sztem megteszi a részemre legalábbis.
Itt a "testscript" ha vkit érdekel:
Kód: PHP (brief)
  1. <?php
  2. $con = mysql_connect("localhost","---","-----");
  3. if (!$con)
  4.   {
  5.   die('Could not connect: ' . mysql_error());
  6.   }
  7.  
  8. mysql_select_db("test5", $con);
  9.  
  10. $result = mysql_query("SELECT * FROM tag");
  11.  
  12. echo "<table border='1'>
  13. <tr>
  14. <th>userid:</th>
  15. <th>username:</th>
  16. </tr>";
  17.  
  18. while($row = mysql_fetch_array($result))
  19.   {
  20.  
  21.  $_SESSION['user']['id']=$row['id'];
  22.  $_SESSION['user']['nev']=$row['nev'];
  23.  $_SESSION['user']['mail']=$row['mail'];
  24.  $_SESSION['user']['aktiv']=$row['aktiv'];
  25.  
  26. echo "</table>";
  27. echo" <br>".$_SESSION['user']['id'];
  28.  echo" ".$_SESSION['user']['nev'];
  29.  echo" ".$_SESSION['user']['mail'];
  30.  echo" ".$_SESSION['user']['aktiv'];
  31.  echo" <br>";
  32.  }
  33. ?>
  34.  
Mostmár talán alkalmazni is fogom tudni az alább leírtakat.  :happy:
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető t.zoli

  • Törzstag
  • **
  • Hozzászólások: 761
  • Románia én így szeretlek
    • Játékok
Re: Dagobert féle login
« Válasz #27 Dátum: 2010. június 12., 16:55:07 »
Nekem a melegtől csak a gépem nem megy  ::)
t.zoli a nyakatekert megoldások mestere

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #26 Dátum: 2010. június 12., 16:53:20 »
Ezzel most nem értem mit akarsz mondani, most jól teszem ha kijavítom? DE mindegy mert már semmi nem megy. Biztos a melegtől...
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Elérhető Keveqiah

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 2.332
  • Kisb
    • Keveqiah
Re: Dagobert féle login
« Válasz #25 Dátum: 2010. június 12., 12:11:44 »
jó észrevétel. :)

".'$mail.'",
//
"'.$mail.'",
"Gonosz vagyok. Ez ugyebár nem hit dolga."
"Egy ember halála tragédia, ezrek halála statisztika."

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #24 Dátum: 2010. június 12., 11:42:02 »
A gép válasza:


Parse error: syntax error, unexpected T_VARIABLE in D:\testerweb\test5\reg.php on line 33

DE sztem felcserélted a pontot és az aposztrófot, de nem tudom hogy van e jelentőssége. (csak feltünt mert amikor  kiíratok valamit:
pl PRINT"valami: ".$valami.""; szokot történni.) ha módosítom a kódod akkor sem jó. :(

De azért köszi. Mindjárt mehetek filmet vágni, addig töröm a fejem én is.
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Elérhető Keveqiah

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 2.332
  • Kisb
    • Keveqiah
Re: Dagobert féle login
« Válasz #23 Dátum: 2010. június 12., 11:30:50 »
Kód: PHP
  1. $parancs = mysql_query('insert into tag(`nev`, `jelszo`, `mail`, `aktiv`, `utlog`)
  2.                        values ( "'.$nev.'", "'.$jelszo.'", ".'$mail.'", '.$aktiv.', '.$reg.')');
  3.  
"Gonosz vagyok. Ez ugyebár nem hit dolga."
"Egy ember halála tragédia, ezrek halála statisztika."

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #22 Dátum: 2010. június 12., 11:12:17 »
Most a reg.php így néz ki, tartalmazza a módosításokat amiket írtatok de nem jegyzi be a adatokat! (A MYSQL szintaxisában kell a nagybetű SELECT,WHERE,FROM,INSERT, SET stb..)?

Kód: PHP (brief)
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  4. </head>
  5. <body>
  6. <?php
  7. include ("config.php");
  8. print "<form method=post action='$php_self'></input><br>";
  9. print "Név:<input type=text name='nev'></input><br>";
  10. print "Jelszó:<input type=password name='jelszo'></input><br>";
  11. print "Jelszó újra:<input type=password name='jelszo2'></input><br>";
  12. print "E-mail cím:<input type=text name='mail'></input><br>";
  13. print "<input type=submit value=Regisztráció></form></input><br>";
  14.  
  15. if (isset($_SESSION['nev'])){
  16.         if ($_POST['jelszo'] != $_POST['jelszo2'] ){
  17.                 print "Nem egyezik meg a két jelszó!";
  18.         }else{
  19.                 $nev = htmlspecialchars($_POST['nev']);
  20.                 $mail = htmlspecialchars($_POST['mail']);
  21.                 $nevegyez = mysql_query("SELECT 'nev' FROM 'tag' WHERE 'nev' =$nev");
  22.                 $mailegyez = mysql_query("SELECT 'mail' FROM 'tag' WHERE 'mail' =$mail");
  23.                
  24.                 if (mysql_num_rows($nevegyez) == 0 ){
  25.                 if (mysql_num_rows($mailegyez) == 0 ){
  26.  
  27.                          if ( $_POST['jelszo'] != "" && $_POST['mail'] != "" && $_POST['nev'] != "" ){
  28.                                 $jelszo = md5($_POST['jelszo']);
  29.                                 $jelszo = substr($jelszo, 0,20);
  30.                                 $reg = time();
  31.                                 $aktiv=date('Y-m-d H:i:s',$reg);
  32.                                 $parancs = mysql_query("insert into tag('nev', 'jelszo', 'mail', 'aktiv', 'utlog') values ( '$nev', '$jelszo', '$mail', '$aktiv', '$reg')");
  33.                                 print "Sikeres regisztráció!";
  34.                         }else{
  35.                                         print "Nem töltöttél ki minden mezőt!";
  36.                         }
  37.  
  38.                 }else{
  39.                 print "Foglalt e-mail cím!";
  40.                 }
  41.                 }
  42.                 else
  43.                 {
  44.                 print "Foglalt név!";
  45.                 }
  46.         }
  47. }
  48. ?>
  49. </body></html>
  50.  
a log.php:
Kód: PHP (brief)
  1.  
  2. <?php
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  6. </head>
  7. <body>
  8. <?php
  9. if ($_GET[cmd] == kilep){
  10. }
  11. if ( isset($_POST["nev"]) ){
  12.         include("config.php");
  13.         $nev = htmlspecialchars($_POST[nev]);
  14.         $jelszo = md5($_POST["jelszo"]);
  15.         $jelszo = substr($jelszo, 0,20);
  16.         $lekerdezes = mysql_query("SELECT * FROM tag where nev = '$nev' and jelszo = '$jelszo'");
  17.         $vanelekerdezes = mysql_num_rows($lekerdezes);
  18.         if ($vanelekerdezes==1)//Ha van ilyen felhasználónév, jelszó páros
  19.         {
  20.                 session_register( "nev" );
  21.                 $time = time();
  22.                 $frissit=mysql_query("UPDATE tag SET utlog='$time',aktiv = NOW() WHERE nev = '".$_POST[nev]."'");
  23.         $on=mysql_query("SELECT nev,aktiv FROM tag WHERE nev='".$_POST[nev]."',aktiv>date_sub(now(), INTERVAL 2 hour) ORDER BY aktiv ASC");
  24.  
  25.                                 header("Location: log.php");
  26.         }else{
  27.         print 'Rossz név és jelszó páros!<br>';
  28.         print '<form action="log.php" method="post">Név:<input type="text" name="nev" size="25"><br>Jelszó:<input type=password name="jelszo" size="25"<br><input type="submit" value="Belépés"><br></form>';
  29.         }
  30.  
  31. }else if (session_is_registered(nev)){
  32.                 print "<b>Üdvözöllek ".$_SESSION['nev']."!</b><br><a href=log.php?cmd=kilep>Kilépés</a><br><br>";
  33.                                         include("lap.php");
  34.                                         }
  35.         else {
  36.         print '<form action="log.php" method="post">Név:<input type="text" name="nev"></input><br>Jelszó:<input type=password name="jelszo"><br></input><input type="submit" value="Belépés"</input><br></form>';
  37. }
  38.  
  39.  
  40. ?>
  41. </body></html>
ez még működik.
A session_register helyére így kell beilleszteni?
... else if($_SESSION['nev']...
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Dagobert féle login
« Válasz #21 Dátum: 2010. június 12., 10:54:47 »
Szerintem már mondták neked, hogy az sql-ben a stringeket aposztrófba kell tenni.
session_registerre meg nincs szükség. Nem azért áll le hibával, mert kicserélted, hanem mert rosszul. De azt már nem mutatod / mondod, hogy hogyan.
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ő dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #20 Dátum: 2010. június 12., 10:28:46 »
Utolsó írásom óta vagy 3xr raktam újra a logint az "eredetit" és elvégezve a módosítgatásokat még véletlenül sem akar menni vagy a loginnál írja ki hogy helytelen jelszó és név vagy mint most is , még regelni nem hajlandó. Ha a reg sikeres is most leáll a következő hibával:

Sikeres regisztráció!You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@wastecity.darktech.org, 2010-06-12 10:21:02, 1276330862)' at line 1

Ami elsőre feltünik nekem is hogy az emailcím első fele hiányzik.
Továbbá volt olyanis tegnap hogy beeresztett, de üres lapot kaptam, most ez a fele is megy...
A session_register dolgot meg nem tudom kicsrélni mert akkor ott is hibát generálva leáll.
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #19 Dátum: 2010. június 11., 14:29:37 »
Az egyértelmű hogy nem használok ékezetes változóneveket! (ez az ősidők óta így van jól.)
mostmár a belépés után még az üdvözlés sem jelenik meg vmit elbuheráltam már +int!  :mad2: :doh:
Jobban oda kéne figyelni hogy mit és mikor csinálja a gép talán!  :confused:
Leellenörzök még1xr mindent!
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető tbence

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 1.131
    • TBence.hu
Re: Dagobert féle login
« Válasz #18 Dátum: 2010. június 11., 14:22:29 »
És az sem árt, ha figyelsz az ékezetes változókra. :)

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Dagobert féle login
« Válasz #17 Dátum: 2010. június 11., 14:19:34 »
Keve ez nem egészen korrekt. Ha így adod át a tömb elemeit akkor nem lehet lekérdezni név alapján a mezőket. Ha meg kell a név, akkor nem kell ciklus rá. Ha asszociatívan van lekérdezve a rekord, akkor csak a rekordot kell egy az egyben átadni a session user változónak.

De egyébként ezt a nem jön át dolgot még mindig nem értem.
Egyszerűen létezem, és lézengek a Földön,
mint idióta szellem, kinek kastélya a börtön.

Elérhető Keveqiah

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 2.332
  • Kisb
    • Keveqiah
Re: Dagobert féle login
« Válasz #16 Dátum: 2010. június 11., 13:21:59 »
sessionbe lementheted az összes adatot a felhasználóról, mikor belépett, az a legtisztább és utána ebből elérsz mindent.
Pl:
Kód: PHP
  1. $lekérdezés = mysql_query ()
  2. foreach ($eredmények_tömb as $mezok)
  3. {
  4.   $_SESSION['user'][] = $mezok;
  5. }
  6.  
  7. // lekérni meg pl
  8. $_SESSION['user']['id']
  9. $_SESSION['user']['nev']
  10. $_SESSION['user']['regtime']
  11. //bla bla
  12.  
"Gonosz vagyok. Ez ugyebár nem hit dolga."
"Egy ember halála tragédia, ezrek halála statisztika."

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #15 Dátum: 2010. június 11., 13:16:05 »
Az a bajom hogy a bejelentkezett usertől az id, a címzettnél meg a név nem megy át, valahogyan ellenőriznem kéne hogy ne  önmagamnak küldjek PM-et.
most vagy visszakeresést csinálok az adatbázisban a meglévő adatok alapján vagy session-ban vagy coockie-ban el kell tárolni azt is.
a belépő oldalon a nevet helyeztem sessionba. emiatt alakulhatott ez a gond.
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Dagobert féle login
« Válasz #14 Dátum: 2010. június 11., 11:43:13 »
nem jön át
Mondta Pély Barnabás :D

De nem értem mi kell. Név eleve nem is kell a küldésnél csak id. És amikor lekérdezed az adatbázisból az üzenetet, akkor fogod lekérdezni hozzá a nevet is sql join -nal. 
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ő dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #13 Dátum: 2010. június 11., 11:32:13 »
A login mostmár rendesen megy viszont ezt nem tudtam megfelelően behelyettesíteni:
Kód: PHP (brief)
  1. $_SESSION['session'] = "ertek";
  2.  

De nem foglalkoztam vele én nekifogtam a PM küldőnek jelenleg nem kapok vissza értéket.
a touser egy ID ad tovább viszont a név már vele nem jön át, arra gondoltam hogy visszakerestetek az ID alapján de vmi egyszerűbb megoldás kéne,
A "feladó" neve az átjön hisz ő lépett be, ill. az ő neve szerepel a sessionban. viszont csak a neve, és az az érzésem hogy a többi értéknek is kéne tároló.
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #12 Dátum: 2010. június 10., 19:10:06 »
Az a bibi talán hogy amikor kilépek visszamegy a log.php-hez viszont én az indexhez szeretném hogy menjen, hogyan lehet ezt beállítgatni?
Sikerült már belépnie valamelyikőtöknek?
Már 7en "vagyunk" mint a gonoszok.
És ami még jobban megdobja a hibák sámát és át kell miatta szerkesztgetni, az az amikor a session/cookie lejár hogy automatikusan kidobjon a login részre.
illetve egy frissítés során.
Lehet a belső oldalra teszek vmi szövegküldőt, hogy haszna is legyen  ;)
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Elérhető Keveqiah

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 2.332
  • Kisb
    • Keveqiah
Re: Dagobert féle login
« Válasz #11 Dátum: 2010. június 10., 18:55:39 »
Egy egyszerű kiléptetés

Kód: PHP
  1. <a href=valami.php?page=logout >Kilépés</a>
  2.  
  3. // Kijelentkezési kérelem
  4. if(isset($_GET['page']) && $_GET['page']=="logout")
  5. {
  6.         unset($_SESSION);
  7.         session_destroy();
  8.         session_regenerate_id();
  9.         header('Location: http://'.$_SERVER['SERVER_NAME']);
  10.         exit();
  11. }
  12.  
"Gonosz vagyok. Ez ugyebár nem hit dolga."
"Egy ember halála tragédia, ezrek halála statisztika."

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #10 Dátum: 2010. június 10., 18:46:32 »
Esetleg szét kéne szednem a log.php-t és külön kilépő és belépőt írni?
vagy a regisztrációt kéne külön helyre? mit gondoltok? Az "online" rész működik nálatok is?
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #9 Dátum: 2010. június 10., 18:40:18 »
Nekem nem jelent meg az előbb a belépős része.
DE ha ilyen van:
http://merlyn.homeip.net/test5/log.php
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető ThompsoN

  • Törzstag
  • **
  • Hozzászólások: 555
  • ThompsoN
Re: Dagobert féle login
« Válasz #8 Dátum: 2010. június 10., 18:38:10 »
Amikor be akarok lépni, nekem hibás jelszót ír ki.
ThompsoN

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #7 Dátum: 2010. június 10., 18:33:48 »
OK, megtörtént! Még vannak gondok de ehhez ezt látni kell!
http://merlyn.homeip.net/test5/

Elsősorban pl. hogyan tudok visszamenni egy korábbi oldalra ha mondjuk a  session lejárt?
És az hogyan tudom meg akadályozni hogy NE 1xre akarjon regelni és belépni? másik változót alkalmazak vagy azonosító a formoknak?
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Elérhető Keveqiah

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 2.332
  • Kisb
    • Keveqiah
Re: Dagobert féle login
« Válasz #6 Dátum: 2010. június 10., 18:29:17 »
Igen, mivel felesleges átadni az értéket egy változónak és azt a változót vizsgálni, ha tudod közvetlenül is vizsgálni.
"Gonosz vagyok. Ez ugyebár nem hit dolga."
"Egy ember halála tragédia, ezrek halála statisztika."

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #5 Dátum: 2010. június 10., 18:27:25 »
Keveqiah! Itt az utsónál gyakorlatiklag helyettesítsem be?

Kód: PHP (brief)
  1.                 $szam = mysql_num_rows($nevegyez);
  2.                 $szam2 = mysql_num_rows($mailegyez);
  3.                 if ($szam == 0 ){
  4.                 if ($szam2 == 0 ){
  5.  

Igen, a többit kijavítottam!
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Elérhető Keveqiah

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 2.332
  • Kisb
    • Keveqiah
Re: Dagobert féle login
« Válasz #4 Dátum: 2010. június 10., 18:14:24 »
Aposztrófok (sok helyen)
Kód: PHP
  1. $_POST[jelszo] != $_POST[jelszo2]
  2. //.....
  3. $_POST['jelszo'] != $_POST['jelszo2']
  4.  

Kevesebb sor. :)
Kód: PHP
  1.         if (mysql_num_rows($nevegyez) == 0 ){
  2.         if (mysql_num_rows($mailegyez) == 0 ){
  3.  
"Gonosz vagyok. Ez ugyebár nem hit dolga."
"Egy ember halála tragédia, ezrek halála statisztika."

Nem elérhető ThompsoN

  • Törzstag
  • **
  • Hozzászólások: 555
  • ThompsoN
Re: Dagobert féle login
« Válasz #3 Dátum: 2010. június 10., 18:14:19 »
Egy két kisebb hibát vettem észre.
Az első, az tulajdonképpen nem hiba, hanem jó tanács. SESSION-t ne a session_register() fv.-el regiztrálj, hanem így.
Kód: PHP
  1. $_SESSION['session'] = "ertek";
  2.  
Azért így, mert a session_Register() már nem támogatott. (Azt hiszem PHP 5.3-tól.)

A másik hiba, ami már tényleg az, az az hogy a log.php-ban konstansként próbálod az értéket átadni a függvénynek, holott az string.
Kód: PHP
  1.  
De ez a függbény sem támogatott. Én így szoktam csinálni.
Kód: PHP
  1. if(isset($_SESSION['session']))
  2. {
  3. //...
  4. }
  5.  

Még egy hiba van, az pedig a html-ben. Olyan, hogy </input> nincs. Az inputnak nincs zárótagja. Az utolsó input, pedig nem volt lezárva.
Kijavítva.
Kód: HTML
  1. <form action="log.php" method="post">Név:<input type="text" name="nev"><br>Jelszó:<input type=password name="jelszo"><br><input type="submit" value="Belépés"><br></form>

Első ránézésre mást nem találtam.:) Remélem segítségedre lesz.:)
ThompsoN

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Re: Dagobert féle login
« Válasz #2 Dátum: 2010. június 10., 18:09:44 »
A regisztrációs fájlnál van 1 kis gibanc amit felfedeztem:
nem tud még az "aktiv" mezőről és emiatt panaszkodik, de van rá megoldás!
A 31-es sor után szúrjuk be az '$aktiv' kezdetűt..
33as sort kell kicsit módosítani:
Kód: PHP (brief)
  1. $aktiv=date('Y-m-d H:i:s',time());
  2. $parancs = mysql_query("insert into tag(nev, jelszo, mail, aktiv, utlog) values ( '$nev', '$jelszo', '$mail','$aktiv','$reg' )");
  3.  

Egy alapértelmezett értéket hoz lérte ami lehetne akár a regisztráció ideje is.
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)

Nem elérhető dagobert

  • Tag
  • *
  • Hozzászólások: 116
Dagobert féle login
« Válasz #1 Dátum: 2010. június 10., 17:45:09 »
A tanácsot megfogadva létrehozom a témát hogy ne szemeteljek össze vissza.
Ez a login nagyon egyszerű de annál több fejtörést okoz.  :knuppel:
Szóval a lényeg: a login 3 fájlból áll:
-config.php (ez tartalmazza a beállításokat mint a mysql-hez tartozó hozzáférés adatait)
-reg.php  (ez tartalmazza a regisztrációt végző scriptet)
-log.php (a belépésért felel)
Ezeket ugyan egy cikkből szedtem le és a saját igényeimnek terveztem  módosítani.
A 'config.php' forrása:
Kód: PHP (brief)
  1. <?php
  2. $dbuser=".....";
  3. $dbpasw="....";
  4. $base="bármi";
  5. $host="localhost";
  6. // 3600*h*nap 1nap=24h!
  7. $timeout=3600*8;
  8. $conn=mysql_connect ($host,$dbuser,$dbpasw);
  9. mysql_select_db($base,$conn);
  10. ?>
  11.  
A timeout egyenlőre nem megy az most fölös.

reg.php tartalma:
Kód: PHP (brief)
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  4. </head>
  5. <body>
  6. <?php
  7. include ("config.php");
  8. print "<form method=post action='$php_self'><br>";
  9. print "Név:<input type=text name='nev'><br>";
  10. print "Jelszó:<input type=password name='jelszo'><br>";
  11. print "Jelszó újra:<input type=password name='jelszo2'><br>";
  12. print "E-mail cím:<input type=text name='mail'><br>";
  13. print "<input type=submit value=Regisztráció></form><br>";
  14.  
  15. if (isset($_POST[nev])){
  16.         if ($_POST[jelszo] != $_POST[jelszo2] ){
  17.                 print "Nem egyezik meg a két jelszó!";
  18.         }else{
  19.                 $nev = htmlspecialchars($_POST[nev]);
  20.                 $mail = htmlspecialchars($_POST[mail]);
  21.                 $nevegyez = mysql_query("select * from tag where nev = '$nev'");
  22.                 $mailegyez = mysql_query("select * from tag where mail = '$mail'");
  23.                 $szam = mysql_num_rows($nevegyez);
  24.                 $szam2 = mysql_num_rows($mailegyez);
  25.                 if ($szam == 0 ){
  26.                 if ($szam2 == 0 ){
  27.                  
  28.                          if ( $_POST[jelszo] != "" && $_POST[mail] != "" && $_POST[nev] != "" ){
  29.                                 $jelszo = md5($_POST[jelszo]);
  30.                                 $jelszo = substr($jelszo, 0,20);
  31.                                 $reg = time();
  32.                                 $parancs = mysql_query("insert into tag(nev, jelszo, utlog ,mail) values ( '$nev', '$jelszo', '$reg', '$mail')");
  33.                                 print "Sikeres regisztráció!";
  34.                         }else{
  35.                                         print "Nem töltöttél ki minden mezőt!";
  36.                         }
  37.  
  38.                 }else{
  39.                 print "Foglalt e-mail cím!";
  40.                 }
  41.                 }
  42.                 else
  43.                 {
  44.                 print "Foglalt név!";
  45.                 }
  46.         }
  47. }
  48. ?>
  49. </body></html>
  50.  
Ez tökéletesen megy.
És amivel a legtöbb probléma forrása, a log.php:
Kód: PHP (brief)
  1. <?php
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  5. </head>
  6. <body>
  7. <?php
  8. if ($_GET[cmd] == kilep){
  9. }
  10. if ( isset($_POST["nev"]) ){
  11.         include("config.php");
  12.         $nev = htmlspecialchars($_POST[nev]);
  13.         $jelszo = md5($_POST["jelszo"]);
  14.         $jelszo = substr($jelszo, 0,20);
  15.         $lekerdezes = mysql_query("SELECT * FROM tag where nev = '$nev' and jelszo = '$jelszo'");
  16.         $vanelekerdezes = mysql_num_rows($lekerdezes);
  17.         if ($vanelekerdezes==1)//Ha van ilyen felhasználónév, jelszó páros
  18.         {
  19.                 session_register( "nev" );
  20.                 $time = time();
  21.                 $frissit=mysql_query("UPDATE tag SET utlog='$time',aktiv = NOW() WHERE nev = '".$_POST[nev]."'");
  22.         $on=mysql_query("SELECT nev,aktiv FROM tag WHERE nev='".$_POST[nev]."',aktiv>date_sub(now(), INTERVAL 2 hour) ORDER BY aktiv ASC");
  23.                
  24.                                 header("Location: log.php");
  25.         }else{
  26.         print 'Rossz név és jelszó páros!<br>';
  27.         print '<form action="log.php" method="post">Név:<input type="text" name="nev" size="25"><br>Jelszó:<input type=password name="jelszo" size="25"<br><input type="submit" value="Belépés"><br></form>';
  28.         }
  29.  
  30. }else if (session_is_registered(nev)){
  31.                 print "<b>Üdvözöllek ".$_SESSION['nev']."!</b><br><a href=log.php?cmd=kilep>Kilépés</a><br><br>";
  32.                                         include("lap.php");
  33.                                         }
  34.         else {
  35.         print '<form action="log.php" method="post">Név:<input type="text" name="nev"></input><br>Jelszó:<input type=password name="jelszo"><br></input><input type="submit" value="Belépés"</input><br></form>';
  36. }
  37.  
  38.  
  39. ?>
  40. </body></html>
  41.  
Felhívták figyelmem hogy az input és a form tag-eknél nincs lezárás, ha találtok benne még olyat ne felejtsétek el lezárni én amit észrevettem lezártam.
Mint azt remélhetõen tudjuk, vaktában soha nem állunk neki programot írni. - ez a legizgalmasabb része a dolognak! :)