- Motorola Edge 50 Neo - az egyensúly gyengesége
- Hívószám-hamisítás
- Magisk
- One mobilszolgáltatások
- iPhone topik
- Íme az új Android Auto!
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Szívós, szép és kitartó az új OnePlus óra
- Samsung Galaxy Fit 3 - keveset, de jól
- Honor Magic6 Pro - kör közepén számok
Új hozzászólás Aktív témák
-
pelyib
tag
válasz
lanszelot #21744 üzenetére
Hat pedig JS nelkul ujra fog tolteni az oldal.
AJAX onmagaban nem mondja meg, h mit hasznalj.
"Ajax is not a technology, but rather a programming concept."
Az Ajax (Asynchronous JavaScript and XML) interaktív webalkalmazások létrehozására szolgáló webfejlesztési technika. Segítségével a weblap kis mennyiségű adatot cserél a szerverrel a háttérben, így a lapot nem kell újratölteni minden egyes alkalommal, amikor a felhasználó módosít valamit. Ez növeli a honlap interaktivitását, sebességét és használhatóságát.
[link]
erdekes lehet ez is: [link]
angol wikin pl mindkettovel van pelda: [link]urandom0 szepen leirta, hogy mikent mukodik egy ilyen megoldas itt: [link]
meg annyit tennek hozza, h ezt nezd meg es olvasgass utana: on_submit: [link] -
pelyib
tag
válasz
lanszelot #21742 üzenetére
Ember -[eger / bill segitsegevel]-> Bongeszo -> JS -[HTTP keresek]-> webszerver -> PHP -> db
Ebben az egesz folyamatban altalaban 2 db szamitogep vesz reszt(nagyon leegyszerusitve), az ugynevezett kliens (bongeszo + JS) es a szerver (webszerver, PHP, DB), most tekintsunk el attol az esettol amikor a ketto komponens ugyan azon a gepen fut.Most hogy tisztaba raktunk az alapokat.
"php elküldi a formot valahova." a php NEM kuld semmit ilyenkor, a bongeszo vagy a JS teszi ezt a kliens oldalon, ezt a kerest a webszerver fogadja es adja tovabb a PHPnak.
"JS ben ajax/fetch sem értem." => ketfelekeppen tudsz adatot beszerezni a szervertol, linkek megnyitasaval (amikor a cimsorba beirsz valamit, vagy egy linkre klikkelsz es a bongeszo teszi ezt meg neked) vagy JS segitsegel. A JS el tud inditani egy kerest a "hatterben" anelkul hogy elnavigalna az aktualis oldalrol, ezt hivjak AJAX-nak, ehhez kell hasznalni a Fetch-t vagy azXMLHttpRequest-t. Es mivel JSrol van szo igy a szervertol kapott valaszt fel is tudja dolgozni es a meglevo oldalt a bongeszoben tudja manipulalni, avagy a valaszt beilleszteni.
-
pelyib
tag
válasz
lanszelot #21615 üzenetére
en arra tippelnek, h az error_reporting at van allitva nala, de nem neztem vegig mind a 4 orat (nem vagyok biztos, h azzal el tudja rejteni ezt a hibat)
template engine => https://phptherightway.com/#templating (de ugy altalaban az egesz oldalt ajanlom atolvasasra)
frameworks => https://phptherightway.com/#frameworks
pl: Laravel, Slim, Symfony -
pelyib
tag
válasz
lanszelot #21613 üzenetére
Mert mar elotte elkezdte a valaszt visszaadni (session_start, doctype)
https://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php
(lehet jobban jarnal, ha valami template engine + frameworkot kezdenel hasznalni, html-t PHPvel keverni eleg szivas tud lenni kezdokent) -
pelyib
tag
https://www.php.net/manual/en/function.mysqli-connect.php
If mysqli exception mode is not enabled and a connection fails, then mysqli_connect() returns false instead of an object. The mysqli_connect_error() function can be used to fetch the connection error.
https://wiki.php.net/rfc/mysqli_default_errmode
Nem teszteltem, de szerintem ebbe futottal bele, 8.1tol
-
pelyib
tag
válasz
lanszelot #21471 üzenetére
Igen, de neked kell tobb requestet kuldeni.
A responseban (az API altal vissza adott adatokban) 2 dolgot latsz ami fontos: page, total_pages.
A "page" amit eppen lekertel, a "total_pages" azt mondja meg, h osszesen hany oldalnyi eredmeny van.Ahhoz, h tobbet tudj listazni meg kell ismetelni a korabbi requestet csak novelni kell mindig a page-t.
Arra figyelj, h esz nelkul ne hivogasd az APIt (100-1000 request folyamatosan) mert le fog tiltani a tuzfaluk egy ido utan. Tehat ne akard lekerni az egesz DB-t 1 perc alatt.
(ahogy nezem a 20 elem per page az eleg fix, nem lehet valtoztatni) -
pelyib
tag
válasz
lanszelot #21460 üzenetére
Lathatolag nem olvasod el amit irunk vagy linkelunk neked.
Honnan szedjek "base_url, a file_size and a file_path" -t?
Ezt meg be is masoltam. Ketten is linkeltuk, csak el kene olvasni... es akkor meg1x:
Those pieces are a base_url, a file_size and a file_path.
The first two pieces can be retrieved by calling the /configuration API
file_path feltehetoleg a 'poster_path' jelen esetben.Ez pedig az adult, ebbe sincs "base_url, a file_size and a file_path": [kép]
Megintcsak ha elolvasnad ami ott van, akkor latnad, h az adott elem az NEM adult (adult: false)offba rakom, mert mar ennek semmi koze a PHPhoz, szimpla szovegertes
-
pelyib
tag
válasz
lanszelot #21456 üzenetére
És akkor itt van az hogy a poszter egy link végződés, nem teljes link. Mit kezdjek vele?
Ujfent nincs eldugva
You'll notice that movie, TV and person objects contain references to different file paths. In order to generate a fully working image URL, you'll need 3 pieces of data. Those pieces are a base_url, a file_size and a file_path.The first two pieces can be retrieved by calling the /configuration API and the third is the file path you're wishing to grab on a particular media object. Here's what a full image URL looks like if the poster_path of /1E5baAaEse26fej7uHcjOgEE2t2.jpg was returned for a movie, and you were looking for the w500 size:
"Honnan tudod hogy van a listában pontosan a film?"
ezt neked kell elintezni, sajnos meg nincs gondolatolvaso gep. Majd az algoritmusod eldonti, h egyezik vagy sem az API valasza.*bar en sose hasznaltam meg ezt az APIt, igy fenntartom a jogot, h tevedek
-
pelyib
tag
-
pelyib
tag
PHP-ban "ketfajta tomb" letezik: az autoindexed es az associative. Elobbinel nem adod meg a kulcsot, csak az erteket es az enginre bizod, h milyen kulcsot rendel hozza. Utobbinal pedig te mondod meg, h milyen kulcshoz milyen ertek tartozik.
JSONben elobbibol lesz a tomb (array, []), utobbibol pedig egy object ({"foo":"bar"}).
Tehat amit te szeretnel az egy indexelt tomb amiben associative tombok vannak
Peldaui: valojaban csak 1 fele tomb van, es lehet mixelni a kettot minden gond nelkul
-
pelyib
tag
válasz
magortaltos #21339 üzenetére
Az sajnos nem tamogatja, innen indulva tudsz tajekozodni: https://xdebug.org/docs/step_debug
itt van a lista, h mi tamogatja: https://xdebug.org/docs/step_debug#clients -
pelyib
tag
válasz
magortaltos #21337 üzenetére
Melyik IDE-t használod?
Telepited az xdebugot, engedélyezed az extensiont a PHP configjaban, configuralod a klienst (IDE, vagy egyéb editor), brakepointot teszel a kódba, futattod a kódot, amikor elér a kód a brakepointhoz megáll a futás és tudod elemezni, hogy mi van futás időben a valtozokban. -
pelyib
tag
-
pelyib
tag
válasz
#68216320 #21171 üzenetére
PHPStormnak van egy EAP (early access program) nevu valtozata, ami ingyenes. Amikor lejar, torlod, letoltod az ujat, telepites, folytatod ahol felbeszakadt.
VS Code is egesz hasznalhato, kell par plugin (opcionalisan az Intelephense pluszban). En a devcontainer megoldasat nagyon kedvelem.
Onsanyargatoknak meg termeszetesen VIM, en az utobbi fel evben a NeoVim-t hasznalom, nem egy PHPStorm de nekem bejon. Termeszetesen ennek a setupolasahoz egy elet is keves
-
pelyib
tag
Docker image kb egy snapshot az adott allapotrol, ugy mint VCSben egy commit. Docker imaget ugyan ugy lehet "tag"-elni, amire lehet is utana hivatkozni. Amikor letrehozol egy uj verziot a programodbol (masterbe mergelsz) azzal egyutt letrehozol egy uj image is. Ez az uj bekerul egy registry (publikus: hub.docker.com, de tobb selfhosted megoldas is van a piacon) nevu taroloba, ahonnan pedig a production szepen letoltni es levaltja a korabbi verziot.
Fejlesztoi kornyezet picit mas. abban most nem mennek bele, de ott ezt az egesz kort ki lehet kerulni.
Ami peldat irtal az Dockerben 3-4 service-t (containert) jelent: webszerver, php, db. Ezt "docker-compose"-l lehet nagyon szepen megoldani.
Az apache és mysql konfigja ugyan ezek miatt szintén eltérő lehet gépenként.
Ez csak annyit jelent, h az adott imaget mas config fajlt csatolva (volume) inditod.Ajanlom a Docker topic, ott sokkal tobb segitseget kapsz nalam jobban hozzaertektol.
-
pelyib
tag
Docker ismerete igencsak erteknovelo a piacon manapsag (ha nem alap mar). De ha csak a sajat fejlesztoi kornyezetedre hasznalod abbol is sokat lehet profitalni, szoval erdemes megtanulni.
Egy VPS berles nem olyan draga mar joideje, 5-6EUR/ho. Tobb szolgaltato is ora alapon szamlaz, szoval ha csak 10 orat hasznalod, akkor annyit fizetsz. Pl DigitalOcean is ilyen.
De pl egy eleg olcso: https://www.arubacloud.hu/vps/virtualis-privat-szerver-ajanlat-tipusok.aspxHeroku tutorial: https://devcenter.heroku.com/articles/getting-started-with-php
With MySQL: https://www.doabledanny.com/Deploy-PHP-And-MySQL-to-Heroku (alap app beallitast kicsit mashogy csinalja) -
pelyib
tag
válasz
Atos23 #21102 üzenetére
titkosított jelszó tárolás
a plaintext jelszot "sozod" (salt) es hasheled (linkelt function mindkettot megcsinalja), igy egy random karaktersort fogsz kapni, amit még mindig illik a leheto legjobban vedeni, es nem mutogatni barkinek.
üzemeltetés során a titkosított kommunikáció
Az nem a https akar lenni? -
pelyib
tag
válasz
Winner_hun #21039 üzenetére
Jó ötlet, sok sikert.
Kérdés is van vagy csak megosztottad az ötletet? -
pelyib
tag
Crontab tud tol-igot kezelni, tehat beallitod h x idotartamban hivja meg a skripted, nem kell tobb bejegyzes.
A scriptet meg ugy modositanam, h az elmenti az utolso feldolgozott elem IDjat vagy barmit amivel a kovetkezo futasnal meg tudja talalni a kovetkezot feldolgozando elemet.
Tehat az elso indulasnal 0rol indul, feldolgoz Y dbot majd leall, crontab inditja ujra, megnezi hogy mi volt az utolso es onnan folytatja. -
pelyib
tag
2 dolgot emelnek ki ebben a temaban:
- front controller pattern -> PHP-nak egy belepesi pontja van, ez pedig az web/index.php, ebbol kovetkezik, h a docroot a web/ folder, ide csak azt rakod ami publikusan el lehet erni
- tipikusan ilyesmi konyvtarstrukturad kene, h legyen [pelda]:/app_root/
/config <- konfiguracios fajlok
/bin <- ide kerul ami a teminalbol futtatsz
/src <- ide rakod a sajat kodod
/web <- a korabban mar emlitett index.php lakohelye
-
pelyib
tag
"1) require_once" egyertelmuen
Amugy ha nem akarod magad szivatni akkor composer es rabizod a tobbit.
Ha jol ertem amugy akkor azt irod le, h van egy A.php B.php es C.php. A es B is behuzza a C-t.
Ha A-t vagy B-t inditod akkor kapod a hibat? Ebben az esetben csak korbe neznek.
Ha legalabb PHP 7.0-t hasznalsz, akkor wrappold be az appodat egy try-catchel es debug backtracetry {
require your_file.php
} catch (Throwable $throwable) {
var_export($throwable);
} -
pelyib
tag
Marmint mi nem lattal meg?
Associative array-t vagy az underscoret?variable name
A valid variable name starts with a letter or underscore, followed by any number of letters, numbers, or underscores.associative array
Syntax "index => values", separated by commas, define index and values. index may be of type string or integer.Az egyik egy string ($example), a masik egy array ($_).
-
pelyib
tag
[filter_var] nem oldana meg?
-
pelyib
tag
válasz
lanszelot #20751 üzenetére
Nincs cookie, se semmi.
session_start letrehozza a cookie-t.A login.php -ben van link a login.css-re, ami ott van mellette.
Ami linket eloallit (HTML-ben a href) azt nem a PHP (szerver oldal) hanem a bongeszo fogja ertelmezni es futattni. Tehat a /zoom/zoom.php egy olyan valaszt ad amiben a href="login.css" van, amit mar tudunk, h a sajat konyvtaraban fog keresni, tehat a /zoom-ban.
Nem, nem masol semmit! En ilyet tuti nem mondtam!ha nincs beírva semmi /üresen bök a gombra/, akkor
Ezt hogy vizsgalod pontosan? -
pelyib
tag
válasz
lanszelot #20749 üzenetére
Tehát egy zoom könyvtárban lévő zoom.php ból require megy egy könyvtárral kijjebb a login.php -re.
Amit a zoom.php el is ér, de a login.css-t miért a zoom köntvtárban keresi?
Mikor a login.css -re a login.php -ban van hivatkozva ami mellette van.
Szerintem egy kicsit osszemosod a server es kliens oldali dolgokat. Te meg mindig a /zoom folderben vagy, igy a href="valami.jpg" az a /zoom folderre fog mutatni, de ez nem a PHP hibaja, igy mokodik a HTML. Ahogy linkeltem is, realtive path.Az a baj, h nem tudjuk, h a login.php mit csinal. Van e benne die / exit ami megallitja a futast? Definial function-t a login.php, meg kell hivni? Tippelek, de gondolom van egy session, annak a cookie path-a rendben van?
Felteszem, ha egy subfolderbol huzod be a login.php-t akkor egy olyan ag fut le ami ugy latja, h be vagy lepve. De igy latatlanban egymillio oka lehet. Happy debuggingNezd meg, h pontosan mi kell ahhoz, h feldobd a login-t, majd azt egyesevel debuggold.
-
-
pelyib
tag
válasz
lanszelot #20744 üzenetére
Ennek semmi koze a PHP-hez, generalsz egy HTML-t amiben a href="login.css" es meg mivel mindig a /zoom/zoom.php-ben vagy igy a browser a zoom/login.css-ben fogja keresni (=> "The "picture.jpg" file is located in the same folder as the current page" a linkelt oldalrol).
Ami neked kell az a relative path.
-
pelyib
tag
válasz
lanszelot #20742 üzenetére
Ezt nezd at: [HTML File Paths]
Amugy altalaban a static fajlokat egy kulon mappaba rakjak (pl: project-root/web/static, feltelezve, h a web folderben vannak a publikusan elerheto fajlok). -
pelyib
tag
-
pelyib
tag
válasz
RedHarlow #20645 üzenetére
Szerintem ez teljesen valid.
majd a sart gomb connectel a db-be és futtatja az sql query-t
Marmint a start az elkuldi a mar kesz tombot a API-nak ami szepen validal, lefutattja a queryt, kikopi az eredemenyt
(Validalas + prepared statement ugye alap).Ha esetleg a query futasa kesobb sokaig tarthat:
- az elso API csak egy taskId-t ad vissza
- masik endpointot meg lehet pool-ni a taskId-val, nem szep megoldas de mukodik -
pelyib
tag
válasz
zapikanka #20618 üzenetére
Docker container + env valtozo
Vagy csak siman letrehozol egy credential.php-t.
Ezt a filet hozzaadod a gitignor-hoz, h veletlenul se commitold.
Ahol meg kell ott is_readableupdate: "h ne lassa mas" azt csak masodik olvasara lattam. Ez igy eleg para. Ilyenre ugranak az ITsec kollegak minden cegnel. Mar az aggalyos h plaintext-ben van a jelszo, de megfejeled meg azzal, h megosztott helyre fel is toltod.
Esetleg meg lehet nezni, h nincs e valami token / key alapu auth a hasznalni kivant servicenek.
-
pelyib
tag
Mert az tenyleg nem "valid":
❯ curl -I https://www.hvg.hu/rss
HTTP/2 301
date: Sat, 22 May 2021 15:44:52 GMT
content-type: text/html
location: https://hvg.hu/rss
set-cookie: uid=AAseX2CpJvQogxXwVFngAg==; expires=Thu, 31-Dec-37 23:55:55 GMT; domain=hvg.hu; path=/
p3p: policyref="/w3c/p3p.xml", CP="CUR ADM OUR NOR STA NID"
cf-cache-status: DYNAMIC
cf-request-id: 0a3659447b00004abdaf9e5000000001
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
server: cloudflare
cf-ray: 65372b1a5c754abd-FRASzerintem ez a method nev becsapos, mert nem azt nezi, h valid e, hanem, h elerheto e. A ketto nem ugyan az.
A "https://ez.egy.valid.domain.com/valami/utvonal" valid URL, de nem letezik.update: masik link is 301
-
pelyib
tag
A konkret protokol ismereteben relevansabb talalat is lehet.
-
pelyib
tag
"mert különböző helyeken külön gépekről dolgozok."
Erre lenne jo a verziokezelo (pl: Github, Bitbucket) amit disy68 is emlitett.
Ezt lehet egy HTML/JS topicban kene kerdezned. PHPStorm PHP, json, SQL-re tokeletes. HTML, JS is megy vele de hogy amit te keresel azt tamogatja azt en nem tudom.
Esetleg a VS Code -
pelyib
tag
Phpstorm.
-Android, arra nincs.Pontosan mit értesz az alatt hogy "sajat szervert csinál"?
Tud webszervert inditani, amit aztán a szabadon választott böngészőben eléred, de ezt inkább a dockerre bíznám.Pluginozhato, valszeg mindenre van már amit keresel.
(IDE, integrated development environment a keresett szó
)
-
pelyib
tag
Nem iterable a value annak a valtozonak, esetleg egy type casting, de jobb lenne ha el se jutna oda a program.
foreach ((array)${$dynamic_variable} as $value){
Ellenorzesre: is_iterable
-
pelyib
tag
Mivel en se tudtam a valaszt, viszont erdekelt, ezert kicsit olvasgattam es ezeket talaltam:
For nonbinary collation names that do not specify accent sensitivity, it is determined by case sensitivity. If a collation name does not contain_ai
or_as
,_ci
in the name implies_ai
and_cs
in the name implies_as
. For example,latin1_general_ci
is explicitly case-insensitive and implicitly accent-insensitive, andlatin1_general_cs
is explicitly case-sensitive and implicitly accent-sensitive.
[LINK]Illetve ezt a kerdest S0-n
If you need "beyoncé" and "beyonce" to be considered different, then ideally you would use a case-sensitive (and either explicitly-stated or implied accent-sensitive) collation. However, it looks like this is not available in MySQL 5.6 (or even 5.7), while MySQL 8.0 does haveutf8mb4_0900_as_cs
, or evenutf8mb4_0900_as_ci
if you only want the accent to distinguish between the values while allowing "beyonce" and "Beyonce" to match.Bar ez nem kisokos, de legalabb valasz az eredeti kerdesre
UPD: csak lehet ezt:
percona x@y:z> show create table char_collection;
+-----------------+-------------------------------------------------------------+
| Table | Create Table |
+-----------------+-------------------------------------------------------------+
| char_collection | CREATE TABLE `char_collection` ( |
| | `name` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL |
| | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin |
+-----------------+-------------------------------------------------------------+
1 row in set
Time: 0.039s
percona x@y:z> select * from char_collection where name like 'ár%' collate utf8mb4_bin;
+------------------------+
| name |
+------------------------+
| árvíztűrő tükörfúrógép |
+------------------------+
1 row in set
Time: 0.237s
percona x@y:z> select * from char_collection where name like 'ar%' collate utf8mb4_bin;
+------+
| name |
+------+
0 rows in set
Time: 1.997s
percona x@y:z> select * from char_collection;
+------------------------+
| name |
+------------------------+
| árvíztűrő tükörfúrógép |
+------------------------+
1 row in set
Time: 0.067s -
pelyib
tag
array_values megoldja
-
pelyib
tag
http://xdebug.org Telepiteshez, beallitashoz van egy halom leiras (kb extension telepitese, minimal config, editor konfiguralas)
lépésenkénti végrehajtás
Ezt nem tudom, sose kellett. Tobbit tudja amit soroltal.php cli debugger (grafikus)
PHPStorm adja, legtobb editorhoz van pluginje. -
pelyib
tag
Ha 10 év múlva még mindig létezik a project, majd akkor megnézem.
Ha jol ertem, akkor nalad csak a 20 eves projectek a megbizhatoak, ertem.
Meg gondolom az a ~250millio letoltes valoban azt jelzi, h ez egy kiforratlan valami.Nem verremeno vitat akarok inditani. Ertem sot! reszben osztom is a velemenyed, h nem minden v0.0.1 libre feltetlen kell epiteni, de a Guzzle nagyon nem ebbe a kategoria esik.
-
pelyib
tag
válasz
Bzozoo #20413 üzenetére
Hol tudok találni ilyesmiket, teszteket, illetve mintakódokat?
packagist.org pl, Composer-rel eleg kenyelmesen lehet hasznalni. De itt az egesz internet, keresgelj, angolul.Tehát a PHP ne JSON választ adjon?
Arra gondoltam, h ne egy "succes": true | false alapjan dontsel. Maga a status code is sokat segit, az alapjan mar szet is lehet valasztani a valasz feldolgozasat. -
pelyib
tag
válasz
Bzozoo #20408 üzenetére
Csak h tisztan lassunk: authentication es authorization amirol beszelsz. Mindketto eleg nagy tema, erdemes olvasgatni a temaba.
En az oauth-t ajanlanam, ha valamit tanulni szeretnel ebben a temakorben. Bar mar letezik jopar implementacioja.A lényeg az lenne, hogy egy minél biztonságosabb rendszert alkossak
Ha biztosagosat akarsz, akkor ne akard magad ezeket fejleszteni, hasznalj egy mar jol kiprobalt, tesztekkel validalt libet.
(tudom kezdokent minden erdekes, de en inkabb arra az otletre koncentralnek amit eredetileg kitalaltal, ezek csak mellekes dolgok)PHP pedig JSON-nal válaszol
Ajanlom helyette a megfelelo HTTP status code-kat. Tessek oket helyesen hasznalni, es nem minden 200 OKEzt meg csak ugy megosztom, ha mar tenyleg API-t epitesz, tessek dokumentalni is az interface-t
-
pelyib
tag
Esetleg ezt: PHP The right way
"php 24 ora alatt" szerintem tobbet art mint hasznal, 20 eves konyv.
-
pelyib
tag
Ahogy coco2 irja valtsal at JSON valaszra szerver oldalon. PHP ne generaljon HTML-t csak adja vissza a nyers adatot, JS meg ugy jeleniti meg ahogy akarja.
Eltelt ido kiirasahoz meg inkabb hasznalj egy JS lib-t, pl: https://momentjs.com/ "Relative Time" (tud magyarul is).
-
pelyib
tag
Pagination, erre keress.
Legegyszerubb ha client kezeli hogy mit szeretne megmutatni. Tudod, hanyadik oldalt kered, ott a limit (hany elem kell) is, ezeket query parameter-ben (GET) elkuldod (altalaban limit es offset neven).
Server oldalon meg ertelemszeruen beilleszted oket a querybe. -
pelyib
tag
The Unix timestamp that this function returns does not contain information about time zones. In order to do calculations with date/time information, you should use the more capable DateTimeImmutable.
[Forras]Hasznald inkabb a DateTime classokat. Tisztabb szarazabb erzes. (esetleg a Carbon nevu libet)
[Pelda]miért megy félre a dolog, miért vonja le azt az 1 órát.
Ha minden igaz (bar en kuka vagyok az time manipulaciohoz) a PHP UTC / GMT idozonat hasznalja. -
pelyib
tag
válasz
pigmeus #20250 üzenetére
Ha kifejezetten PHP akkor ide is johet, talan tobb valaszt is kapsz mint ha minden PMben tortenne.
Ha meg inkabb altalason OOP akkor az mehet ide: Programozás topic (kiemelt téma) -
pelyib
tag
válasz
radi8tor #20176 üzenetére
Nezd meg, h az a $this->config az valoban ez a class e: https://github.com/opencart/opencart/blob/master/upload/system/engine/config.php
Ha igen, akkor a has() methoddal ra tudsz vizsgalni:
$banned_cats = $this->config->has('full_product_path_categories')
? $this->config->get('full_product_path_categories')
: [];
-
pelyib
tag
válasz
radi8tor #20171 üzenetére
Ha eleg, h nincs tobb warning akkor tenyleg kesz vagy.
Ha meg erdekel, h jobban akkor vedd elo a forraskodot, nezd meg a get() methodot, h milyen bejovo parameterei vannak.
Amirol en beszelek az ilyesmi logikat kovetne:function get($key, $default) {
return isset($configs[$key])
? $configs[$key]
: $default;
} -
-
pelyib
tag
válasz
radi8tor #20156 üzenetére
is_countable lesz az embered
if (
is_countable($banned_cats)
&& is_countable($categories) // jo lenne tudni melyik, mert ezzel csak elrejtjuk a hibat
&& count($banned_cats)
&& (count($categories) > 1)
) {
// do you job
}return is_scalar($thing)
? mb_strlen($thing, $env->getCharset())
: is_countable($thing)
? count($thing)
: 0; -
pelyib
tag
De akkor a frontend azt mondja meg, h mekkora meretben keri a kepet, ne azt, h mekkora a screen size.
Amugy FE cookie-ban lerakja, h mekkora meretet tamogat, amit a kovetkezo requestnel a bongeszo elkuld a backend-nek, ha cookie nincs, akkor meg valami default meretben general. -
pelyib
tag
Frameworkrol konyvet keresni? Hogy total depricated dolgot olvass 3 honappal kesobb?
Laravel doc szeretnek en ilyen "pocsek" doksit az osszes ceges / opensource applikaciohoz...
-
pelyib
tag
By default new referenciakent adja at. "&" kell hozza a valtozo neve ele:
http://sandbox.onlinephpfunctions.com/code/58277dbce7cf43cd9544fa585861d2882e90d2e6 -
pelyib
tag
-
pelyib
tag
Nem tudom stabilan tartani az alap adathalmazt.
Ha nincs a userhez adat akkor az aktulis session a nyertes. Ahogy lenne egy uj regisztracional, vagy olyan loginnal ahol nincs konkurens session.Hiába csukom le az ablakot és nyitok újat,
Ezt lehetne [Postman]-l, felkonfiguralod a request-t es megnezed, h mit kapsz vissza. De meg tisztabb lenne az API tesztsql szerver memory table van valami ismert baj velük?
Sose kellett meg hasznalnom. -
pelyib
tag
Miert akarod ennyire logoutolni a usert? Foleg ha van mas is (" ha nem mentette az adatait") amit tud csinalni az oldalon?
Amikor w1 session-t vált s2-re, és azon dolgozik, addig egy w2 beléphet s1-re? Vagy w1 megfogja s1-et és s2-t is?
`session_write_close
` oldja a lock-t.Szoval elmeletben mukodhet, DE en nem piszkalnek egy masik sessiont, csak bajt lehet vele okozni.
Ahogy mar irtam en szetvalasztanam a session kezelest es a feature / resource elerest.
Ahogy irtad, eltarolod, h melyik sessionnek van joga eleri a streamet (resource, ha mar http). Tehat amikor le akarja kerni a streamt (gondolom egy sima HTTP GET => xhr) akkor le tudod ellenorizni, h a session hozzaferhet vagy sem ([status code 403]).
Ha a kliens ezt a 403-t kapja akkor eldonti, h rahiv a "/logout"-ra vagy kirak egy uzenetet es gombot, h "Masik helyen mar nezed, szeretnel atvaltani erre a bongeszore?".Igy csak azt kell nyilvan tartanod, h melyik session fer hozza. Nem kell masik sessionhoz nyulni.
-
pelyib
tag
Az a "helyes megoldas" ami mukodik es lefedi az igenyeket
En kulon kezelnem a login-t es azt, h elerheti e a streamet.
Generalsz egy token, elrakod a userhez, leadod kliensnek, az bekuldi amikor a stream-t akarja elerni, server oldalon validalod a tokent.
Kliens oldalon meg kell oldani, h uj eszkozon valo bejelentkezeskor "at tudja venni a streamet". Tehat uj token + regi token invalidalasa + kapcsolat bontasa a regi tokennel.
A pontos use case-ket te tudod.
Kicsit feleslegesnek tunik egy ingyenes szolgaltatasnalvegtelen szoponak tunik
-
pelyib
tag
válasz
instantwater #20090 üzenetére
Igen.
Most vesztem el a maradek "johiremet"?
-
pelyib
tag
Ha jol ertem neked az a fontos, h a stream elereset korlatozd, ezt en fuggetlenne tennem a logintol.
mert a kosarat kifizetni az a pont, ahol úgyis minden egybe fut
En arra gondoltam, hogy az osszes login (ugyan attol a usertol) ugyan abba a kosarba pakol. Tehat csak 1 kosarad (streamed) van. Nalad abban mas a helyzet, h csak azt engeded tovabb pakolni a kosarat (nezni a streamet) aki eloszor kezdi el.(btw, olyan helyen dolgozok ahol streaming a fo termek
)
-
pelyib
tag
Akkor mar valami cache (local vagy replicalt ha tobb gepes). Amugy tuti a logint kell tiltani? Nem lenne egyszerubb az adott muveletet "in progress"-be rakni + session Id? Hasonlo a webaruhazak bevasarlo kocsija.
Illetve arra is gondolj, ha "A session" megsemisul (private ablak, es bezarja kilepes nelkul) kliens oldalon akkor azzal mi fog tortenni server oldalon. -
pelyib
tag
válasz
WaterWave #20062 üzenetére
Szerintem a "./data"-ba rakja a feltoltott fajlokat.
Ezt meg ujrafogalmazom, mert teljesen ertelmetlen lett a vegeredemny
:
Csinal egy volum-t abba a mappa ahova tolt a rendszer es a NAS-n mappat megosztja a host mappajat.Szoval ugy kell inditani a container-t hogy a NAS-n megosztando mappat a "/valami/path/a/containerben/data"-ra mutasson.
Ahogy irjak is.(Jobban megnezve a PHP kodot, hat felszaladt a szemoldokom tole, vannak megoldasok)
-
pelyib
tag
Piwig csak egy példa, biztos vagyok benne, hogy tele a net self hosted gallery app-l ami tud jogosultságot kezelni.
"csak egy folder legyen elerheto a webservernek (tipikusan web vagy public neven)"
Ezt nem értem pontosan, de jelenleg is így van. Egy mappában van a dashboard és a képek mappa is ami htaccessel le van védve, így csak az viewer applikációban nézhetők a képek.
Lehet én nézek be valamit, de jelenleg ./ a docroot a webszervernek, ami azt jelenti, h pl az SQL installer fájl is pulikusan elérhető (beirom a böngészőbe és meg tudom nyitni), illetve a class folder is elérhető. Csak az legyen elérhető a webszerveren keresztül aminek kell. Pl rossz esteben ki lehet szedni a DB credential-t.Ez az injektálási eljárás pontosan mitől is jobb? Illetve nem nagyon értem, hogy a require_once nélkül akkor hogy is érem el vele a DataSource.php fájlt?
Egyrészt láthatóak lesznek az osztályod függőségei, hisz ott van az interface-n (public function __construct(DataSource $source)
) illetve megadja a lehetőséget, hogy szabadon kicseréld annélkül hogy ott változtatni kelljen ahol használod.
PéldaA readme fájlban meg fogom említeni, hogy milyen PHP verziókon fut
Bár az is több mint a semmi, de a Composer vagy Docker jobban segíthet annak aki maga is akarja használni.Composer használata megoldja a require_once kérdését is (autoloader). Ez így lehet nem sokat segít de tele a net leírással hogy miként kell beállítani és használni.
[Ez] így biztos jó?
-
pelyib
tag
Gratula az elert eredmenyhez.
Miben mas a te alkalmazasod mint egy szimpla gallery app? pl: https://piwigo.org/Par eszrevetel:
- mysqli helyett PDO
- egy framework, vagy legalabb egy router lib hogy egy belepesi pontja legyen az alkalmazasnak => nem kell minden fajlban duplikalni a kodot ellenorizni a sessiont => csak egy folder legyen elerheto a webservernek (tipikusan web vagy public neven)
- template engine hasznalata, vagy legalabbis view kiszervezese
- PSR hasznalata => tobbi PHP fejlesztonek konnyebb lesz olvasnia a kodot
- hasznalj 1 fajta karaktert behuzasra space VS tab (PSR a space-t ajanlja)
- injectalj, e helyettfunction __construct()
{
require_once "DataSource.php";
$this->ds = new DataSource();
}ezt
public function __construct(DataSource $source)
{
$this->ds = $source;
}- injectalas igaz a DB connection configra is
- PHP verzio nincs megemlitve,jobban mondva semmilyen requirements nincs megemlitve, 7.2 legyen legalabb, MySQL ?, egyeb?
- ezt meg lehetne forditani:if(!empty($_SESSION["userId"])) {
// amit ved
}
} else {
require_once './view/login-form.php';
}erre:
if(true === empty($_SESSION["userId"]))
{
require_once './view/login-form.php';
exit;
}
//amit ved- "class" folder atneveznem "src"-re
Új hozzászólás Aktív témák
Hirdetés
- Milyen billentyűzetet vegyek?
- sziku69: Fűzzük össze a szavakat :)
- Rágyúr a macOS-re a 3DMark
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- Milyen processzort vegyek?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Motorola Edge 50 Neo - az egyensúly gyengesége
- További aktív témák...
- Eladó konfig! Ryzen 7 7800X3D 2TB SSD 64GB DDR5 RX9070XT 16GB!
- Új, makulátlan állapotú Samsung Galaxy Buds FE, fehér, fél év garancia
- Új, makulátlan állapotú Samsung Galaxy Watch7 44mm ezüst, 2 év garancia
- Új, makulátlan állapotú Samsung Z Fold 6 256GB Tengerészkék, független, 2 év garancia
- Használt TP-Link Deco M4 - AC1200 Router (Mesh-ként is használható)
- AKCIÓ! Lenovo Thinkpad T14 Gen 3 üzleti notebook - i5 1245U 16GB RAM 512GB SSD Intel Iris XeW11
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- Csere-Beszámítás! AMD Számítógép PC Játékra! R5 5500 / RX 5700XT / 32GB DDR4 / 256SSD+1TB HDD
- Kingmax 2x2GB DDR3 1333 RAM eladó
- BESZÁMÍTÁS! MSI Z790 i5 14600KF 64GB DDR5 512GB SSD RTX 3070 8GB Rampage SHIVA Enermax 750W
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest