Hirdetés
- Olcsó vs. drága egér: melyiknél érzed meg igazán a különbséget?
- Itt a Microsoft szörnyprocesszora, ami 132 maggal tarolhatja le a felhőt
- Az Inteltől – nem csak az Intelnek
- Alice Recoque-kal mutatná meg Európa hogyan kell szuperszámítógépet építeni
- Pokolian jól elrejtette egyik leghasznosabb hardverét az Intel
Aktív témák
-
RedAnt
aktív tag
válasz
YODA mester
#1308
üzenetére
csv nem jó...?
-
RedAnt
aktív tag
-
RedAnt
aktív tag
válasz
Briganti
#1074
üzenetére
Még megemlíteném, mert ide tartozik, a data: URI sémát [link] aminek segítségével közvetlenül be lehet ágyazni base64 kódolással a képeket. Ennek a megoldásnak mondjuk van egy olyan hátránya, hogy IE-vel nem működik (gyakorlatilag minden mással igen)
Pl. az avatarod ilyen módon:
[Szerkesztve] -
RedAnt
aktív tag
Ahhoz hogy az utolsó tíz üzenet jelenjen csak meg, nem kell kitörölni a többit, sokkal egyszerűbb ha a kiíratásnál csak a legutolsó tíz sort veszed ki a táblából (pl.: select * from tabla order by id desc limit 10) És ennek meg van az az előnye is hogy megmaradnak a régi üzenetek, ha valamiért vissza szeretnél keresni.
-
RedAnt
aktív tag
1. ilyen.
2. delete után nincs *, ahogy azt már említették, hanem delete from tábla....
3. szerintem a limit nem tartalmazhat subquery-t mysql-ben. Azt írtad hogy hibát kapsz, de elfelejtetted megírni, mit tartalmaz a hibaüzenet. Mindenesetre a lekérésnek nem látom sok értelmét így - ha a legutóbbi 10 üzire vagy kíváncsi, beteszel egy order by id desc limit 10-et és csókolom... -
RedAnt
aktív tag
válasz
Forest_roby
#812
üzenetére
A három számból a php-t futtató felhasználóra a harmadik vonatkozik, hacsak nincs egy csoportban veled. Ha így lenne, akkor sem mennél sokra vele, mert akkor böngészőn keresztül ugyanúgy el lehetne érni Mivel itt 0 van, nem kap semmilyen jogosultságot a fájlon, így nem nyithatja meg. Chmoddal szerintem nem megoldható a dolog.
-
RedAnt
aktív tag
válasz
Forest_roby
#807
üzenetére
extra.hu állítólag egész jó, ott talán engednek .htaccess-t is, egy próbát megér. De nem tudok sokat mondani ingyen tárhelyekről, szerencsére nem szokott rajtuk dolgom lenni...
-
RedAnt
aktív tag
válasz
Forest_roby
#805
üzenetére
uw-n tudtommal nem használható .htaccess.
A webszerver közös beállításai vannak az említett httpd.conf fájlban (apache2-től kicsit máshogy van) Itt lehet beállítani hogy pl. miket lehessen a .htaccess fájlokkal engedélyezni/tiltani. De uw-n kötve hiszem hogy ezen változtathatsz...
Úgyhogy vagy keresel egy normális szolgáltatót, vagy jól eldugod az illető könyvtárat
-
RedAnt
aktív tag
válasz
Forest_roby
#803
üzenetére
Hozzáférsz a szerveren a webes mappán kívüli helyekhez? Mert ha igen akkor legegyszerűbb azokba tenni amiket nem akarod hogy kívülről láthatók legyenek.
Ha csak ahhoz a könyvtárhoz van hozzáférésed ami egyben a webes gyökérkönyvtárad, akkor igen, az apache-nak kell megmondani, hogy bizonyos fájl-lekéréseket ne szolgáljon ki.
Egy alkönyvtárt pl. kompletten letilthatsz ha teszel bele egy .htaccess fájlt a következő tartalommal:
Order deny, allow
Deny from all
Ezután pl. egy szinttel feljebb levő könyvtárban levő php-val el tudod érni a letiltott könyvtár fájljait mondjuk fopen-nel, de ha közvetlenül akarják elérni őket böngészőben, 403-at kapnak.
[Szerkesztve] -
RedAnt
aktív tag
válasz
Forest_roby
#801
üzenetére
nem tudtam végigkövetni, konkrétan mi volt a probléma eredete, de azt megjegyezném, hogy a szerveren a php szkripteket általában egy www_data vagy hasonló nevű user futtatja (nem te), tehát ha chmod-dal letiltasz ''másoknak'' elérést valamihez, azt a php ugyanúgy nem fogja látni, mint ha te akarnád a böngésződből megnyitni.
[Szerkesztve] -
RedAnt
aktív tag
válasz
woodpaul
#788
üzenetére
Pár helyen módosítanám:
Az első sorban a $login körül vagy ne legyenek pontok, vagy ''.$login.'' legyen, de gondolom ez elírás lehet. És ennek a végére jöhet jól egy LIMIT 1.
A mysql_result-hoz a manuál szerint, ha nem az egész sort akarod bekérni, kellene még egy paraméter ami azonosítja az oszlopot. Bár mivel itt csak egy oszlopról van szó, ettől valószínűleg el lehet tekinteni.
Tehát:
$query = ''SELECT auth FROM register WHERE login = '$login' LIMIT 1'';
$result = mysql_query($query);
$auth = mysql_result($result,0);
Erre az $auth értéke: 'm' (mint moderátor) vagy üres string.
Szerintem a nem moderátoroknál is inkább adj meg egy betűt a táblában. Így könnyebb lesz a hibakeresés, pl. a lekérés után ha üres az $auth, (if (!$auth)) akkor tudod hogy valami történt, amit mysql_error()-ral kiírathatsz.
De ha jó szokást akarsz rögzíteni, akkor lehet hogy tényleg jobb lenne mást használni a mysql_result helyett, még ha ebben a konkrét esetben nem is számít.
Pl. a mysql_fetch_row-t. Ezzel a 3. sor így nézne ki:
$auth = mysql_fetch_row($result);
és utána az $auth[0] tartalmazza az eredményt. -
RedAnt
aktív tag
válasz
woodpaul
#786
üzenetére
Olyankor célszerű elkerülni ha sok sorból áll az eredmény - ilyenkor célszerűbb ciklikusan, soronként kiolvasni az eredményeket (mysql_fetch_row/array/object stb) - de egy sornál ennek szvsz nincs jelentőssége, úgyhogy nyugodtan használd. Tipp: a query végére tegyél limit 1-et, egyrészt hogy biztosan egy sort kapj, másrészt megfelelő indexelés esetén gyorsíthat a lekérdezésen.
-
RedAnt
aktív tag
válasz
kamikaze boci
#771
üzenetére
-csak x darabot olvasson be, ne az egész táblát (pl.: $counter=5).
a select végére limit $counter, vagy limit $start $counter ha a $startadik sortól kezdve akarsz $counter darab eredményt. [link]
A kiíratást meg valahogy így lehetne:
$i = 0;
while ($sor = mysql_fetch_object($quotes)) {
$i++;
echo ''<span class=\''id_$i\''''>''.$sor->id.''</span>'';
echo ''<span class=\''title_$i\''''>''.$sor->title.''</span>'';
echo ''<br />\n'';
}
Tehát végigmegy az eredményül kapott sorokon és kiírja belőlük a szükséges mezőket, a classokban meg nőnek közben a számok.
[Szerkesztve] -
RedAnt
aktív tag
válasz
Mandrake833
#750
üzenetére
A load data infile-lal vannak gondok, sok szerveren nem megy, ugyanis biztonsági rést jelent (nem veszi tekintetben az open_basedir korlátozását)
Helyette esetleg azt próbálhatod meg, hogy a fájlból a php-vel szeded ki az adatsorokat, majd sima insert-tel teszed be az adattáblákba (ja igen, tábla != adatbázis
)
[Szerkesztve] -
RedAnt
aktív tag
válasz
Briganti
#731
üzenetére
Első blikkre nem látok benne hibát. A mysql_db_query helyett inkább mysql_query-t használj, előbbi elavult. Az adatbázist pedig mysql_select_db-vel adhatod meg.
Egyébként meg debugolj, ha nem megy valami, nézd meg mit is csinál a program, pl. írasd ki a query-t, nézd meg stimmel e, ilyesmi.
mod. lassú vagyok
[Szerkesztve] -
RedAnt
aktív tag
válasz
Jester01
#726
üzenetére
.. és a tömb elemei köré is kell idézőjel, mint ahogy VladimirR is írta. Vagy idézőjel vagy macskaköröm - két idézőjel, ahogy innen copy-paste-elődne nem jó, ez okozhatta a hibát.
Amúgy ez a megoldás biztonsági szempontból nulla, ebből minimális ügyeskedéssel bármit kiszednek az adatbázisodból vagy törlik ahogy van, ld. mysql injection. Ezért érdemes legalább egy mysql_real_escape_string-gel a POST-olt változókat ''hatástalanítani''.
valahogy így:
$user = mysql_real_escape_string($_POST['user']);
$pass = mysql_real_escape_string($_POST['pass']);
mysql_query(''insert into teszt (user, pass) values ('$user','$pass')'');
[Szerkesztve]
Aktív témák
- Yettel topik
- Motorola Edge 50 Neo - az egyensúly gyengesége
- LG Velvet (4G) - megelőzte a híre
- Autós topik látogatók beszélgetős, offolós topikja
- One otthoni szolgáltatások (TV, internet, telefon)
- Milyen hagyományos (nem okos-) telefont vegyek?
- Rendszergazda topic
- Apple asztali gépek
- Nintendo Switch 2
- Vezetékes FEJhallgatók
- További aktív témák...
- Gamer PC - R7 5800X, RTX 3070 és 16gb RAM + GARANCIA
- Gamer Pc - Ryzen 7 3800X, RTX 3060ti, 16gb RAM
- Acer Nitro 5 Gamer Laptop - 15,6 FHD IPS 144hz/ i7 10750H/ 32GB RAM/ RTX 3050Ti/1,5TB SSD
- Lenovo Thinkpad T14 G3 Golyóálló Üzleti Érintős Laptop 14" -50% i5-1250P 12Mag 16GB/512GB FHD+
- Samsung Odyssey G9 49" Oled 240Hz G-Sync, FreeSync VRR Gamer monitor Eladó
- GYÖNYÖRŰ iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA -Kártyafüggetlen, MS3892, 100% Akkumulátor
- Nintendo Switch Oled // Számal // Garancia //
- Hp Prodesk 600 G3/ G5/ G6 SFF/ i5 8-9-10 gen / Elitedesk 800 G4 /Win11- Számla, garancia
- DELL PowerEdge R640 rack szerver - 2xGold 6138 (20c/40t, 2.0/3.7GHz), 64GB RAM,4x1G, H730 1GB, áfás
- Vadiúj Dobozos Asus Lap! Kèszleten!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest





