Hirdetés
- Real Racing 3 - Freemium csoda
- Bestx: Budget DIY eGPU USB4/Thunderbolt csatlakozással – egy mining VGA új élete.
- gban: Ingyen kellene, de tegnapra
- Maxell Retro DJ teszt
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Lenry: Melléképületblog - 4. rész - Kocsibeálló
- Magga: PLEX: multimédia az egész lakásban
- Random25: Windows 11 telepítés Pendriveról
- D1Rect: Nagy "hülyétkapokazapróktól" topik
Új hozzászólás Aktív témák
-
Peter Kiss
őstag
válasz
fordfairlane #17217 üzenetére
A megoldás valahol az Inception és az Interstellar között van.
-
Peter Kiss
őstag
válasz
DrojDtroll #17041 üzenetére
Tippek:
A simple tutorial
PHP 101: PHP For the Absolute BeginnerMagyar tutorial oldalakat/könyveket elfelejtheted, ennyi biztos.
-
Peter Kiss
őstag
válasz
DrojDtroll #17038 üzenetére
Szóval az életben nem programoztál még PHP-ban?
-
Peter Kiss
őstag
válasz
DrojDtroll #17036 üzenetére
Talán ezzel kellene kezdeni: fgetcsv
-
Peter Kiss
őstag
válasz
DrojDtroll #17034 üzenetére
Persze.
-
Peter Kiss
őstag
válasz
honda 1993 #16820 üzenetére
Használj IIS-t.
-
Peter Kiss
őstag
válasz
tothjozsi96 #16744 üzenetére
Én nem, de szerintem Instant Payment Notification kell neked.
-
Peter Kiss
őstag
válasz
tothjozsi96 #16718 üzenetére
Készíts tárolt eljárást.
-
Peter Kiss
őstag
válasz
tothjozsi96 #16612 üzenetére
Az autom increment így működik. Megpróbálja az INSERT-et, de elhal menet közben.
Képzeld el, hogy összevissza adná az SQL szerver az egyedi azonosítókat, előbb vagy utóbb ütközés lenne, így az egyszer lefoglalt azonosítót újra már nem adja ki.
---
Ehhez hasonlók a trading alkalmazások: mielőtt elindítasz egy akciót, kérsz egy sor azonosítót (pl. egy 100-as batch.et), amivel tudod magad, illetve az akcióidat azonosítani a trader felé. Ott mekkora kavar lenne?
-
Peter Kiss
őstag
válasz
tothjozsi96 #16598 üzenetére
Ez nem header, hanem egy HTML meta tag: <meta charset="utf-8">
Ha a feldolgozás előtt (még mielőtt bármi történne az alkalmazásban) meghívod ezt, akkor nem lesz gond:
header('Content-Type: text/html; charset=utf-8');Ezzel tényleg HTTP header-t küldesz ki.
-
Peter Kiss
őstag
válasz
honda 1993 #16583 üzenetére
Jesus f.ck.ng Christ. Amolyan Matthew McConaughey hanglejtéssel.
-
Peter Kiss
őstag
válasz
fordfairlane #16564 üzenetére
Csoportos öngyilkosság? PH! találkozó keretein belül.
-
Peter Kiss
őstag
válasz
tothjozsi96 #16545 üzenetére
Elmondom, hogy a dupla hash csak kárt okoz, erre megint ráküldene egy MD5-öt.
@biker
"password_hash() is simple crypt() wrapper" -
Peter Kiss
őstag
válasz
tothjozsi96 #16543 üzenetére
Ez nem titkosítás, hanem hash-elés.
Azzal, hogy ráküldöd az sha1-re még az md5-öt, sikerült csökkentened a lehetséges jelszóvariánsok számát brute force esetén.
Megoldás: PHP Manual > Function Reference > Cryptography Extensions > Password Hashing
(password_compat, ha kellene)
-
Peter Kiss
őstag
válasz
tothjozsi96 #16541 üzenetére
Nem kell logolni semmit. In memory intéződik minden, tiltani meg tűzfalból kell hosszútávon.
-
Peter Kiss
őstag
Szóval flood ellen úgy lehetne értelmesen védekezni, ha user host address mellé jegyeznénk memóriában az utolsó kérést, és amennyiben ez túl közeli (túl sűrűn kértek adatokat), nem adunk vissza semmit.
-
Peter Kiss
őstag
válasz
PumpkinSeed #16536 üzenetére
És a sessionben való tárolás már magával hozhat adatbázis-műveletet is.
-
Peter Kiss
őstag
válasz
tothjozsi96 #16457 üzenetére
$szoveg .= $masikSzovegAVegere; //sima concat is megy nyilvan
$szoveg[$valahanyadikKarakter] = $kicserelemMasikra; //nem multi-byte safe
Mire kellene gondolni?
-
Peter Kiss
őstag
válasz
honda 1993 #16425 üzenetére
Ha az index.php a www-ben van, miért pakolod be az útvonalba a "valami"-t?
-
Peter Kiss
őstag
válasz
honda 1993 #16398 üzenetére
Miért érzem azt, hogy itt az olvasással vannak gondok?
-
Peter Kiss
őstag
válasz
Sk8erPeter #16329 üzenetére
Csak itt összevonva (nem pedig if ($executed)):
if (!sqlsrv_execute($this->statement)) {
$this->throwLastCommandException();
}De egyébként is meg kellene vizsgálni, mert, ahogyan a példa mutatja, a PDO nem dob kivételt, illetve nem generál PHP error-t az említett esetben.
---
A PDO nagyon klassz dolog, de a lehető legrosszabb módon próbálták meg egységesíteni a különböző SQL-ek (meg nem SQL-ek) kezelését. PDO használatával beállíthatod az alkalmazásodat, hogy portable, meg új technikát használ, ami nagyon f.sza, de amint akarsz egy kicsit advanced mutatványt csinálni vele, máris meghal (stream-et nem keze normálisan például, database generated kulcsot sem képes minden esetben kezelni, egységesen főleg nem). Nem kérek inkább belőle, inkább más absztrakciós módon oldom meg a különböző adatbázisok meg egyebek kezelését.
-
Peter Kiss
őstag
válasz
Sk8erPeter #16324 üzenetére
Úgy tudtam, szokás vizsgálni egy metódus return értékét, ha mond valamit. Biztos azért gondolkodtam furcsán, mert PDO-hoz a büdös életben nem nyúlok többet.
-
Peter Kiss
őstag
válasz
tothjozsi96 #16208 üzenetére
Mutass kódot.
-
Peter Kiss
őstag
válasz
tothjozsi96 #16206 üzenetére
Tömbök tömbjét tárolod mondjuk (a set() második paramétere)?
Annyit kell csak tenned, hogy a túl régi üzeneteket mindig takarítsd ki előtte.
-
Peter Kiss
őstag
A mysql_query és társai csak 1 utasítást visznek át, te meg 3-at adsz ki.
-
Peter Kiss
őstag
válasz
bendikeee11 #15300 üzenetére
Fájlkiterjesztés be van regisztrálva a webszerver alá, hogy tolja át a PHP értelmezőn?
-
Peter Kiss
őstag
válasz
trisztan94 #15298 üzenetére
Itt minden építő jellegű.
A gond azzal van, hogy minimális megoldási szándék nélkül ment a kérdés. Alapdolgokat felejtettél el megnézni, megcsinálni, ha tegnap volt a határidő, ha nem, a probléma megoldása nem vett volna igénybe perceknél több időt.
Mellesleg az furcsa (ezt már mondtam egyszer), hogy vállalkozol weboldalkészítésre, meg tutorial-t hegesztesz, de alap dolgokkal is gondjaid vannak (base64_encode() mint hash, nem megy a fájlfeltöltés, illetve alapvető hibakeresési módok sincsenek meg).
-
Peter Kiss
őstag
válasz
trisztan94 #15258 üzenetére
Ha olyan alkalmazásban használod fel, ami áll két lapból, és a database.php jelenlétéből erre tippelek, akkor semmi értelme azzal játszani, mit rakj köré, mert felesleges lesz.
Amennyiben egy nagyobb alkalmazásról van szó, akkor megérheti körberakni, amivel elérheted, hogy:
- egy beállítást soha ne lehessen elnyomni rajta (PDO: mindig exception-t dobjon, ha valami beszarik)
- tudj hozzáadni olyat, amit gyakran használsz generikusan
- elfedj olyat, amit nem kellene használni, ne is legyen szem előtt
- magasabb absztrakciós szintet adj meg, pl. PDO ellenére is vannak driverspecifikus beállítások -
Peter Kiss
őstag
válasz
Sk8erPeter #15247 üzenetére
Mindkettő hibás, típust nem kell kitalálni, hanem lehetőséget kell adni a megadására, ha pedig hiányzik, akkor vagy egy default-ot veszünk, vagy exception dobunk.
És a kóddal nem az a baj, hogy zajos, hanem hogy egy rettentő rossz gyakorlatot mutat be. Összerakja a PDO-t és a PDOStatement-et egy osztályba, mikor teljesen más a felelősségük, ráadásul gyakorlatilag fixen egy PDOStatement-en dolgozik.
Nesze neked OO. :facepalm:
-
Peter Kiss
őstag
válasz
trisztan94 #15172 üzenetére
Eigen, ezért sem ártana header-ben nem pedig meta-ban kiküldeni a karakterkódolást.
-
Peter Kiss
őstag
válasz
Sk8erPeter #15122 üzenetére
És minden static.
-
Peter Kiss
őstag
válasz
csabyka666 #15053 üzenetére
Mi magas a jelenlegi context-ben a json-ban? Setcookie előtt kell egy json_encode, használat előtt meg egy json_decode, ha fogalmad sincs arról, mi a json, akkor sem kell pánikolni miatta.
-
Peter Kiss
őstag
válasz
#68216320 #15052 üzenetére
Szóval pl. a Hozzaszolas class felelne azért, hogy letöltse valahonnan a hozzászólásokat, majd mindenből csináljon HTML kimenetet?
OO módon a Hozzaszolas osztály kb. semmit sem tud, van pár field-je gettere settere a nyilvánvaló adatokhoz, de fogalma sincs arról, hogy hol van tárolva, illetve hogyan kell megjelennie. Maximum képes fenntartani egy relációt a kapcsoló User-rel, bár ezt sem közvetlenül, hanem csak közvetetten, ORM cuccok megoldják ezeket, de nem jelenti azt, hogy neked is így kell.
Azt látom, hogy jelenleg van egy farönköd, és azt kérdezed, hogyan lesz ebből székelykapu, de odáig igen hosszú az út.
Valami kisebb feladattal kellene próbálkozni elsőnek.
-
Peter Kiss
őstag
válasz
csabyka666 #15050 üzenetére
http://php.net/manual/en/function.setcookie.php example #3, másik lehetőség, hogy egy kulcsot használsz, és kézzel serialize-lod a tömbödet json_encode()-dal, majd json_decode()-al vissza.
-
Peter Kiss
őstag
válasz
Sk8erPeter #14680 üzenetére
Ha tesztelné a logikáját, akkor ezzel a megoldással kevesebb teszt is elegendő lenne, persze elképzelhető, hogy szét kellene szedni kicsit, de itt maximum kb változókba való kipakolásról (pl. a closure-t) gondolok.
Ha ciklusokat írsz, és abba if-eket és hasonlóakat, akkor növeled a kódod cyclomatic complexity-jét.
Persze ez az érv szerintem nem fordult meg Speedfire fejében.
-
Peter Kiss
őstag
válasz
Speeedfire #14675 üzenetére
Nem tűnik fel, a $B tömböt nem használod semmire?
És a $filter_array nem létezik?Error reporting?
-
Peter Kiss
őstag
válasz
trisztan94 #14666 üzenetére
Úristen.
-
Peter Kiss
őstag
válasz
PumpkinSeed #14601 üzenetére
Akor ne indexeld a beolvasott karaktert?!
-
Peter Kiss
őstag
válasz
PumpkinSeed #14599 üzenetére
Karaktert olvasos, és nem sort/karakterláncot. Karaktert nem lehet indexelni. Ha kell a fájl egész tartalma:
<?php
echo file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/../gem.txt');Ez string-ként beolvassa az egészet, azt pedig már lehet indexelni.
-
Peter Kiss
őstag
Hát, ezt elég hosszan lehetne sorolni, miként valósítható meg.
Valószínűleg neked a DAO fogalmával kellene megismerkedned, aztán ilyen objektumokon megvalósítani az adatelérést, persze olyan módon, hogy az alkalmazás egy DAO-t sem lát csak egy interface-t.
interface UserDao() {
function GetUserById($id);
function GetByMailAddress($mailAddress);
function GetAll();
function AddUser(User $user)
/* ... */
}
Aztán ezt implementálni egy osztállyal, aminek van egy függősége a PDO-ra, ha SQL-t szeretnél mögé tenni. Nyilván, ekkor is SQL típus specifikus lesz a DAO-d. Az interface-t nyilván implementálhatod úgyis, hogy az adatok memóriában vannak pl. egy tömbben, így elég könnyen lehet (unit) tesztelni, mert nem fügsz gyakorlatilag semmitől, ismertek, stabilak az adatok.
Ha ez átjön, hogyan tud működni, akkor léphetsz tovább, például az is megoldható, hogy leírod az adott SQL típust (speciális karakterek, sémákat használ-e, speciális műveletek, stb) egy abstract "izén" (abstract class-t kell elképzelni egy jól felépített alap logikával [interface-t ebből is érdemes kreálni], majd pl. ebből lehet származtatni MySqlProvider és hasonló megnevezésű dolgokat.) keresztül, majd ezt felhasználva dinamikus építed meg a lekérdezéseket, de ez nem 2 perc alatt hozható össze.
-
Peter Kiss
őstag
$_POST egy globális változó, amire támaszkodni nem igazán kellene, főleg nem egy alkalmazás mélyebb bugyraiban.
A Controller az uolsó pont, ahol találkozhatsz a $_POST-tal. Utána onnan bárhová átadhatod a szükséges adatot paraméterként, pl.:
$this->_loginService->Login(new LoginUser($_POST['username'], $_POST['password']));
De ezek a dolgok elég sok mindentől függnek.
-
Peter Kiss
őstag
Hogy hogyan lenne szép, azt elég hosszan lehet taglalni, de:
LoginModel-nek összesen 2 dolgot kell tudnia: adni egy felhasználói nevet és egy ejlszót
Semmi köze ne, lehet ezekhez:
- session
- felhasználók tárolása
- a komplett alkalmazásnak nem lehetne igazából fogalma arról, hogy mögötte egy SQL adatbázis van, főleg nem így beégetve
- $_POST és egyéb globális cuccok
- echo egy model-ben? maximum view/template fájlban -
Peter Kiss
őstag
válasz
Speeedfire #14535 üzenetére
Minden attól függ, mit szeretnél elérni milyen lehetséges adatokkal. Ha valaki azt mondja bármelyikre is, hogy ez az ultimate good solution, akkor az idióta.
-
Peter Kiss
őstag
válasz
trisztan94 #14449 üzenetére
A Netbeans képernyőn látható projekthez kizárt, hogy lassú legyen a Netbeans. Sőt, ehhez nem kell IDE sem, használj egy sima szövegszerkesztőt.
Emellett 8 GB alatt nincs élet.
-
Peter Kiss
őstag
válasz
Sk8erPeter #14329 üzenetére
Igen, és erre:
new Valami()->Metodus1()->Metodus1();
-
Peter Kiss
őstag
válasz
Sk8erPeter #14322 üzenetére
Nem néztem meg a kódját, de elképzelhető, hogy fluent módon is képes sok mindent megcsinálni. PHP 5.4 előtt máshogyan ez nem lehetséges, illetve utána is csúnya.
-
Peter Kiss
őstag
válasz
PumpkinSeed #14228 üzenetére
Ezt a könyvet dobd ki a picsába.
-
Peter Kiss
őstag
válasz
trisztan94 #14201 üzenetére
Ez a sor is hibás.
@Hege1234
Fórumon keresztül nem fogsz megtanulni PHP-val programozni, látom, hogy alapvető dolgokat nem tudsz (error reporting, indexelés, stb.).
Vagy dobd be az egész kódot, vagy vissza az iskolapadba. -
Peter Kiss
őstag
válasz
PumpkinSeed #14169 üzenetére
Mi van a változókban?
-
Peter Kiss
őstag
válasz
trisztan94 #14165 üzenetére
$tshirt_graphic = array();
foreach ($array as $value) {
$thirt_graphic[$value[3]] = $value[2];
} -
Peter Kiss
őstag
válasz
trisztan94 #14133 üzenetére
Igen, illetve itt kisebb a thumbnail mint amekkorában meg van jelenítve.
-
Peter Kiss
őstag
válasz
trisztan94 #14088 üzenetére
:facepalm:
-
Peter Kiss
őstag
válasz
trisztan94 #14084 üzenetére
Ne kapjanak jogosultságot?
-
Peter Kiss
őstag
válasz
trisztan94 #13979 üzenetére
Man-nak hívják a help-et, egyébként egyet kell, hogy értsek.
-
-
Peter Kiss
őstag
válasz
Dave-11 #13880 üzenetére
What is PHP's mysqli Extension?
The mysqli extension, or as it is sometimes known, the MySQL improved extension, was developed to take advantage of new features found in MySQL systems versions 4.1.3 and newer. The mysqli extension is included with PHP versions 5 and later.
The mysqli extension has a number of benefits, the key enhancements over the mysql extension being:
•Object-oriented interface
•Support for Prepared Statements
•Support for Multiple Statements
•Support for Transactions
•Enhanced debugging capabilities
•Embedded server support -
Peter Kiss
őstag
válasz
Speeedfire #13801 üzenetére
Nem kötelező, mivel GROUP BY nélkül WHERE-ként viselkedik, de akkor sem illik így használni, nem erre lett kitalálva. Egyébként ettől még rosszabb az, ha valaki Mysql-t nem strict módban használ, mert akkor még a GROUP BY-nak sem kell értelmesnek lennie, valamit akkor is összehoz.
-
Peter Kiss
őstag
válasz
Speeedfire #13799 üzenetére
HAVING GROUP BY nélkül?
-
Peter Kiss
őstag
válasz
Speeedfire #13795 üzenetére
Összerakod a két mezőt: mezo1 mez2 mezo1
És ebben keresel LIKE-kal. Keresési szövegben a white space-t átírod %-ra.
-
Peter Kiss
őstag
válasz
trisztan94 #13768 üzenetére
Virtual host-ot tudsz csinálni, annak pedig meg lehet adni mappát.
Új hozzászólás Aktív témák
- Asus Rog Zephyrus Gamer laptop gyönyörű állapotban.
- GOPRO Hero 11 BLACK Creator Edition akciókamera csomag +tartozékok
- Intel Core i9 14900KF processzor eladó instabil állapotban OLVASD EL!!!
- SK Hynix 16GB / 32GB 5600MHz Laptop RAM!
- AMD Ryzen 7 5700X / RTX 3060 Ti / 32GB DDR4 RAM / 1TB SSD Mini-ITX konfig eladó jó áron
- Hp USB-C/Thunderbolt 3 dokkolók: USB-C Universal, G2, G4, G5, Hp Elite/Zbook- Thunderbolt 4 G4
- AKCIÓ! Lenovo Thinkcentre M920S Brand számítógép - i5 9500 8GB RAM 512GB SSD 630 IGP Win 10
- Ryzen 7 CPU-k
- ÁRGARANCIA!Épített KomPhone i3 10105F 8/16/32GB RAM RX 6500 XT 4GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i5 13400F 32/64GB RAM RTX 4060 Ti 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest