- ldave: New Game Blitz - 2025
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- erkxt: A Roidmi becsődölt – és senki nem szól egy szót sem?
- Hold - SW Heritage - Auto üzemmód
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- MasterDeeJay: Noname 1TB-os SATA SSD teszt
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Gurulunk, WAZE?!
- droidic: YouTube videók és playlistek letöltése GUI-alkalmazással
Új hozzászólás Aktív témák
-
oleslie
aktív tag
válasz
DeltaPower #12998 üzenetére
Na igen
Bár az én második megoldásom sem tökéletes (már rájöttem hol van benne a hüba), meghagyom annak megtalálását és kijavítását Dave-11 -nek -
oleslie
aktív tag
update (timelimit miatt nem megy a módosítás)
update players_table as player
set player.mana_level = player.mana_level+(floor((unix_timestamp()-player.last_manaupdate)/60)*2),
player.last_manaupdate=unix_timestamp()-mod(player.last_manaupdate, 60),
player.mana_level = IF (player.mana_level>100, 100, player.mana_level)egy sorral egészíteném ki a végén, így nem megy 100 fölé a szint.
-
DeltaPower
addikt
válasz
Tele von Zsinór #12995 üzenetére
Soak megoldása is kivitelezhető, sőt láttam már rá működő példát is. Külön lock kezelés se feltétlen kell hozzá, ha pl. meg van adva hogy 30 percenként (1800s) 50 mana töltődik, akkor:
UPDATE character SET mana=LEAST(max_mana, mana+((NOW() - last_mana_timestamp)/1800)*50), last_mana_timestamp=NOW() ...
szerk: oleslie: megelőztél, kb ugyanarra gondoltunk
-
oleslie
aktív tag
Miért kell túlbonyolítani cron-al, ami nem mindenhol elérhető?
Nem próbáltam ki a kódot, csak elméleti szinten pötyögöm beupdate players_table as player
set player.mana_level = player.mana_level+(floor((unix_timestamp()-player.last_manaupdate)/60)*2),
player.last_manaupdate=unix_timestamp()-mod(player.last_manaupdate, 60)Ebben a formában 60 másodpercenként 2 egységet kap, oszt' viszonthallásra.
Ezt egyszerűen beteszi az oldal elejére, így simán lefut, amikor vki lekéri az oldalt. -
Tele von Zsinór
őstag
válasz
Sk8erPeter #12993 üzenetére
maga az ellenőrzés miért lenne olyan nagy gond
Szerintem itt erre gondolt: Pistike rángógörcsöt kap, és egymás után tizenhét alkalommal kattint valamelyik linkre. Az adott oldalon olvasni kell a manát, és ekkor történik a növelés szükségességének ellenőrzése is. A számos egyszerre bejövő processt ütemezi az OS, ebből három véletlenül így jön ki:
- #1: aktuális érték olvasás
- #2: aktuális érték olvasás
- #3: aktuális érték olvasás
- #3: ellenőrzés, növelés
- #1: ellenőrzés, növelés
- #2: ellenőrzés, növelésSzóval mivel az olvasás-ellenőrzés-növelés nem atomi művelet, simán válthat közben az OS (jó eséllyel fog is). Ha szerencsétlen mód úgy jön ki, mint fenn, akkor van három processed, ami mind növeli, szóval rögtön eltelt másfél órád néhány másodperc alatt. Ezt lehet mondjuk lockolással elkerülni, de nem triviális feladat. Sokkal egyszerűbb cronból, ütemezve írni, és csak ott.
Persze ez a fenti helyzet egyszerűsítve van, sok függ a környezettől, szerverbeállításoktól, hogy használsz-e sessiont...
-
Soak
veterán
válasz
Sk8erPeter #12993 üzenetére
Az alapbol az, hogy linuxon a cron leggyakran 1 percenkent futhat le. (a konfigban a perc a legkisebb egyseg).
A masiknal pedig en epp a System_Daemon php daemonrol beszeltem ami ad egy elfogadhato alapot php alapu daemonok gyartasahoz.
-
Sk8erPeter
nagyúr
"Továbbá biztosítani kell, hogy ez esetben óránként (vagy akármikor) csak és kizárólag egyszer fusson le, ezt nem teljesen triviális jól megcsinálni."
Ezt nem igazán értettem. Miért, mi benne a bonyolult?"fölösleges minden egyes olvasási műveletnél lefuttatni az ellenőrzést, hogy kell-e frissíteni, tekintve, hogy az olvasások száma várhatóan sokkal nagyobb, mint az írásoké. Plusz ez web, itt több szálon történik a dolog, tehát lock-okat is kell alkalmazni, szóval tovább rontod az alkalmazásod teljesítményét."
Az írásra vonatkozó rész még okés, de maga az ellenőrzés miért lenne olyan nagy gond? Eleve az aktuális manna értékét ki kell olvasni, akkor még az utolsó írási művelet dátumát kiolvasni, majd aktuális dátummal összevetni minden, csak nem egy igazán erőforrás-igényes művelet. (Jó, ha nagyon akarom, ilyen alapon az aktuális dátum és idő lekérdezése miatt szükséges OS-szintű rendszerhívás is erőforrás-igényes.)
Hangsúlyozom, itt az ellenőrzéssel kapcsolatos aggályaidra reagáltam elsősorban, nem az írási műveletekre. Bár hozzáteszem, az ilyen szinten egyszerű félóránkénti (!) írás csak elég durva felhasználószámnál jelenthet szerintem gondot, szóval picit úgy érzem, ebben az esetben túl van parázva a dolog. Ha ötpercenkénti írási műveletekről lenne szó, akkor jogos.(#12990) Soak :
hogy a másik oldalhoz is szóljak
"> A cron pedig simán futhat akár 30 másodpercenként is.
Alapból nem, de nyilván megoldható."
Ezt hogy érted? Az adott script futtatása olyan időközönként fut, ahogy konfigurálod... Itt mi az, hogy "alapból"?"> Továbbá a cron az maga egy daemon, ami pont arra van, hogy megoldja ezt a problémát, minek erre fejleszteni egy másik daemont?
Fejleszteni nem kell, mert már megtették mások, ezért nem nehezebb semmivel mint egy cron job-ot beállítani. Ha már feltételezem a LAMP környezetet akkor miért ne? Sokkal jobban illeszthető a környezetbe és egyszerűbben is konfigolható. ( a futás gyakoriságától kezdve a kiépitett logolásig) ."
Másik daemont fejleszteni? Nem világos. Mire? Az időzített feladatok futtatására? Vagy nem vágom. -
cucka
addikt
Jah, épp ezért lehetne megoldani egyszerűen, hogy ha belovassuk akkor már a jó értéket jelentítsük meg
A cron lényege, hogy valamit időzítve futtasson, mondjuk jelen esetben egy írási műveletet. Ettől te még akárhányszor kiolvasod, a helyes értéket fogod kapni, a frissítés ugyanis nem az olvasások számától függ, hanem az eltelt időtől.épp ezért irtam, hogy el kell tárolni egy utolsó frissitést plusz egy mana/h-t és nem is kell frissiteni feltétlenül.
Lehet így is, csak fölösleges minden egyes olvasási műveletnél lefuttatni az ellenőrzést, hogy kell-e frissíteni, tekintve, hogy az olvasások száma várhatóan sokkal nagyobb, mint az írásoké. Plusz ez web, itt több szálon történik a dolog, tehát lock-okat is kell alkalmazni, szóval tovább rontod az alkalmazásod teljesítményét.
Van egy ütemezett feladat, ennek futtatására van standard módszer (cron). Miért kéne ehelyett egy bonyolultabb és lassabb megoldást alkalmazni? (Annak eldöntése, hogy kell-e frissíteni, az minden, csak nem atomi művelet, ezért kell gondolni a párhuzamosságra is)Alapból nem, de nyilván megoldható.
Ok, akkor 1 percenként, na.
Ha már feltételezem a LAMP környezetet akkor miért ne? Sokkal jobban illeszthető a környezetbe és egyszerűbben is konfigolható. ( a futás gyakoriságától kezdve a kiépitett logolásig) .
Miért, egy cron által meghívott php script miért nem illeszthető jól bele a környezetbe? -
Soak
veterán
A mana érték egy játékban sokszor frissül, ergo rengeteg olvasási művelet lesz.
Jah, épp ezért lehetne megoldani egyszerűen, hogy ha belovassuk akkor már a jó értéket jelentítsük meg (egy egyszerű matematikai müvelet és kész), nem lesz semmivel nagyobb terhelés, mert csak akkor írunk ha változás történik.
Továbbá biztosítani kell, hogy ez esetben óránként (vagy akármikor) csak és kizárólag egyszer fusson le, ezt nem teljesen triviális jól megcsinálni.
épp ezért irtam, hogy el kell tárolni egy utolsó frissitést plusz egy mana/h-t és nem is kell frissiteni feltétlenül.
A cron pedig simán futhat akár 30 másodpercenként is.
Alapból nem, de nyilván megoldható.
Továbbá a cron az maga egy daemon, ami pont arra van, hogy megoldja ezt a problémát, minek erre fejleszteni egy másik daemont?
Fejleszteni nem kell, mert már megtették mások, ezért nem nehezebb semmivel mint egy cron job-ot beállítani. Ha már feltételezem a LAMP környezetet akkor miért ne? Sokkal jobban illeszthető a környezetbe és egyszerűbben is konfigolható. ( a futás gyakoriságától kezdve a kiépitett logolásig) .
Persze vannak hátrányai is, meg előnyei is.
DeltaPower : Nem 30sec, hanem 30perc, igaz. Nem a sebesség miatt irtam feltétlenül, csak ha belegondolok, hogy a kérdező valószínűleg mit akar elégni akkor nem vagyok benne biztos, hogy 30percenként érdemes frissiteni. Mi van ha egy felbuffolt embernek 1 perc alatt megtellik? Tudom, hogy kicsit tovább gondoltam mint az alap kérdés, de ha már ugyis megnézzük mennyi a manna az adatbázisban éppenséggel frissitett adatot is vissza adhatunk, akcio után meg a jo adatot beirjuk.
-
cucka
addikt
Egyszerűbb talán, de jobb semmiképp.
A mana érték egy játékban sokszor frissül, ergo rengeteg olvasási művelet lesz. Továbbá biztosítani kell, hogy ez esetben óránként (vagy akármikor) csak és kizárólag egyszer fusson le, ezt nem teljesen triviális jól megcsinálni.
A cron pedig simán futhat akár 30 másodpercenként is. Továbbá a cron az maga egy daemon, ami pont arra van, hogy megoldja ezt a problémát, minek erre fejleszteni egy másik daemont? -
Soak
veterán
válasz
DeltaPower #12983 üzenetére
Nem lenne egyszerűbb akkor frissiteni mikor meg van jelenitve ? Kell egy aktuális manna érték, egy legutoljára frissités, egy növekedés/óra (vagy ami tetszik), felesleges egy cronjobot létrehozni, mert ennek real timenak kéne lennije, a cron meg nem arra való hogy 30sec-enként lefusson, akkor inkább daemon.
-
Dave-11
tag
válasz
lordjancso #12984 üzenetére
Aham, és ezt a cron jobot mi hívja meg?
-
lordjancso
senior tag
válasz
Dave-11 #12982 üzenetére
Én ezt a belépéskor vizsgálnám a helyedben.
Azt nem tudom, hogy mi a feltétele a "mana" növekedésnek, mikor "resetelődik" a töltődés (gondolok itt arra, hogy mondjuk a legutóbbi mana használat után 30 percenként nő 1-gyel a manád).
Ha így van, ahogy gondolom, akkor mindig mented, hogy mikor használt a játékos utoljára manát.
Belépéskor összehasonlítod ezt az időpontot a belépés idejével, megnézed, hányszor telt el 30 perc azóta, majd rögtön hozzáadod a mana töltődést.
Ha globálisan akarod csinálni, akkor esetleg írsz egy cron job-ot, amit 30 percenként meghívsz. -
DeltaPower
addikt
válasz
Dave-11 #12982 üzenetére
A kifejezés, amit keresel: cron job.
Megjelenítés: veszel egy divet, ami az életerő csík lesz, mondjuk 200 pixel széles, adsz neki háttérszínt. Ha nem teljes az életerő, akkor 200*(aktuális_életerő / max_életerő) pixel szélesre kell állítanod. Ezt berakod egy 200 széles, 1px borderes divbe, hogy látsszon, hogy hol van a max.
-
Dave-11
tag
Gondolom sokan ismertek ilyen böngészős játékokat, mint például The West, Bitefight, Battleknight, stb.
Már gondolkodtam rajta, de nem tudtam rájönni, hátha ti segíteni tudtok. Tudjátok van benne élet és mana. És ha ezekből vesztünk, mert mondjuk megsebeznek vagy képességet használunk, akkor az egy idő után vissza tölt. De azt hogyan? Tehát:
1. Hogyan tudnám megoldani, hogy az adatbázisomban a felhasználók életpontja mondjuk fél óránként nőjön, legyen most 50-el.
2. Hogyan tudom ezt kirajzoltatni? Tehát lenne egy csík, és kiszámolná, hogy meddig kéne feltölteni, az aktuális életpontoknak megfelelően? -
csepelball
tag
válasz
Sk8erPeter #12979 üzenetére
Köszönöm a segítségeket!
-
Speeedfire
félisten
válasz
Sk8erPeter #12978 üzenetére
Deklaráltam a ~/.ssh/config-ban, az adott hosthoz, hogy melyik rsa fájlt használja és egyből működött a dolog.
-
Sk8erPeter
nagyúr
válasz
csepelball #12974 üzenetére
Ez Drupallal egyszerűen* összekattintgatható, még scriptelned sem kell hozzá.
Létrehozol egy "Szolgáltatók" nevű content type-ot, a szálakba rendezett kommentelés innentől eleve biztosított, hozzáadsz tetszőleges mennyiségű űrlapmezőt (szolgáltatások listájához lehet, hogy taxonomy-t kell majd használnod, megvalósítástól függően; árak felviteléhez is megvalósítástól függő a megoldás), értékeléshez pedig a Fivestarnál nem nagyon ismerek egyszerűbben összeklattyogtatható értékelésre szolgáló modult.
Vagy biztos WordPress-szel is megoldható, azt nem ismerem.
De nem két perc, arra számíts. Ajánlott szakirodalom magyarul: http://nagygusztav.hu/drupal-7-alapismeretek.Szerk.:
*: kezdetben semelyik CMS nem egyszerű, SŐT. Nagyon nehéz az elején. De megéri legalább egyszer ráérezni az ízére, mert egész komplex oldalakat is akár "gyorsan" össze lehet hozni vele azután. Persze egy CMS mindig sokkal erőforrás-igényesebb lesz, mint egy erős, igényesen kódolt és használt framework. -
Sk8erPeter
nagyúr
válasz
Speeedfire #12972 üzenetére
Konkrétabban?
-
DanielK
addikt
válasz
csepelball #12974 üzenetére
Neked egy tartalomkezelő kell. Amit linkeltél, fizetős. Ezért fizetnél?
Ott a wordpress. -
RootRulez
félisten
válasz
csepelball #12974 üzenetére
Ezt már a Balázs gyerek megcsinálta telefonra.mod: Ja nem Balázs volt, hanem a haverja. A Barta lányának a pasija, mi is a neve?
mod: Megvan, Petinek hívják.
Szóval ezt már Peti megcsinálta telefonra...
ha jól tévedek...
-
futár
senior tag
válasz
csepelball #12974 üzenetére
Ez azért ennél bonyolultabbnak tűnik első hallásra.
-
csepelball
tag
Sziasztok!
Szeretnék készíteni egy összehasonlító oldalt, ahol pl szórakozóhelyeket hasonlítanék össze. Minden szórakozóhelynek lehetne felvinni mondjuk szolgáltatásait, árakat, stb. Mindenhez lehetne kommentelni és mondjuk lehetne értékelni is az adott szolgáltatást, vagy szolgáltatót.
Tudok ajánlani valamilyen scriptet rá? (php+mysql alapokon)
Amit én találtam: http://crowdvox.com/
Ehhez hasonlóra lenne szükségem.ha tudok még alternatívát ajánlani, akkor megköszönném!Üdv,
Laci -
DeltaPower
addikt
válasz
Speeedfire #12971 üzenetére
Tortoisegit telepítésnél megkérdezi, hogy a saját ssh kliensét használod, vagy openssh-t. [link] Nekem openssh-val soha nem sikerült működésre bírni, a sajátjával viszont simán betallózod neki a key-t és örömbódottá.
-
Speeedfire
félisten
válasz
Speeedfire #12971 üzenetére
Megoldva.
-
Speeedfire
félisten
válasz
Tele von Zsinór #12969 üzenetére
De a git-ben benne van elvileg az ssh-agent. Itt lesz amúgy a baj, azt írja hogy nem tud csatlakozni az agent-hez, holott az agent már fut...
A socketet mutatja, de ha tesztelni akarom az ssh -T -vel, akkor permission denied.
Illetve az ssh-add sem megy. -
Tele von Zsinór
őstag
válasz
Speeedfire #12963 üzenetére
Ha jól emlékszem, erre az a megoldás, hogy fusson a háttérben a pageant unlockolt kulccsal.
-
#68216320
törölt tag
Van egy PHP-m ami egy űrlapot jelenít meg. Több elemmel együtt van 2db Select benne, amik összefüggenek.
A helyzet:
A select1 településeket mutat, a select2 cégeket.
Ha kiválasztok select1-ben egy települést, akkor select2-nek már csak azokat a cégeket kellene felajánlania, amik azon a településen találhatóak.A feladat:
Oldal újratöltése nélkül szeretném megoldani.Nem kell feltétlen kód csak egy elmélet, hogy miként lehetne ezt megoldani?
-
RootRulez
félisten
válasz
Sk8erPeter #12965 üzenetére
Egyszer jelenne meg, amikor betöltik a főoldalt. Ha megoldható lenne, többé nem is ugrana fel (egy ideig)...
Meglesem a kódot.
-
Sk8erPeter
nagyúr
válasz
RootRulez #12961 üzenetére
Ne azt a leírást használd, ennél ezerszer korszerűbb megoldások is vannak már nagyon régóta. Ráadásul elavult kódot használ, és valszeg nem annyira könnyen konfigurálható, mint pl. ez: http://jqueryui.com/dialog/#modal. De ahogy DeltaPower is mondta, ez OFF topic, JavaScript topicba tartozna inkább. Aztán plusz tipp, hogy ne idegesítsd a felhasználóidat az össze-vissza ugráló popupokkal, mert szidni fogják az egyik hozzátartozódat.
-
RootRulez
félisten
Sziasztok!
Van annak módja, hogy megmondjam egy oldalnak, hogy milyen széles? Ebből a leírásból csinálok egy felugró ablakot és nem szeretném megadni, hogy hol jelenjen meg, azaz a "left" értéknek kéne dinamikusnak lennie.
Hogy pl.: a lap szélességének fele-a felugró ablak szélességének fele azaz épp középre bukkanjon fel a felugró.
Van erre vmi megoldás?
köszi!
-
Hege1234
addikt
válasz
Sk8erPeter #12959 üzenetére
okk
átlépek oda5mp woow egész sokáig bírtad
-
-
Hege1234
addikt
most ezt a hibát dobja ki pár mp után
viszont megjelenik mindkét oldalon -
Sk8erPeter
nagyúr
Hát pedig tévedsz, DeltaPower jól mondta, nem kell a v3-hoz API-kulcs. Itt röviden összefoglalják: [link]. Lényeg: 2-eshez még kötelező volt, 3-asnál NEM az.
De ha nem elég bizonyíték, itt van egy nagyon egyszerű példa, mindenféle API-kulcs használata nélkül: http://jsfiddle.net/aknYP/4/
itt találsz még párat...De hogy mire lehet jó az API-kulcs használata:
https://developers.google.com/maps/documentation/javascript/tutorial?hl=hu#api_key"Using an API key enables you to monitor your application's Maps API usage, and ensures that Google can contact you about your application if necessary. If your application's Maps API usage exceeds the Usage Limits, you must load the Maps API using an API key in order to purchase additional quota.
* Google Maps API for Business developers must not include a key in their requests. Please refer to Loading the Google Maps JavaScript API for Business-specific instructions.
[...]
By default, a key can be used on any site. We strongly recommend that you restrict the use of your key to domains that you administer, to prevent use on unauthorized sites. You can specify which domains are allowed to use your API key by clicking the Edit allowed referrers... link for your key."===
(#12949) futár :
"Ez egy idióta dolog"
Ezek fényében nem túl hiteles, hogy engem kritizáltál amiatt, hogy gagyinak/fosnak neveztem az általad korábban emlegetett kódot, amely iframe-használatot erőltetett (bár akkor még nem is láttunk kódot, csak ahogy bemutattad, az alapján nem volt túl meggyőző), itt viszont egy annál ezerszer komplexebb és alapvetően jól működő dologról van szó...
Azért kell új kulcsot beszerezni a 2-es változathoz is, mert történtek változások a Google-alkalmazások körül, azok nyilvántartásában, lett ez a konzolos dolog, amit be is linkeltél, a változtatásokhoz való adaptálás érdekében meg frissíteni kell a kulcsot.Egy oldalon én is API-kulcs használata nélkül jelenítem meg a térképeket a v3-as API segítségével (pontosabban Drupalban egy modul kódja jeleníti meg, de beregisztrált API-kulcs nélkül).
-
futár
senior tag
válasz
Hege1234 #12951 üzenetére
Itt regisztrálnod kell egy API key-t, hogy működjön a dolog. Én a v2-vel boldogultam, a v3 az semmit nem akart hosszabb távon megenni.
De a bal oldali menüben ne legyenek kérdőjelek! A Servicesben tudod aktiválni az API-kat. ráklikkelsz az off-ra és így állítod át on-ra. A Team menüpontban tudsz hozzáadni felhasználókat, ha kell. Az API access menüpontban pedig kulcsot generálni. -
Hege1234
addikt
tudnátok ebben konkrétan segíteni ?
eddig nem én csináltam
csak ő el van havazva
és már nem tud vele foglalkozni -
futár
senior tag
-
Hege1234
addikt
az mitől lehet hogy van két ugyanolyan domain
az egyik gabisalon.hu a másik gabiszalon.hu
viszont a google map a gabiszalon hoz hibát ír ki
ezt hogy tudnám javítani ?case 'elerhetosegek':
echo"
<h2>Elérhetőségeink</h2>
<div id='elerhetoseg_div'>
<img class='contact_img' src='./kepek/small/elerhetoseg_kep.jpg'>
<div id='map' style='width: 520px; height: 300px; float: right; margin-top: 20px; margin-right: 15px'></div>
<script src='http://maps.google.com/maps?file=api&v=2&key=ABQIAAAABD-wgyp55XtjATFDY-GlWxSI23GfI6Vg4NQIHQ2aKR1xcv-8oBQ2lEetLqK2wIFtwPzuqlvEPyPNqQ' type='text/javascript'></script>
<script type='text/javascript'>
//<![CDATA[
function startime(){
setTimeout('loadMap()', 1000);
}
function loadMap(){
var map = new GMap(document.getElementById('map'));
map.centerAndZoom(new GPoint(16.540793, 47.397945), 2);
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
var point = new GPoint(16.540793, 47.397945);
map.openInfoWindowHtml(point, '<strong>Gabi szépségszalon<br />9730 Kőszeg, Borsmonostori út 1.</strong><br /><strong>Bejelentkezés:</strong> +36 30 902 8306<br /> <strong>Nyitvatartás:</strong> <br />Hétfőtől péntekig 7.30-19.00<br />Szombaton 7.00-14.00<br /><strong>GPS Kordináta:</strong> 47° 23\' 53\" N, 16° 32\' 27\" E');
map.addOverlay(new GMarker(point));
}
//]]>
if (GBrowserIsCompatible()) {
window.onload = startime();
}
</script>
</div>
</div> -
LonGleY
veterán
Hisz mi raktuk bele, tudnánk hogy kell kikapcsolni (teljesen saját motor).
De ez nem áll széndékunkban, az oldalnak www-vel kell mennie mindenhol.A lentebbi szabállyal [1. melléklet] az app.php végzi a routingot (Slim Framework), így az alap URL működik: www.blahblah.hu. Viszont ha be van kapcsolva a www-re való átirányítás [2.melléklet], akkor a www nélküli URL-ről indítva www.blahblah.com/app.php az eredmény. Az oldal így is működik, de a cél az lenne, hogy az app.php ne látszódjon.
-
cucka
addikt
válasz
LonGleY #12942 üzenetére
A www-re váltást úgy kapcsolhatod ki, hogy törlöd a htaccess-ből azt a részt, amit ide is bemásoltál.
A php oldalon a framework valószínűleg onnan tudja, hogy a www aldomainre irányítson, hogy van egy konfigurációs opciója, ahova meg van adva. Nézd meg az alkalmazás konfig file-ját. -
LonGleY
veterán
Háláj!
Adott egy oldal, ami www-re van befixálva. Van ötletetek, hogy miként lehetne megoldani, hogy ha a www nélküli verziót írjuk be, akkor ne az http://www........hu/app.php jöjjön be (hanem a sima .hu)? A főoldal tölt be akkor is, csak az url nem stimmel. Az app.php-ben megy az url-ek értelmezése és leosztása. Slim framework egyébként. A www-sen beírt/linkelt verzióval nincs gond.
a jelenlegi htaccess alap:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ app.php [QSA,L]
</IfModule>és a www-re váltás:
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule> -
futár
senior tag
válasz
Sk8erPeter #12939 üzenetére
Megbeszéltük, részemről nincs harag. A "fos" szó verte ki a biztosítékot. Ennyi.
-
Sk8erPeter
nagyúr
Itt senki nem civakodott, és senki nem ordította le más fejét, senki nem lett sárba tiporva, valószínűleg Te vagy egy kissé túlérzékeny, ha ezt így értékelted. Szerencsére DanielK éretten és korrekt módon válaszolt, nem sértődött meg, hanem érdemben reagált, szóval vele lehet kommunikálni akkor is, ha kritikát kapott.
Szerintem semmi gond nincs azzal, ha itt kritizáljuk egymás kódját, arra való a fórum, és nem vagyunk porcelánból - hidd el, az én kódjaimat, javaslataimat is kritizálták már bőven, és ha volt benne érdemi információ, amiből megtudom, hogy mit rontottam el, mit kellene másként, akkor összességében még örültem is neki, mert abból mindenki tanul.
Amúgy ha korábban belinkelted volna a kapcsolatfelvételre szolgáló kódot, akkor hozzá lehetett volna szólni érdemben is a kódhoz. Egyébként csak felhívnám a figyelmedet, hogy a Te munkádat sehol nem kritizáltam, így nem volt értelme magadat védelmezni, bizonyítgatni, hogy van olyan terület, amiben Te vagy a jobb, elhiszem, de senki nem mondta, hogy ez ne lenne így. Azon a területen meg Te kritizálhatnád az én tanácsaimat, és jól is lenne ez így."Kicsitt régebb óta vagyok itt mint te"
Ezzel nem tudom, mire gondoltál, arra, hogy Te másfél évvel korábban regisztráltál?De mindegy is, felőlem valaki tegnap óta is lehet PH-tag, ha érdemi kritikákat fogalmaz meg a fórumon, akkor teljesen irreleváns, hogy mióta van itt...
-
DanielK
addikt
válasz
Sk8erPeter #12937 üzenetére
igen és természetesen unsetelem a formot, ha sikeres volt a küldés, hogy üres legyen.
-
Sk8erPeter
nagyúr
válasz
DanielK #12930 üzenetére
Nincs mit, örülök, hogy ilyen korrekten reagáltál, és nem vetted magadra, és Te értetted, hogy nem a sértés, hanem a kiigazítás volt a célom.
(Örülök, hogy végre van egy ember, aki nem sértődik meg azonnal izomból, hanem érti a lényeget, pedig ez ritka.
)
Amúgy ránézve a futár által belinkelt kódra, végül is annyira nem katasztrófa, bár nem egészen értem, minek írt egy wrappert tulajdonképpen a PHPMailer osztály köré, amikor az alapból is tartalmaz csatolmány-hozzáadást, meg picit fura getterei, setterei vannak, stb., de valószínűleg annak fejlesztője azért ajánlotta az iframe-es megoldást, hogy egy az egyben bedobható legyen egy oldalra, és ne kelljen elmagyarázni, hogyan lehet megfelelően használni a levélküldő osztályt.
De így már legalább belelátunk.
Ja, a formnál az is teljesen jó, amit Te alkalmaztál, hogy kiírtad fölé a köszönőszöveget, aztán alatta megjelenik attól még a form. -
futár
senior tag
válasz
Sk8erPeter #12929 üzenetére
Srácok!!! Srácok!!! Nem kell itt civakodni! A form, amit az oldalam Kapcsolat részébe includoltam (contact.php) az egy önállóan működő, ingyenes form. Nem kell bajlódni az ellenőrzésekkel, mert a trükkös email címekkel ellátott levelekből egyetlen egyet sem kaptam meg. "fos" ??? Kicsitt régebb óta vagyok itt mint te, de ilyen degradált kifejezésekkel nem illettem senki munkáját. Ez számomra nagy eredmény még akkor is, ha neked ez óvodás szintnek is tűnik. Tudom, hogy ez az észosztás helye, de tedd azt mások megbántása nélkül! Hidd el van olyan terület, ahol én vagyok a szakértő, és te csak figyelsz. Én mégsem ordítom le senki fejét.
DanielK legalább megpróbált segíteni. Tedd te is ezt anélkül, hogy a kezdőket sárba tipornád. Ezzel a téma a részemről lezárva, az oldalon úgy működik, ahogyan szerettem volna. 1-2 év múlva vélhetően nekem is más lesz az értékrendem,, a véleményem. Ezért a munkáért pénzt nem kérek és nem is kapok, mivel saját oldalról van szó.A hányás ellen pedig vannak kitűnő készítmények, vagy menj a háziorvosodhoz!
-
DanielK
addikt
válasz
Sk8erPeter #12928 üzenetére
1. nem veszem zokon, pont amiatt, hogy kezdő vagyok! Imádom a php-t, ezért is tanulom idősebb fejjel. Tanulni meg úgy lehet, ha próbálkozom valamivel és más, aki jártasabb esetleg megmondja, hogy az pedig nem jó úgy. Szóval nyugodtan, írj, én örülök neki.
2. Én is leírom a dolgokat, hogy mit és miért gondoltam úgy:Azért nem jó megoldás, mert undorító. Ez a "célt elértem vele,... -> ezzel tisztában vagyok én is, de mivel a kódokba nem látunk bele, többet nem nagyon tudunk neki segíteni (magát a dolgokat kellene újraírnia, de ahogy kivettem, ezt nem tenné meg)
"javascripttel újratöltöd az oldalt vagy ajaxxal a divet."
Ez viccnek is rossz... -> szerintem az iframes gányolásnál még mindig jobb"de miért akarod eltüntetni? ez nem szokás, főleg, ha új üzenetet akar küldeni neked. nem felhasználóbarát...
"
Bocs, de ezt is muszáj kommentálnia valakinek, és most megint én leszek... -> igazad van, nem pontosítottam. Úgy kellett volna megkérdeznem, hogy: ebben a formában miért szeretné eltüntetni? (Szerintem ez szebb megoldás: session alapján tünteti el - és kitesz egy gombot, hogy új form kitöltése. Miután újra a kapcsolati részre kattint újra bejön a form, így nem láttam értelmét kitenni). Amin dolgozom lap, úgy oldottam meg, hogy a form fölé kiteszi a köszönjük szöveget, de alatta ott a form (designban is jobb nekem, mert a footer részre tettem)"Mondjuk én jobb szeretem a mézesbödön (honeypot) ellenőrzésket (kevesebb hely is kell neki). Persze az kevésbé hatásos, mint a racaptcha, de felhasználóbarátabb."
Ez így nem feltétlenül igaz, hogy kevésbé hatásos. Attól függ,.... - > itt sem volt pontos a fogalmazásom. Ebben igazad van - > hasonlót használok én is, így nem feltétlenül rosszabb, mint a captcha, de ez megvalósítás kérdése (pl. láttam javascriptes mézesbödönt is, hát az nem 100-as)Köszönöm a kiigazítást!
-
Sk8erPeter
nagyúr
válasz
DanielK #12894 üzenetére
Azért nem jó megoldás, mert undorító. Ez a "célt elértem vele, úgy, hogy a kódomtól egy normális programozó üvöltve hányna", nem túl jó hozzáállás a programozásnál.
(#12901) DanielK :
"javascripttel újratöltöd az oldalt vagy ajaxxal a divet."
Ez viccnek is rossz...(#12902) DanielK :
"de miért akarod eltüntetni? ez nem szokás, főleg, ha új üzenetet akar küldeni neked. nem felhasználóbarát..."
Bocs, de ezt is muszáj kommentálnia valakinek, és most megint én leszek az a szemét k×csög.
Egy kapcsolatfelvételi űrlapnál miért az az alapvetés, hogy az első levél elküldése után hadd küldjön egyből egy másikat? Miért ne lenne "felhasználóbarát" megoldás megköszönni, hogy elküldte a formot, de most már hagyjon békén?Ez a "felhasználóbarát" szó itt nem túl helytálló amúgy sem. Igazából mindkét megoldásra lehet magyarázatot találni, de az nem egy rossz megoldás, hogy megköszöni a form elküldését, de nem jeleníti meg még egyszer. Szóval kicsit túlságosan rápörögtél erre a témára, feleslegesen (vagy ötször visszakérdeztél, miért tünteti el
).
Viszont legalább abban egyetértünk, hogy a kliensoldali ellenőrzés semmit nem ér, az csak a szervert kíméli a felesleges formküldözgetéstől, meg a júzert a felesleges hosszabb várakozástól, valaki kikapcsolja a JS-t, és vége is a nagy mágikus ellenőrzésnek kliensoldalon.
Mivel írtad, hogy kezdő vagy a dologban, ezért kérlek, ne vedd sértésnek, amiket írtam, vagy ha erősen fogalmaztam, de gondoltam nem árt némi visszajelzés, hogy ne csak a téves infó maradjon meg.
(#12925) DanielK:
"Mondjuk én jobb szeretem a mézesbödön (honeypot) ellenőrzésket (kevesebb hely is kell neki). Persze az kevésbé hatásos, mint a racaptcha, de felhasználóbarátabb."
Ez így nem feltétlenül igaz, hogy kevésbé hatásos. Attól függ, hogy van megvalósítva. Pl. a Drupal Honeypot modulját úgy oldották meg, hogy elrejt egy tök átlagos névvel ellátott formmezőt (pl. "website" vagy hasonló), ami miatt egy spamrobot azt hiszi, hogy az egy kitöltendő mező, ezért mohón ki is tölti, viszont szerveroldali ellenőrzésnél ez eleve hibának minősül, hogy a mező ki lett töltve; aztán a második fokozat az, hogy még egy timestamp-alapú ellenőrzés is van, meghatározod, hogy pl. egy adott űrlapot 5 másodpercen belül nem szabad elküldeni, ha ezen az időtartamon belül küldi el valaki, akkor az hibának minősül, tehát nem fogadod el a küldött adatokat (nem mented adatbázisba, nem küldesz emailt, stb.).
A drupal.org-on (a hivatalos Drupal-oldal) erős tesztelésnek vetették alá ezt a modult, CAPTCHA-megoldások nélkül, és bebizonyosodott, hogy igen hatékony előszűrő, ezért ezt be is élesítették az oldalon, mint állandó megoldást. -
DanielK
addikt
válasz
DanielK #12920 üzenetére
Nem szemetelem tovább az oldalt.
A lényeg: nem elég a kliens oldali ellenőrzés. Könnyen feltörhetik és ez még gázosabb, ha a az oldalhoz is hozzáférhetnek.
Illetve mit csinálsz azokkal, akik mondjuk letiltják a jst? Ezért jobb a szerver oldali ellenőrzés, mert akkor az még akkor is működik. -
DanielK
addikt
hát, pedig hibát nem dobott az oldal, mikor kitöltöttem a dd email címmel vagy mikor üresen hagytam.
na mindegy, pont emiatt nem elég a kliens oldali ellenőrzés, mindig kell szerver oldali is!
a kliens oldalit úgy játsszák ki, ahogy akarják.
mindkettő lehet, de csak a js nem tanácsos. persze ezek csak jó tanácsok... -
DanielK
addikt
kitöltöttem és küldtem egy formot, ahol az email ez volt: dd
ennyit a js ellenőrzésről.
Jó tanácsként mondom, hogy nem elég a js ellenőrzés, pont emiatt!
Ezt baromi könyű implementálni (mármint amit linkeltem). a 9. pontjában (a 4. oldalon) van a kész függvény, amit csak submit megnyomásakor meghívsz a php fájlodban$hiba=array();
if(isset($_POST["submit"])){
$email=$_POST["email"];
if( !validEmail($email) ) $hiba["email"]='Az email rossz formátumú!';
}a $hiba-t meg ki echozod a megfelelő helyre
persze legyen egy fájlod, amit include-olsz az elején, mondjuk egy functions.php (csak van már ilyened), ebbe beleteszed a kész függvényt és kész. az include-dal meg megoldva, hogy a validEmail függvényed elérjed
-
futár
senior tag
válasz
DanielK #12912 üzenetére
jó, igazad van. Egyébként ez a JS csinálja az ellenőrzéseket.
itt láthatod
Megnézem, hogy domainra lehet-e ellenőrízni. Nem szeretnék belebonyolódni egy újabb input ellenőrzésébe.
A text mező-re a kötelező opciót beállítottam....De nem működik
Nézem mi lehet a hiba.
-
futár
senior tag
válasz
DanielK #12909 üzenetére
Sajnos ezeken túlrágtam magam, de a .hu az egy speciális állatfaj. Kipróbáltam egy párat, de sajnos a .hu vagy nincs benne, vagy nem működik.
Annyit mondott egy programozó, akit nagyon felületesen ismertem, hogy amit belinkeltem oldalt, az infókat onnan kinyerhetem.
Én nem boldogultam vele sajna. -
DanielK
addikt
kitöltöttem teszt adatokkal.
először mindent kitöltve (helyesen - kamu adatokkal)
másodszor csak nevet adtam meg és egy kamu emailt - hozzáteszem, nem ártana az emailt domainre is ellenőrizni, mert látszik, hogy a 2. kamu emailnél csak rányomtam a billentyűzetre...[link]
ja és a többi miért nem kötelező? legalább az üzenet?nekem eltűnt a form és egy üzenetet láttam. akkor most ez nem jó? egyébként miért jó, hogy eltűnik a form?
-
futár
senior tag
Lenne még egy kérdésem, amire lehet kaphatok egy választ itt is.
Szeretnék a weboldalunkra egy .hu TLD check formot. Magát a formot meg tudom csinálni, de, hogy mit és honnan kell lekérni, az nem tiszta nekem. Domain regisztrációval és webhostinggal foglalkozunk és szeretnénk, ha az oldal felhasználóbarátabb lenne. Kértem az ISZT-től is az infót, de válaszra sem méltattak.
Állítólag innen lehetne az infót kinyerni, de én még amatőr vagyok!A segítséget köszönöm előre is!
-
futár
senior tag
válasz
DanielK #12902 üzenetére
Eredetileg ez így működött, elküldted és a form helyén megjelent, hogy "Köszönjük a megkeresést, hamarosan válaszolunk"! Vagy valami ilyesmi. De ez csak a form elküldésekor tünt el, ha visszaléptél újra a menüben a contact menüre, akkor ugyanott van a form.
Egyébként az üzenetküldés miatt van fent a szerveren, de a váz 50%-ban van kész.
Új hozzászólás Aktív témák
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
- WLAN, WiFi, vezeték nélküli hálózat
- iPhone topik
- BestBuy topik
- One mobilszolgáltatások
- Házimozi haladó szinten
- Házimozi belépő szinten
- OLED TV topic
- Óvodások homokozója
- További aktív témák...
- Csere-Beszámítás! RTX Számítógép PC Játékra! R5 8400F / RTX 3070Ti / 32GB DDR5 / 1TB SSD
- Bomba ár! Dell Latitude E7250 - i7-5GEN I 8GB I 256SSD I 12,5" HD I HDMI I Cam I W10 I Garancia!
- Samsung Galaxy S22 Ultra 128GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA! Épített KomPhone Ryzen 5 7500F 32/64GB DDR5 RTX 5060 8GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Apple Watch Series 6/Apple Watch Series 7/Apple Watch Series 8
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest