- Új akkumulátortechnológiát hoz a OnePlus
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Apple iPhone 15 Pro Max - Attack on Titan
- Samsung Galaxy S23 Ultra - non plus ultra
- Akciófigyelő: OneSport OT05 bringát lehet nyerni
- iPhone topik
- Android szakmai topik
- Okosóra és okoskiegészítő topik
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Akciófigyelő: Már 70 ezer forint alatt a Xiaomi felmosni is képes porszívója
Hirdetés
-
Ellopták a Tesla akkumulátor-titkait
it Beperelte egy korábbi beszállítóját a Tesla, és azzal vádolja, hogy üzleti titkokat lopott a Tesla akkumulátorgyártási technológiájával kapcsolatban.
-
Steet Fighter 6 - Hosszabb bemutatón M. Bison
gp Kevesebb mint egy hét múlva végre elérhető lesz a játékban az új karakter.
-
Spyra: nagynyomású, akkus, automata vízipuska
lo Type-C port, egy töltéssel 2200 lövés, több, mint 2 kg-os súly, automata víz felszívás... Start the epic! :)
Új hozzászólás Aktív témák
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #4082 üzenetére
Ne adj neki nevet
-
Tele von Zsinór
őstag
Azért jó látni, hogy nem én vagyok itt az egyetlen symfonys
-
Tele von Zsinór
őstag
válasz
DeltaPower #4203 üzenetére
Komolyan veszik
hasznos tag.
-
Tele von Zsinór
őstag
válasz
egyjotakaro2 #4284 üzenetére
Hogy kap értéket a $ved?
-
Tele von Zsinór
őstag
Ha jól nézem, ez valami ingyenes szolgáltató. Ftp-vel jelentkezz be, és a txt fileon állítsd a jogokat 666-ra (rw-rw-rw-).
Másik lehetőség, hogy "w" helyett "w+" módban nyitod meg, és ftp-n törlöd. A pluszjel annyit tesz, hogy ha nem létezik a file, létrehozza.A gondod pontosan az engedély hiányából jön: ftp-n hoztad létre a filet, így az ftp felhasználó (azaz te) lett a tulajdonosa. A webszerver más néven fut (gyakran www-data), így más jogokkal rendelkezik. Jelen esetben nem volt írási joga.
[ Szerkesztve ]
-
Tele von Zsinór
őstag
válasz
egyjotakaro2 #4291 üzenetére
Akkor csak kiiratod, de értéket nem adsz neki. Valahogy a mysql-ből át kéne kerülnie az értéknek a php változóba.
Javaslom, kezdd a php-t az alapoknál. -
Tele von Zsinór
őstag
válasz
egyjotakaro2 #4297 üzenetére
Hibásan adsz értéket a változónak. Mutasd, hogy próbáltad!
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #4299 üzenetére
Tipp, és a kérdésed alatti komment megerősíti: azt hiszi, a { $izé} az rögtön le is kéri az értéket az adatbázisból.
-
Tele von Zsinór
őstag
válasz
egyjotakaro2 #4300 üzenetére
Na, akkor most már biztosra mondom, hogy semmi fogalmad a php-ról
Kezdd az alapoknál, sok jó könyv elérhető ebookban is mindenféle torrentoldalakon. Ha megmaradsz az egyszerű kódoknál, megteszi a "PHP5 24 óra alatt".
-
Tele von Zsinór
őstag
válasz
egyjotakaro2 #4304 üzenetére
Ez egy Smarty template. Abban a kódban kap értéket, ami azt mondja, hogy ezt a templatet renderelje a smarty.
-
Tele von Zsinór
őstag
válasz
egyjotakaro2 #4311 üzenetére
Ez csak egy újabb mód a kiírásra. Ettől még nem kap értéket.
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #4348 üzenetére
Van egy olyan támadás, hogy session fixation, a be- és kilépéskori sessionid újragenerálás ez ellen egy hatékony védekezés.
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #4350 üzenetére
Mindenki, akinél a use_trans_sid engedélyezve van a php.ini-ben.
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #4356 üzenetére
Tiltott sütik esetén get paraméterben küldi a sessionidt, automatikusan hozzárakva a, form, stb. tagokhoz (szintén php.ini-ben állítható). Régen alapból engedélyezve volt, nem tudom, frissebb verziókban ez változott-e.
-
Tele von Zsinór
őstag
Hogy érted? Checkboxok közül melyik van kijelölve?
A böngésző csak azokat küldi el, amik be voltak pipálva, így már egyszerűbb a dolgod. Ha pedig [] jeleket használsz a nevében, akkor a php kódban tömbként tudod használni őket. Például:<input type="checkbox" name="fagyi[]" value="vanilia" />
<input type="checkbox" name="fagyi[]" value="csoki" />
<input type="checkbox" name="fagyi[]" value="eper" />Ez php oldalon a $_POST["fagyi"] változóval elérhető, és egy tömb lesz, ha legalább egy be volt pipálva. Ha egy sem, akkor a $_POST-nak nem lesz fagyi kulcsú értéke.
-
Tele von Zsinór
őstag
$sql="INSERT INTO 'tablanev' (termekek) VALUES ('$_POST[termek1]')";
Ez így nagyon rossz. A $_POST tömb elemei a felhasználótól jönnek, ergo megbízhatatlanok. Olvass utána az SQL injection nevű támadásnak.
A legegyszerűbb védekezés ellene az, ha nem közvetlenül adod át a mysqlnek a kapott értékeket, hanem escapeled, például így:$sql="INSERT INTO 'tablanev' (termekek) VALUES ('" . mysql_real_escape_string($_POST[termek1]) . "')";
[ Szerkesztve ]
-
Tele von Zsinór
őstag
Ahogy te írtad, az "Array" az elvárt működés - mert ez a kimenete az automatikus stringgé alakításnak. Ugyanezért lesz hibás a mysql_real_escape_string() hívás - tömböt nem tud átalakítani.
Függően attól, hogy akarod letárolni adatbázisban, használhatod, amit itt fentebb írtak, ellenben ha sima szövegként le akarod tárolni az értékeket, így a legegyszerűbb:
$sql="INSERT INTO `tablanev` (termekek) VALUES ('" . mysql_real_escape_string(implode(", ", $_POST[termek1])) . "')"; -
Tele von Zsinór
őstag
válasz
egyjotakaro2 #4398 üzenetére
Direkt erre letölthető script nem hiszem, hogy lesz (önmagában haszontalan), de rengeteg példakódot, tutorialt találni erre. Ne legyél lusta keresni.
-
Tele von Zsinór
őstag
Pedig ha rögtön a táblázatból akarod módosítani, akkor minden sornak külön formot kell csinálnod. Miért ne lehetne ezt autogenerálva?
Így a formba berakod az elsődleges kulcsot (akár a form actionjébe get paraméterben, akár rejtett mezővel), és csak az ahhoz a termékhez tartozó adatokat fogja elküldeni. -
Tele von Zsinór
őstag
-
Tele von Zsinór
őstag
Igen, lehet. Ha van curl modulod, azzal csináld, valahogy így.
Ha mindenképp fsockopennel akarod, akkor a fejlécek elején GET helyett POST legyen, a küldendő változókat ugyanúgy rakd össze, mint ha get lenne, lehetőség szerint http_build_query()-vel, ez a többi fejléc után egy üres elválasztva írd, és valahová a többi fejléc közé kerüljön be ennek a hossza, mint Content-Length. -
Tele von Zsinór
őstag
válasz
PowerBuldog #4514 üzenetére
Ilyen esetben jön jól a pastebin.com
-
Tele von Zsinór
őstag
válasz
PowerBuldog #4518 üzenetére
Mélyebb belenézés nélkül: az acc_check.php-d szintaktikailab hibás volt, nem panaszkodott az értelmező? Fejlesztői gépen a php.ini-ben az error_reporting értéke legyen E_ALL.
Átformáztam, hogy átláthatóbb legyen, megtalálod itt: http://pastebin.com/zita5U2e
Vegyesen használtál php4-es és php5-ös dolgokat - a private, public kulcsszavak php5-ben jelentek meg, de a php4-féle konstruktort használtad (osztályneve függvény), ezt átírtam __construct-ra.
Nem szép osztályon belül hozzányúlni a $_POST-hoz, azokat beraktam inkább az ellenoriz() függvénybe paraméternek, és ezt csak most vettem észre: itt $acc és $pass változókat használtál, $this->acc és $this->pass helyett.
Raktam bele némi SQL injection védelmet is (lásd a mysql_real_escape_string függvényhívások).
Nézz rá, megoldódott-e a problémád. -
Tele von Zsinór
őstag
válasz
Sk8erPeter #4525 üzenetére
PHP-ben az a konvenció, hogy a "mágikus" függvények (__get, __set, __toString, stb.) két alulvonással kezdődnek, gondolom ennek akartak megfelelni. Ezzel együtt viszont az osztálynév kiesik, így lett __construct.
-
Tele von Zsinór
őstag
válasz
Louloudaki #4600 üzenetére
Annyit, hogy úgy tárold a session adatokat, hogy elérhetőek legyenek másik gépről is.
Hogy ezt mivel oldod meg, a te dolgod - a legegyszerűbb adatbázisba rakni őket, de elterjedt az NFS-en vagy memcached-ben tárolás is. -
Tele von Zsinór
őstag
válasz
Louloudaki #4602 üzenetére
Másról beszélünk.
Az eredeti kérdés arra vonatkozott, hogy lehet több gépről elérhetővé tenni a session adatokat. Alapértelmezésben a php ezeket fileokban tárolja valahol a sys_get_temp_dir() alatt - így másik gépről nyilván nem láthatóak; kell valami megoldás. Neked az lesz a legegyszerűbb, ha adatbázisba rakod, ezügyben nézz utána a session_set_save_handler() függvénynek.
A mostani kérdésed arra vonatkozik, hogy határozod meg, az egyik usernek mire van joga és mire nem. A felhasználók táblában hozz létre egy mezőt a user típusának tárolásához, és bejelentkezéskor tedd ezt a session adatok közé, majd minden oldallekérésnél nézd meg, az aktuális oldalhoz elég-e az, ami épp van.
-
Tele von Zsinór
őstag
A cookie - mint minden, ami a usertől jön - megbízhatatlan, és ezt most értsd a lejáratra is. A sessionbe érdemes tenni a legutolsó forgalom időpontját, és requestek elején ezt is ellenőrizni, ha szigorú lejáratra van szükséged. Általában elég ezt a php garbage collectorára bízni.
-
Tele von Zsinór
őstag
válasz
Speeedfire #4653 üzenetére
Meg.
A dolgod annyi, hogy a feltöltés után megnézed, van-e cím megadva, és ha igen (feltételezve helyes php.ini beállításokat) a mail() függvény használatával tudsz levelet küldeni.
Van ezer egyéb mód, de ez a legegyszerűbb. Ha komolyabb kell, akkor Swift mailer, vagy Zend_Mail. -
Tele von Zsinór
őstag
válasz
Speeedfire #4668 üzenetére
PHP-ból ilyet nem tudsz. Úgy lehet ilyet megoldani, hogy az egyik hostot a másik aliasaként adod meg a regisztrátorodnál.
-
Tele von Zsinór
őstag
Fejlesztői gépen ajánlott az E_ALL és az E_STRICT együtt, sokat segítenek. Úgy igazán szép a kód, ha így sem warningol.
A noticeok általában elgépelt változót jelentenek, elkerülni egyszerű: isset() a valódi feltétel előtt, a php úgyis lusta kiértékelést használ. Az utóbbi főleg a deprecated hívásokat segít felderíteni.
Új hozzászólás Aktív témák
- Félkonfig 3-4 év garanciás ryzen 7 7800x3d, 32gb cl32 6400mhz g.skills ram, 2tb Crucial m.2 ssd
- Macbook Air M2 8GB RAM, 256GB ssd, 100% akkumlátor
- Dell Latitude 5510, 15.6" FHD IPS, i5-10210U (8 v.mag), 16GB DDR4, 256GB NVMe SSD, gar
- Apple iPhone 12 Pro 256GB Kártyafüggetlen 88% Akkuval 2025.10.18-ig Euronics Garancia
- ThinkPad P1 Gen 4i 27% 16" 4K UHD+ érintő i7-11850H T1200 32GB 1TB NVMe ujjlolv IR kam gar
- Dell Latitude 7410, I7-10610u, 16GB, 256GB SSD, FHD, Áfás számla, 1 év garancia (86)
- Használt működő régi Pcie-es Vga-k.
- SK-Hynix 8GB DDR5-4800MHz notebook RAM, ingyen posta az árban
- Gigabyte Aorus GeForce RTX 3060 Ti Master 8GB GDDR6 videókártya eladó
- Nemesis (Nintendo Game Boy) color advance gameboy Angol nyelvű Kult