Aki webfejlesztőnek áll, általában milyen eszközöket kell ismernie/fog megismerkedni ami esetleg nem került elő otthon fejlesztések során? Gondolok itt a git-től elkezdve gulp-on át mindenre.
kb témánként 1 sort írok, előre írom azt, ami nekünk jobban bevált
verziókezelés: git, mercurial, guinak sourcetree, gondolom az svn megvolt projekt menedzsment: gitlab, redmine, taiga csomagkezelés: npm, bower js deployment cuccok: grunt, gulp nagyobb rendszer deployment: ez függ a rendszer nyelvétől, pl. capistranoval nem árt képben lenni webszerver: nginx, apacs, illetve külön témaként az ssl adatbázis: postgres, mysql, meg a különböző nosql nyelvek, pl. mongodb, illetve ezekhez guik: phppgadmin, phpmyadmin, genghis gyors elérésű "adatbázis": redis, memcache(d), redishez redis-commander adat szolgáltatás, kliens-szerver közti adatelérés: rest api, cors felhasználó, jogosultságkezelés: oauth2 javascript cuccok: nodejs / express, angularjs, jquery php keretrendszerek: symfony2, yii2 ruby on rails egyáltalán linux, minél mélyebben: csomagok, aliasok, mc, nano, sudo, su, screen, cron, ... távoli szerver cuccok: ssh, sftp, publik / privát kulcsok ha kell bármiféle frontend: photoshop, less, sass, bootstrap apróságok: json, yml, twig IDE-k: jetbrains termékek: phpstorm, webstorm túlélés: kávé, energiaital, xanax, minőségi fejhallgató, fokozott testmozgás
most így hirtelen ennyi, biztos van még kismilliárd illetve kb értem hogy miért kérded (új melóhelyen kezdesz, ugye?): szóval szerintem jó taktika lehet, hogy megnézel minél több webfejlesztő álláshirdetést neten, és amit több helyen is látsz leírva, és nem tudod, mi az, annak utánanézel szerintem egyébként a fent felsoroltakkal lesz jó nagy átfedés ezekben Utoljára szerkesztette: j0nNyKa, 2015.09.25. 19:44:43
Elég sok minden függ attól is, hogy milyen nyelvet használsz.
Pl npm alapvetően csak Javascript (nodejs inkább) világban van, Pythonban ott a pip, Haskellben a cabal, de szerintem minden nyelvnek van valami központosított csomagkezelője. Illetve pl nginx is ritkán jön elő, ha esetleg .NET világban mozogsz (max load balancernek), mert ott van nekik az IIS.
Igazából János mindent leírt ami fontos, projekt menedzsmenthez hozzá lehetne esetleg adni a tracot, az elég elterjedt. Illetve még hozzá lehet rakni az asszinkron feladat sorokat (jajj, ez fura magyarul), bár ez nem feltétlen webdev már (mi celery + rabbitmq-t használunk, de 0mq-t is dicsérik, illetve kb minden nyelvben van valami implementáció)
IDE-ket próbálgasd mi szimpatikus, illetve, ha mégis .NET-ről lenne szó akkor ott a web essentialst nagyon dicsérik, hogy elengedhetetlen.
húú a queue kezelés, background jobok az tényleg fontos téma, jól kihagytam, ja rabbitmq-server nem rossz, phpresque-t használjuk mostanság helyette, de ahogy írod, nyelvfüggő is, mihez milyen nyelvben vannak fasza libek mondjuk ami redis alapú, ahhoz lesz tuti
Hú ezek nagyon hasznos dolgok, köszi mindkettőtöknek
Igazából januárra lőttem be munkát, addigra azért képben akarok lenni, hogy ilyen helyeken miket szoktak használni. Nem akarok meglepődni, se azt mondani, hogy fogalmam sincs ha az alábbiak közül megemlítenek valamit, nagyon alap dolgokkal képben akarok lenne. "Éles helyzet"ben úgyis majd elég gyorsan beletanul az ember a dolgokkal, de jó lenne, ha nem tök0 tudással fognék ezekbe bele.
Jól látom az egyik legfontosabb maradt ki a csapatmunkához kötődő dolgok közül? Tesztelés, tesztkörnyezetek? :)
első hármat használjuk mi is, egy .net alapú SaaS vállalati szoftvernél.
szerintem amúgy totál felesleges ennyi mindennek utánajárni, tényleg meg kell nézni egy tucat álláshirdetést, ami érdekes, és abból ki lehet bogozni, hogy mire lesz szükség. (például szerintem egy git alapú verziókövető alkalmazást ismersz, az bőven elég, ha mást használnak, akkor is el kell fogadják, hogy tudod mi ez az egész, és majd tizenöt perc on-the-job traininggel megoldják. más esetekben meg sokszor nagyjából mindegy, hogy csak hallottál már róla, vagy mélyebben foglalkoztál már vele: például hiába értek az IIS meg MS-SQL adminisztrációhoz, job descriptionből fakadóan nem nyúlhatok ilyesmikhez, felesleges lett volna megtanulni.)
Van egy nagy adatbázis, amiből szűrni kellene. Az adatbázisban vannak borvidékek, település nevek, borfajták, szőlőfajták stb stb. Úgy nézne ki, hogy a user majd szépen bepipálja, hogy milyen adatokat szeretne látni, mert lehet, hogy nem érdekli más, csak a csopaki borvidék, és az olaszrizling pl. Lenne kb 6-8 féle szűrési lehetősége. Gondoltam, hogy amit bepipált, annak az értékét elmenteni a adatbázisba, és onnan behúzni. pl filter_borvidek oszlopba: '%csopaki%', filter_borfajta: '%olaszrizling%' (hogy a példánál maradjunk). aztán jön ez a szépség:
//ide jön majd a user szűrése adatbázisból...
$borvidek = "'%csopaki%'";
$pince = "";
$telepules = "";
$szolofajtak = "";
$borfajtak = "'%olaszrizling%'";
$sql = "SELECT * FROM borutak ";
if ($borvidek) {
$sql .= "WHERE borvidek LIKE $borvidek ";
}
if ($pince) {
if ($borvidek) {
$sql .= "OR pince LIKE $pince ";
} else {
$sql .= "WHERE pince LIKE $pince ";
}
}
if ($telepules) {
if ($borvidek || $pince) {
$sql .= "OR telepules LIKE $telepules ";
} else {
$sql .= "WHERE telepules LIKE $telepules ";
}
}
if ($szolofajtak) {
if ($borvidek || $pince || $telepules) {
$sql .= "OR szolofajtak LIKE $szolofajtak ";
} else {
$sql .= "WHERE szolofajtak LIKE $szolofajtak ";
}
}
if ($borfajtak) {
if ($borvidek || $pince || $telepules || $szolofajtak) {
$sql .= "OR borfajtak LIKE $borfajtak ";
} else {
$sql .= "WHERE borfajtak LIKE $borfajtak ";
}
}
// echo $sql;
// die();
ez működik is remekül, de eléggé ronda. meg mondjuk 10-20 féle szűrésnél elég hosszan kellene már írni a feltételeket...
szóval van ennél valami okosabb megoldás, amit nem tudok, vagy maradjon ez? Utoljára szerkesztette: pixxel, 2015.10.09. 10:27:32
egyreszt ez lehet sokkalsokkalsokkalsokkalsokkal egyszerubben, masreszt huzzal be a projektbe egy doctrine-t, azzal lehet franko query-ket buildelni
de egyebkent a kod elejen megnezed hogy hany fele szures erkezett, ha 0, akkor ugye a SELECTnel keszen vagy, ha egy, akkor arra az egyre raereszted a WHERE xy LIKE xy -t es kesz vagy, ha egynel tobb, akkor meg az $sql valtozod vegere odacsapod a WHERE szot, es a szureseket osszefuzod OR -ral
ezen az egeszen nagyon sokat egyszerusitesz, ha a szuro formbol tomb jon / tombot epitesz, azt akkor countolni is tudod, meg implode-dal osszerakni a query stringet az OR-os feltetelekbol
ilyen hirtelenpelda:
//ide jön majd a user szűrése adatbázisból...
$szuresek = $_POST['szuresek'];
/* mondjuk ez a tomb erkezett (vagy pakoltad ossze) a formbol:
array(
'borvidek' => '%csopaki%',
'borfajtak' => '%olaszrizling%'
);
*/
$sql = "SELECT * FROM borutak";
if (count($szuresek) >= 1) {
$sql .= ' WHERE '; // ezen a ponton $sql = 'SELECT * FROM borutak [b]WHERE[/b] '
$sql .= implode(' OR ', array_map(function ($v, $k) { return $k . ' LIKE ' . $v; }, $szuresek, array_keys($szuresek))); // ezen a ponton $sql = 'SELECT * FROM borutak WHERE [b]borvidek LIKE %csopaki% OR borfajtak LIKE %olaszrizling%[/b]'
// ez mukodik csak egy darab szures feltetelre is, meg tobbre is
}
$sql .= ';'; // akarmi tortent, a vegere kell a ; az $sql stringnek, es kesz is vagy
echo $sql; // 'SELECT * FROM borutak WHERE borvidek LIKE %csopaki% OR borfajtak LIKE %olaszrizling%;'
die();
if($_POST['mentes']==1){
mysql_qury("UPDATE `users`
SET `alapertelmezett_szurok` = '".mysql_real_escape_string(serialize($szurok))."'
WHERE `USERID` = '$beleptetettuseridje' ");
} elseif(!is_set($_POST['borfajtak'])&&!is_set($_POST['pince'])&&
!is_set($_POST['telepules'])&&!is_set($_POST['szolofajtak'])&&!is_set($_POST['borfajtak'])) {
$alapertelmezett_szurok_sor = mysql_fetch_array(mysql_query("SELECT `alapertelmezett_szurok`
FROM `users`
WHERE `USERID` = '$beleptetettuseridje' "));
$szurok = @unserialize($alapertelmezett_szurok_sor['alapertelmezett_szurok']);
}
foreach($szurok as $key=>$value){
if ($szurosql) $szurosql .= " OR ";
$szurosql .= "`$key` LIKE '%".mysql_real_escape_string($value)."%' ";
}
$sql = mysql_query("SELECT * FROM `borutak` ".(($szurosql)?" WHERE ".$zurosql:"")." ") or die(mysql_error());
A szűrő formba tennék egy mentés hidden változót vagy egy checkboxot, hogy lementődjön-e a szűrő, ha ez a változó értéke egy, akkor elmentődik a választása az users tábla alapertelmezett_szurok oszlopába, ha nincs kitöltve egy szűrő se, akkor kiszedi az users táblából az alapértelmezett szűrőt és azt rakja ki, ha ki van töltve bármelyik szűrő az űrlapon, akkor az alapján fog szűrni, ezután kialakítja az sql-t a szűréshez, és lekérdezi. Utoljára szerkesztette: bracsek, 2015.10.10. 11:39:34
és most oldd meg 150 fajta szűrő feltételre :) én kész vagyok, 23 sor lett (kommentekkel), lásd lentebb Utoljára szerkesztette: j0nNyKa, 2015.10.10. 16:46:00
Szerintem 2015-ben gyászos SQL-t használni, keressetek valami normális ORM-et :(
Sziasztok valaki meg tudja nekem mondani, hogy mi annak az efektnek a neve ami a haternel van alkalmazva, hogy gorgetesnel mozog a hater is? A kovetkezo oldalon
http://demo.qodeinteractive.com/eden/
Nekem nem tölt be az oldal rendesen, de ilyenre gondolsz?
Sziasztok, egy erdekes problemaba futottam. Probaltam a weboldalamon kulonfele boxokon :before pseudo-class-t alkalmazni es ezt a hibat generalja: http://jsfiddle.net/tm8mrnLv/ Mi okozza, hogy az adott divben, melyen a :before pseudo-class van minden inaktivva valik? Koszonom.
javitva, buttonra kell position relative egyébként csendben jótanács: tökjó hangzatos szavakat használsz, de azok helyett érdemes inkább gyakorolni, sokat, aztán gyakorolni mégtöbbet :)
Mint irtam, ez csak teszt. Elesben nem egy atlatszo semmi, vagyis az de tovabb van formazva es az adott div korul egy szaggatott keretet hoz letre. A tesztben csak a mukodes van szemleltetve nem a style. A z-index: -1 nem megoldas mert eltunik a keret es nem lathato. Jol erzem, hogy mas megoldas nincs erre a problemara?
oh, negymillio megoldas van, ami szebb, es jobb pl. egy class, ami barmi kore rak paddingot, meg bordert? es amire akarod ezt a fura utomegoldast, arra rarakod ezt a classt?
Ez nem hiba, ez így kell működjön, a gomb felé tettél egy réteget, ezzel el takartad a gombot, ha position absolute segítségével több réteget egymásra pakolsz ott is a legfelső amire az egér eseményei hatnak, a többi csak akkor látszik ha a felette lévő részek átlátszók vagy áttetszők, illetve a kattintás sem fut hosszan az egészen, ha mindenképp ilyent akarsz csinálni, akkor old meg javascripttel és position absolute-segítségével, és a felső rétegre akkor tudsz tenni event kezelőt. A before-segítségével hozzá adott elem nem része a DOM strukturának nincs HTMLElementNode-ja se, így nem lehet rá event kezelőt sem tenni.
Ha két egymásba ágyazott elemet találsz, akkor megoldható úgy, hogy nem keretet teszel rá, hanem az egyik elemre teszel before és afterrel egy egy egy pixeles oszlpot a két szélére, és a másik elemre teszel before és after segítségével egy egy sort fent és lent, és ebből a négy részből áll össze a kereted, ebben az esetben a benne lévő részek elérhetőek maradnak az egér számára.
A döntés hogy melyikkel oldod meg az attól függ, hogy módosíthatod-e a html-t ha igen akkor rakj rá egy sima divet és adj neki classt, arra rakd a keretet, ha mindenképp hacker megoldás kell, akkor javascript a megoldás, ha meg csak gyakorolni akarsz akkor érdemes ezt a másodszor felvázolt rendszert is megpróbálni ez esetben a div#contacts:before div#contacts:after div#contacts table:before div#contacts table:after
lenne a nyerő, a div relativ poziciója fog hatni a táblázat before és after elemére is, így a méretek nem fognak problémát okozni (elméletileg :)) ).
Nahhh igy mar vilagos, hogy rossz oldalrol kozelitettem meg a dolgot. Koszonom a tippeket, megprobalkozom veluk, gyakorlasnak jo lesz es a vegen meg vmi jo is kisulhet belole. Koszonom mindenkinek az utmutatast.
Üdv!
Megint bénázok... Szóval adott egy class, azon belül néhány funkció. Hogy tudom megoldani azt, hogy ha egy adott function-on belül egy feltétel elhasal akkor a túloldalon hiába van meghívva a következő function (jelen esetben registerUser()) akkor ott meg is akadjon és ne futassa azt le?
Hiába írok be két különböző értéket a két jelszó mezőbe, akkor is beregisztrálja a usert. Mit nézek be már megint ilyen csúnyán? :) Van egy olyan sejtésem, hogy az a die() dolog az nem oda való. Próbáltam exit()-et is de ugyanúgy lemegy. [Ha más egyéb marhaságot láttok benne akkor ugassatok le nyugodtan..:D]
Az a die() nem tudom mit csinál PHP-ban, de szerintem nézz utána a kivételeknek, azokkal szépen meg lehetne ezt oldani. Sőt igazából a register userben csinálnám az ellenőrzéseket az osztályon belül.
AngularJS: Egyik típusú oldalnál, vannak adatok amik szépen betöltődnek, egy kép csak valamivel később, mivel több időt igényel, mire betöltöm (data:img..). Böngészőben tesztelem: ha egyik másik viewról váltok az előbb leírt oldalra, akkor a szövegek meg minden betöltődik, de a kép nem. Ha F5 el frissítek, akkor 1mp után megjelenik a kép. (timeout, http, 1000, de ha duplájára állítom akkor sem tölti be az oldalra navigáláskor). Ez miért lehet? Jó lenne ha az oldalra navigáláskor valahogy be lehetne tölteni a gépet, mobilon nem lesz F5, ami frissítené az oldalt, csak hogy megjelenjen egy kép is.
csak kivettem a timeoutot és jó lett O.o Utoljára szerkesztette: Jim Morrison, 2015.11.04. 19:33:36
that escalated quickly
ilyenekre az szokott lenni, hogy egy scope változót true-ra állítasz, ha minden promise megérkezett, és csak akkor jeleníted meg ng-show-val vagy ng-iffel a contentet, ha az a változó true
Köszi, ha legközelebb ez nem jönne be, majd kipróbálom :) Mondjuk következő lépés a placeholderre kattintás, majd arra kép betöltés jön. jQueryvel nem lenne gond, de most gondolkodóba estem, hogy itt hogy jön össze :) /ha van valami tuti tipp jöhet, de még én úgyis utána nézek, de azért leírtam ~~
valami tömbbe belerakod a placeholdereket, meg a hozzájuk tartozó képek útvonalát, és a template-ben meg ng-show -zol meg ng-hide-olsz meg ng-clickelsz
Kéne nekem egy Accept/Decline gomb + hozzá szöveges magyarázat. Erre van valakinek ötlete hogyan lehetne megcsinálni JS nélkül?
Jelenleg úgy van, hogy 2 formban van a 2 gomb, accept gombnál van egy hidden input ami jelzi, hogy accept, decline-nál pedig egy textarea a szöveggel, mindkettő form action-je ugyanoda mutat. A probléma ugye az, hogy, ha az accept formba is akarnék textarea-t rakni akkor 2 lenne az oldalon. Egyetlen workaround ami eszembe jut, hogy nem accept/decline hanem egy select-ben állítja, hogy mi akar vele, de jobb lenne 2 gombbal és 1 textarea-val.
Kéne egy Accept/Decline gomb + egy textarea amibe bele írom az okot, hogy miért fogadtam/utasítottam el, JS nélkül. A 2. bekezdés az az ami most van, csak ugye ott nem lehet mind2-nél textarea, csak az egyik formban.
PHP Exception-nel szeretném megoldani, hogy egy általam meghatározott hibaüzenetet írjon ki a kód ha valahol elhasal de nem működik. A poén az az, hogy egyszer már pengén megoldottam de volt egy rendszer reinstall és a hülye fejemmel elfelejtettem lementeni most meg amit megírok az sehogy se jó.
Ha működik akkor kiírja, hogy Sikeres csatlakozás de ha nem (mert pl. az adatbázis nevét átírom djdkjfsfdsdfdsaf-re akkor nem azt írja ki, hogy "Hiba: Sikertelen csatlakozás" hanem a standard üzenetet kapom: "Hiba: SQLSTATE[42000] [1049] Unknown database 'djdkjfsfdsdfdsaf'". MIÉRT???!!! :D Utoljára szerkesztette: Blum, 2015.11.10. 09:48:37
Az alapján amit leírsz a PDO nem null-t ad vissza, hanem Exceptiont dob, ha nem sikerül csatlakozni. Doksi alapján is.
Ennyi erőből a komplett try/catch témát eldobhatnám :)
#22169: Áháá, szóval a PDO mindenképp a saját hibaüzenetét adja vissza, akkoris ha megmondom neki, hogy az általam meghatározott Exception-nel szálljon el?
Komolyan, tegnap előtt olyan faszán sikerült megoldanom..csak nemtudom, hogy hogyan :( Utoljára szerkesztette: Blum, 2015.11.10. 10:32:11
Az uriember nem a kivetel altal hordozott uzenetet akarja kiiratni hanem egy altalanos uzenetet. Ez ertheto is hiszem a felhasznaloknak nem biztos, hogy PDO altal dobalt hibauzeneteket kell latnia.
Hm? A PDO nem ad vissza semmit, hanem dob egy kivételt, amit elkapsz a catch-ben, kiolvasod belőle az üzenetet és kiírod. A Sikertelen csatlakozás sorod le se fut, mert már előtte Exception-t dob.
Illik ezt úgy csinálni, hogy a user lát egy Hiba feliratot vagy hasonlót (semmi köze hozzá, hogy mi a probléma az oldalon) és az exception üzenetét meg logolod.
Pont ezt szeretném megoldani, hogy a user ne lássa ezt a "csúnya" hibaüzenetet (gondolom biztonság szemponjából se valami jó megoldás, ez lenne az igazi indok) hanem egy általam meghatározott hibaüzenetet lásson. Vagy azt, hogy "sry, kapcsolódási hiba" vagy valami általános üzenetet ami az összes hibánál ugyanazt dobja ki. (<-- mondjuk ehhez lehetne írni egy külön Exception classt (??))
Ha azt szeretném, hogy a user az általam megírt üzenetet lásson és az "igazi" hibát egy külön, csak általam vagy más devek által olvasható text fájlba dobja át akkor azt hogy illenék megcsinálni? Utoljára szerkesztette: Blum, 2015.11.10. 12:18:19
Nézz utána, hogy kell PHP-ban logolni, biztos van valami framework/plugin/akármi, manuálisan appendelni egy fájlhoz nagyon fapados (nincs logrotate és társai).
Ez így működne rendesen? Lényegében azt szeretném megoldani, hogy a Magyarországról látogatókat automatikusan átirányítsa /hu-ra, a németeket /de-re a többit pedig /en-re. Végülis ha én most megnézem a weboldalt akkor pengén átdob /hu-ra. Ha pl. Hollandiából nézném meg akkor átirányítana /en-re? Hogy tudnám letesztelni? (Találtam értelmes ingyenes játszós hostingot, szóval nem a localhostnak kéne külföldinek hazudni magam)
Nem ip helyszín függő az accept-language, hanem böngésző (/oprendszer) függő, tehát a böngésző nyelvi beállításaitól függ, hogy a headerbe melyik nyelv kerül bele.
Értem, köszi! Többieknek is! Kicsit tovább kutakodtam és találtam egy működő megoldást (VPN-nel teszteltem), berakom ide is hátha valakinek jól jön majd.
<?php
/*
This PHP class is free software: you can redistribute it and/or modify
the code under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
However, the license header, copyright and author credits
must not be modified in any form and always be displayed.
This class is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This PHP class uses the PHP Webservice of http://www.geoplugin.com/ to geolocate IP addresses
Geographical location of the IP address (visitor) and locate currency (symbol, code and exchange rate) are returned.
See http://www.geoplugin.com/webservices/php for more specific details of this free service
*/
class geoPlugin {
//the geoPlugin server
var $host = 'http://www.geoplugin.net/php.gp?ip={IP}&base_currency={CURRENCY}';
//the default base currency
var $currency = 'USD';
//initiate the geoPlugin vars
var $ip = null;
var $city = null;
var $region = null;
var $areaCode = null;
var $dmaCode = null;
var $countryCode = null;
var $countryName = null;
var $continentCode = null;
var $latitude = null;
var $longitude = null;
var $currencyCode = null;
var $currencySymbol = null;
var $currencyConverter = null;
//use cURL to fetch data
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $host);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'geoPlugin PHP Class v1.0');
$response = curl_exec($ch);
curl_close ($ch);
} else if ( ini_get('allow_url_fopen') ) {
//fall back to fopen()
$response = file_get_contents($host, 'r');
} else {
trigger_error ('geoPlugin class Error: Cannot retrieve data. Either compile PHP with cURL support or enable allow_url_fopen in php.ini ', E_USER_ERROR);
return;
}
return $response;
}
function convert($amount, $float=2, $symbol=true) {
//easily convert amounts to geolocated currency.
if ( !is_numeric($this->currencyConverter) || $this->currencyConverter == 0 ) {
trigger_error('geoPlugin class Notice: currencyConverter has no value.', E_USER_NOTICE);
return $amount;
}
if ( !is_numeric($amount) ) {
trigger_error ('geoPlugin class Warning: The amount passed to geoPlugin::convert is not numeric.', E_USER_WARNING);
return $amount;
}
if ( $symbol === true ) {
return $this->currencySymbol . round( ($amount * $this->currencyConverter), $float );
} else {
return round( ($amount * $this->currencyConverter), $float );
}
}
function nearby($radius=10, $limit=null) {
if ( !is_numeric($this->latitude) || !is_numeric($this->longitude) ) {
trigger_error ('geoPlugin class Warning: Incorrect latitude or longitude values.', E_USER_NOTICE);
return array( array() );
}
AJAX-szalkapcsolatos kérdésem lenne. Vagy hát igazából nem..na mindegy :D
Szóval, azt szeretném megoldani, hogy az oldalon egy div tartalmát az oldal teljes frissítése nélkül tudjam változtatni. Ez már megvan oldva, frankón működik is DE: hogy tudom megoldani, hogy egy frissítés után (F5) az úgy is maradjon és ne ugorjon vissza az eredeti tartalomra. Lehetséges ez egyáltalán?
Tehát, van egy <div id="content"></div> amiben alapból van egy rakás dolog. Ha én rákattintok arra, hogy bejelentkezés akkor ebbe a divbe be is töltődik az amit kérek AJAX-szal (tehát ez működik), de ha lefrissítem az oldalt akkor vissza ugrik az eredeti tartalom. Értem, hogy ez alapból így működik és miért történik ez...de valahogy kilehet kerülni?
Valahogy el kéne tárolni az állapotot. Sütivel lenne talán a legegyszerűbb, azt látod kliens és szerveroldalon is. Vagy talán még egyszerűbb lenne, hogy ha katt után betöltődik a tartalom akkor átírod az url-t History API-val. (az alapján amit leírtál példát én a 2.-at választanám)
fontos, hogy ha másik eszközről loginolsz, akkor is megjegyezd? - ha fontos: tárold adatbázisban az adott userhez egy mezőben az állapotot - ha nem fontos: tárold ugyanezt localStorage-ben
bármelyik nyer, login után betöltöd a megfelelő helyről
Vagy én nem értem, hogy mit mondasz vagy te értettél félre :)
Nem azt szeretném megoldani, hogy a user státusza megmaradjon (tehát magáról loginról még nem beszélünk), hanem mondjuk ha én ebbe a divbe betöltök egy login formot (vagy akármit) akkor az egy F5 után is ott legyen és ne ugorjon vissza az eredeti tartalomra. Amit Cat linkelt History API-t az jónak tűnik csak nem tudom, hogy hogyan használjam fel.
itt a thing változóban van, amit be akarsz tölteni, én csak random választok egy stringet, gondolom érthető a példa Utoljára szerkesztette: j0nNyKa, 2015.12.14. 11:11:44
János ötlete akkor jobb, ha pl azt akarod, hogy a user maga szabja testre a saját oldalán, hogy mi hol van, az az 1 példa alapján amit leírtál nem biztos, hogy mit is akarsz pontosan :p
Amúgy én maradnék sütinél, azt ki tudod olvasni szerveroldalon is és alapból azt jeleníted meg amit akarsz, azzal, hogy betöltöd egyszer az oldalt, majd AJAX-szal bekéred a közepébe a dolgokat nagyon közel kerülsz egy AngularJS-féle felépítéshez.