Hirdetés
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Samsung Galaxy S20 FE - tényleg nem lite
- Honor Magic V5 - méret a kamera mögött
- Xiaomi 15T Pro - a téma nincs lezárva
- Bemutatkozott a Poco X7 és X7 Pro
- Google Pixel topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Olyan lesz a Google Térkép, mint a segítőkész haver az anyósülésen
- Csőtörés lett a Red Magic 11 Pro gyötréstesztjéből
- Megjelent az iOS 26.1 és iPadOS 26.1
Ú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
- Azonnali készpénzes Intel i5 i7 i9 8xxx 9xxx processzor felvásárlás személyesen / csomagküldés
- Telefon felvásárlás!! Samsung Galaxy S21/Samsung Galaxy S21+/Samsung Galaxy S21 Ultra
- MacBook Air 9,1 i3-1000NG4 8GB 256GB
- Számlás!Windows 10 Pro 11 Pro,Windows 10 Home 11 Home, Office 2016,2019,2021 ,Vírusirtok,Mac
- Bomba ár! Lenovo X1 Yoga 1st - i5-6G I 8GB I 512SSD I 14" FHD Touch I HDMI I W11 I CAM I Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



Annyit kell csak tenned, hogy a túl régi üzeneteket mindig takarítsd ki előtte.





