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

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

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.