Hirdetés
- Milyen TV-t vegyek?
- Platina minősítésű Toughpower tápokkal bővült a Thermaltake portfóliója
- Milyen billentyűzetet vegyek?
- Milyen házat vegyek?
- Milyen videókártyát?
- Hisense LCD és LED TV-k
- HDD probléma (nem adatmentés)
- Minőségi ugrást hozhat a One új médiaboxa?
- Azonnali informatikai kérdések órája
- AMD K6-III, és minden ami RETRO - Oldschool tuning
Új hozzászólás Aktív témák
-
Speeedfire
félisten
üdv!
kis értékelő csillagok kiírásával lenne gondom, ha csak simán megjelenítem nincs semmi gond szépen teszi a kód a dolgát, de ha includolom akkor már hibát ír ki.
Warning: include(pont.php?pont=5) [function.include]:
failed to open stream: No error in D:\munka\web\!!!filmlista\lista.php on line 24
Warning: include() [function.include]: Failed opening 'pont.php?pont=5'
for inclusion (include_path='.;C:\php5\pear') in D:\munka\web\!!!filmlista\lista.php on line 24tipp/ötlet?
a kód nem a legszebb, de megteszi
[link] -
vakondka
őstag
Szerintem fordfairlane-nek igaza van, csak egy ilyen goip adatbázisból lehet kibányászni
hogy az adott ip cím melyik országhoz tartozik...A böngésző nyelvét viszont ilyen egyszerűen lekérdezheted:
<?phph echo getenv('HTTP_ACCEPT_LANGUAGE');?>
Ez nem ugyanaz, de ugye kevés esélye van hogy külföldről magyar böngészővel nézik a weboldalt.
-
maathe
senior tag
válasz
fordfairlane
#4996
üzenetére
Szerintem ez nem az ami nekem kell

-
maathe
senior tag
Azt meg lehet valahogy oldani hogy lekérdezem a látogató IP-jét, ha magyar akkor a magyar akkor mondjuk a login.php?hu-t töltse be, ha nem magyar akkor pedig a login.php?en-t töltse be.
-
-
-
Coyot
őstag
-
vakondka
őstag
válasz
Tele von Zsinór
#4979
üzenetére
Sejtettem...

De a rendszergazda meg rám mutogat, hogy rossz a weblap...vagyis én csinálok valamit rosszul....
Pedig nem igazán sok mindent változtattam ezen az open source shopon...szinte semmit
-
vakondka
őstag
Sziasztok,
Van valakinek ötlete, hogy mi okozhat SSL hibát ?
Van egy weboldal, ahová fel lett telepítve az SSL certificate, de explorer 8 forbidden üzenetet ad ha https-el hívom meg bármelyik linket...
[link]Bár szerintem Firefox-ban sem százas,mert ott meg el kellene színeződjön a címsor...nem ?
-
zka67
őstag
válasz
Speeedfire
#4975
üzenetére
Már párszor említettem a print_r használatát. Ez többek közt arra jó, hogy kiírasd vele egy tömb elemeit. Olyanokét is, aminek esetleg nem ismered a felépítését.
A kódod pedig így módosul:
$i = 0;
while (isset($_FILES['media']['name'][$i])) {
if ($_FILES['media']['error'][$i] == 0){
$fn = './media/'.$id.'-'.$i.'.'.end(explode('.', $_FILES['media']['name'][$i]));
move_uploaded_file($_FILES['media']['tmp_name'][$i],$fn);
}
++$i;
} -
Speeedfire
félisten
De itt most te akkor külön változókat hozol létre minden egyes input mezőhöz (így nekem is megy
). Amit én szeretnék az meg h egy tömbbe írja az összeset, szóval nem kell media1-4, hanem csak media[] és abban van az összes érték. [link]csak még mindig nem értem mi a baja, illetve tudom csak nem tudom megoldani

Mert egy egész tömböt "akarok" (nem akarok, csak nem jövök rá) egy stringbe írni. [link]
Notice: Array to string conversion in D:\munka\web\filmlista\kep.php on line 25
geshi: régebbi php/apache-al gond nélkül megy, ezek szerint a kódban van valahol a "hiba"
-
zka67
őstag
válasz
Speeedfire
#4973
üzenetére
Egy kis segítség

for ($i=1;$i<=4;$i++) {
$n = 'media'.$i;
if ((isset($_FILES[$n])) && ($_FILES[$n]['error'] == 0)) {
$fn = './media/'.$id.'-'.$i.'.'.end(explode('.', $_FILES[$n]['name']));
move_uploaded_file($_FILES[$n]['tmp_name'],$fn);
// ide jöhet az adatbázisba írás
}
}A form-ban media1 .. media4 legyen a fájl boxoknak a neve.
$n-be kerül a box neve
aztán ellenőrzés, hogy sikeresen feltöltődött-e
$fn-be kerül a fájl neve a szerveren
végül elmenti a fájlt
ezután jöhet az adatbázisba írásMi meg azért vagyunk itthon, mert tegnap leugrottunk agárdra, de dög meleg volt a víz. Aszongyák hogy a balcsi is dög meleg. Pedig nekünk se lenne messze...
-
-
zka67
őstag
válasz
Speeedfire
#4971
üzenetére
Mért nem vagy strandon?

Ezt a kódot gondold át mégegyszerfuss neki mégegyszer, másképp, ennek így semmi értelme. -
Speeedfire
félisten
más kérdés:
van egy form mezőm, amiben tetszőlegesen 1-4db közötti képet töltök fel, amit átnevezek, áthelyezek majd adatbázisba írok (később thumbnailt is akarok), és sajnos nem igazán jön össze
itt a feldolgozó kód:
$i=1;
foreach ($_FILES['media']['name'] as $extmedia) {
$extmedia = end(explode('.', $_FILES['media']['name']));
}
$i=1;
foreach ($FILES['media']['name']['$i'] as $dirmedia) {
$dirmedia = "./media/".$id."-".$i.".".$extmedia;
$i++;
}Az elsőben elvileg megnézi mi a kiterjesztése, a másodikban meg az id alapján kezdi el a fájl nevét majd kötőjel egy szám és beleírja a fájl kiterjesztését.
Csak épp nem akar megfelelően működni.
Illetve ha valakit tudja hogyan lehet könnyen és egyszerűen megoldani az egy kijelöléssel több fájl kiválasztását akkor azt örömmel venném.

-
Speeedfire
félisten
válasz
Sk8erPeter
#4969
üzenetére
Ezeket a dolgokat nem tudtam, próbálok majd jobban odafigyelni, h a kód, gyorsabb és átláthatóbb legyen.

Már az example sem megy sajnos

Adatbázissal is megy szépen, csak az érdekesebb php kódokkal van baja.
pl ~2000 soros html meg sem kottyan neki, de van h egy 100 soros php meg kiakasztja
Elég régi a stable verzió belőle 2008.x.x. lehet h 1-2 kód részlet miatt van ez.Meglesem majd régebbi php-val is, bár ettől függetlenül a szerveren meg nem tudom megváltoztatni sem.

-
Sk8erPeter
nagyúr
válasz
Speeedfire
#4962
üzenetére
"Azért van ott az ob_start() mert már megszoktam a használatát, akár milyen kicsi is a program használom."
Csak akkor használd, ha nagyon muszáj, mert egyébként nagyon rossz programozási gyakorlathoz vezethet, és más számára is kevésbé áttekinthető a program.
Ezenkívül tök felesleges ott alkalmazni, ahol egyáltalán nincs rá szükség (pl. nem akarsz az output után még átirányítani header()-rel), na meg ellenkezik az MVC-szemlélettel.
(Egy szóval: gányolás!
)"Miért baj echo-zni a statikus dolgokat?"
Felesleges lassítani a megjelenítést, ha gyorsabb is lehet. És megint csak az átláthatóság..."így olvastam a leírásokat a neten"
A net tele van szeméttel...
--
Geshi-vel kapcsolatban: már eleve az example.php sem megy? Nem néztem bele a kódjába, de elvileg nem kéne, hogy baja legyen magasabb számú PHP-verziókkal, de esetleg adhatnál neki egy próbát, hogy kipróbáld korábbival, mint az 5.3.0. Bár szerintem valahol máshol lesz a hiba.
A MySQL-rész NÉLKÜL is kipróbáltad már a kódodat? Ha anélkül sem megy, akkor nem az adatbázissal hozható kapcsolatba, legalább akkor ezt ki lehet zárni.Szerk.: ja, amúgy a kódodban az hibás, hogy a megjelenítés során is escape-elve jelennek meg az idézőjelek, aposztrófok és egyéb speciális karakterek (pl. echo \"valami\"
. Ettől függetlenül működik, csak rosszul jelenik meg a kód. -
maathe
senior tag
Hogyan lehet azt megoldani hogy ha valaki nincs bejelentkezve akkor ne tudja megnyitni pl. az index2.php-t? Itt arra gondolok hogy ha valaki még is ezt akarja megnyitni akkor dobja vissza az index.php-ra.
-
Speeedfire
félisten
válasz
Tele von Zsinór
#4965
üzenetére
Be van kapcsolva localhost alatt, de nem jelez semmit sem.

-
Tele von Zsinór
őstag
válasz
Speeedfire
#4964
üzenetére
Hibaüzenetek a fejlesztői gépen ugye be vannak kapcsolva? A php.ini display_errors beállítására gondolok. Dev gépen legyen be, prod gépen pedig kikapcsolva.
-
Speeedfire
félisten
válasz
Tele von Zsinór
#4963
üzenetére
localhost alatt azonnal, szerver alatt kicsit tölt
mind2 esetben beillesztettem a kódot az első sorba, de semmi válzotás.

set_time_limit(30);
-
Tele von Zsinór
őstag
válasz
Speeedfire
#4962
üzenetére
Azonnal ISE500, vagy pár másodperc várakozás után? Utóbbi esetben kifogysz a futási időből, a hibaüzenetet meg elrejti a php (display_errors = off). Pechedre az ezt megnövelő függvény a legtöbb ingyenes tárhelyen tiltva van, de azért egy próbát megér: set_time_limit().
-
Speeedfire
félisten
válasz
Sk8erPeter
#4961
üzenetére
konkrétan, hogy amikor postolom localhost alatt olyan mint amikor megszakad a net és nem találja a megadott oldalt
szereveren meg error 500-at dob ki
[link]Azért van ott az ob_start() mert már megszoktam a használatát, akár milyen kicsi is a program használom.
Miért baj echo-zni a statikus dolgokat?

Nekem már nagyon kézre esik ahogy csinálom, így olvastam a leírásokat a neten, ezért is használom így őket.

De ha elmagyarázod, hogy mi miért jobb akkor lehet megfogadom a tanácsodat.

-
Sk8erPeter
nagyúr
válasz
Speeedfire
#4960
üzenetére
nálam most localhoston:
PHP 5.2.6
Apache 2.2.8Kipróbáltam a Te kódodat is (kiszedve az adatbázis-műveleteket), az is jól működik nálam.
Konkrétan nálad mi a hibajelenség?Szerk.: amúgy a kódodban tök feleslegesen használod az ob_start(); függvényt, nyugodtan pakolhatnád még az output elé az átirányítást, megfelelően átírva a kódot.
Amúgy is értelmetlen az egész HTML-részt echo-val kiíratni, mivel annak többsége mindig statikus. Válaszd szét jobban a kódodat (pl. a MySQL-csatlakozást is tedd még az output elé), mert így nehezen átlátható, ráadásul nem túl elegáns. -
Speeedfire
félisten
válasz
Sk8erPeter
#4959
üzenetére
Milyen apache/php kombó van fent?

Az általam linkelt működik?php: 5.3.0
apache: 2.2.11lehet h valami php beállítás miatt van?

-
Sk8erPeter
nagyúr
válasz
Speeedfire
#4958
üzenetére
Kipróbáltam, tökéletesen működik localhoston.
Egy 1300 soros kóddal próbáltam ki...
Szerk.: a contrib/example.php segítségével próbáltam ki.
-
Orb1337
tag
válasz
Speeedfire
#4955
üzenetére
Nem ismerem a Geshit, lehet hülyeséget mondok, de:
<textarea name="szoveg" cols="50" rows="10"></textarea>ebben a beviteli mezőben tárolod a programkódot?
Arra gondolok, hogy nem fér bele a 10sorba az a kódmennyiség amit szeretnél tárolni, vagy túl hosszú a sor. -
Speeedfire
félisten
még sem működik megfelelően a geshi
nem próbálná meg más is? vagy esetleg hátha tudja miért lehet ez? [link]
se localhost alatt se szerveren nem működik megfelelően, ha egyszerű kódrészt illesztek be semmi hiba, de ha már valami komolyabbat akkor megadja magát (500as hiba)a contirb mappában van egy example.php azzal ki lehet próbálni, hogy megfelelő-e
-
Orb1337
tag
válasz
PowerBuldog
#4952
üzenetére
ATW-nél létre kell hozni a szerver gyökérkönyvtárában - talán wwwdir? - egy tmp nevű könyvtárat
(#4921) Tele von Zsinór megoldottam közben, egyszerű szintaktikai hiba volt

-
PowerBuldog
veterán
Üdv!
Egy egyszerű vendégkönyvet raktam ki az ATW-re, de ez lett belőle: [link]

A saját gépemen még működött. Mit kell módosítani, hogy az ATW-n is működjön?
-
fordfairlane
veterán
-
Sk8erPeter
nagyúr
Na de lehet, hogy a korábban feltöltött adatok nem UTF-8 kódolással kerültek az adatbázisba, így utólag kellene javítani őket. De ezt könnyen ki tudod deríteni, hogy az volt-e a gond, ha ugyanazzal a módszerrel, amivel a korábbi adatok bekerültek, feltöltesz valami új bejegyzést az adatbázisba, csak annyi különbséggel, hogy az általam előbb írtakat is beleteszed, majd azt is lekérdezed, megnézve, hogy javult-e. Ha igen, akkor ki kell javítani a korábbi bejegyzéseket.
-
whYz
őstag
válasz
Sk8erPeter
#4948
üzenetére
Biztosan UTF8-asok a fájlok, amit html-be írok utf8-al azokat meg is jeleníti rendesen. Egyedül a php lekérdezésekkel van gond.
Amit írtál az se segít.

-
Sk8erPeter
nagyúr
Győződj meg róla Notepad++-ban, hogy biztosan UTF-8 kódolásúak-e a fájljaid, és mielőtt adatbázis-műveleteket hajtasz végre, a MySQL-csatlakozás után küldj ki egy ilyet:
mysql_query('SET NAMES utf8');Az oldal legelejére, minden output előtt pedig állítsd be a fejlécet UTF-8-ra:
header('Content-Type: text/html; charset=utf-8'); -
Sk8erPeter
nagyúr
"Én úgy szoktam csinálni, hogy nem használok echo-t, hanem egy $html vátozóba írom a html outputot."
Én is így csinálom két oldalnál is, de pont azt mondta pár hónappal ezelőtt Tele von Zsinór, hogy PHP-ban a stringműveletek relatíve lassúak. -
whYz
őstag
Bocsi a hülye fogalmazásért.
PHPmyadminban nézem, ott jelenik meg így: "ü Å‘ ö"
A mysql ugye full utf8, a phpmyadminnal együtt, tehát itt egy mezőbe beírok utf8-al, azt egy php lekérdezés(egy egyszerű utf8-as oldal) nem tudja megjeleníteni. Tehát ékezetek helyett ilyen lesz: "�"default charset apache-ban, mysql-ben és php5-ben és utf8-ra van állítva.
-
L3zl13
nagyúr
Pár kérdés:
"Ha php-val mysql-be mentem a szöveget, akkor az ékezetek helyett ilyenek jelennek meg: ü Å‘ ö"
Hol jelennek meg így?"De lekérdezésnél normálisan megjeleníti az ékezeteket."
Hol kérdezed le?"Ha manuálisan beírok valamit utf8-al mysql-be"
Hogy írod be manuálisan? -
whYz
őstag
Sziasztok!
Karakterkódolással lenne egy kis gondom.
Ha php-val mysql-be mentem a szöveget, akkor az ékezetek helyett ilyenek jelennek meg: ü Å‘ ö
De lekérdezésnél normálisan megjeleníti az ékezeteket.
PHP5-öt használok, és mindenhol minden UTF8-ra van állítva. Ha manuálisan beírok valamit utf8-al mysql-be, akkor azt a php megint nem tudja normálisan megjeleníteni.Mit kell, hol átálítanom, hogy normális legyen?

Bocsi ha hülyeséget kérdeztem, vagy ha már 5milliószor megtárgyaltátok.
-
Speeedfire
félisten
válasz
Tele von Zsinór
#4942
üzenetére
Akkor valóban emiatt nem jelzi.
Szerveren másik php van fent mint localhost alatt. localhoston az 5.3.0, ami a php manual szerint nem támogatja már a magic quotes-t
-
Tele von Zsinór
őstag
válasz
Speeedfire
#4941
üzenetére
localhost alatt nem jelzi az escapelést, míg szerveren rendesen látszódik.
Úgy hangzik, mintha a magic_quotes_gpc beállításod nem ugyanaz lenne a két gépen.
-
Speeedfire
félisten
válasz
Tele von Zsinór
#4939
üzenetére
megjelenítéskor van a hiba, a szöveget rendesen eltárolja
sima echo meg is jeleníti, de amikor a geshit ráeresztem azt írja a mozilla, hogy az oldallal a kapcsolat megszakadt
szerveren meg belső hibát jelez error 500úgy néz ki összefog talán jönni

valóban az lehet a gond, h utólag akarom színezni és nem egyből feltöltéskorérdekesség: nem tudom h mi miatt lehet, de localhost alatt nem jelzi az escapelést, míg szerveren rendesen látszódik.

PazsitZ: néztem már azt is, jobban mondva a highlight_string() függvényt, de a sorokat mindenféleképpen számozni szerettem volna, így meg h van kész megoldás rá, akkor nem szenvedek vele
nekem elég lenne a php és a html is -
PazsitZ
addikt
válasz
Speeedfire
#4938
üzenetére
A highlight_file nem elég?

lásd pl itt: [link]mod: látom te sokféle fájl akarsz kiemelni, akkor tényleg nem elég.

-
Tele von Zsinór
őstag
válasz
Speeedfire
#4938
üzenetére
Hogy tisztázzuk: hol a gond, megjelenítésnél vagy tárolásnál?
Optimalizálási tipp: tároláskor küldd rá a geshit, ne megjelenítéskor. -
Speeedfire
félisten
Lenne egy kérdésem, egy pastebin oldal szerűséget akarok csinálni elsősorban magam részére.
Kész is van a kód működik rendesen, viszont ha van benne mysql is akkor már végre akarja hajtani, beraktam neki a mysql_real_escape_stringet() így most meg nem jeleníti meg a kódot, html kóddal vagy sima php kóddal tökéletes. Maga a motor geshi.tipp, ötlet?
-
maathe
senior tag
Hát nem igazán jött össze, még mindig ezt írja ki:
Warning: Cannot modify header information - headers already sent by... -
zka67
őstag
Én úgy szoktam csinálni, hogy nem használok echo-t, hanem egy $html vátozóba írom a html outputot.
$html .= '<p>akarmi az outputon</p>';
Majd a legvégén íratom csak ki így:
echo $html;
Ha közben header-t kell használnom, akkor így azt gond nélkül megtehetem.
A másik megoldás az ob_clean(); Ez töröl mindent, ami addig az outputra került, így közvetlenül utána már használható a header:
if (strpos($page, $ptz1) == true) {
echo "CLOSED";
} else {
ob_clean();
header("Location: redirect.php");
} -
maathe
senior tag
Lenne egy kis gondom. Ez miért nem akar működni?
if(strpos($page, $ptz1)==true){
echo "CLOSED";
}
else { header("Location: redirect.php");
}Ezt a hibát dobja:
Warning: Cannot modify header information - headers already sent by (output started at /mnt/storage/virtual/lockerzclub.org/htdocs/alerter/index.php:10) in /mnt/storage/virtual/lockerzclub.org/htdocs/alerter/index.php on line 16Line 16: else { header("Location: redirect.php");
Pontosabban nekem csak egy redirect parancs kellene, de ez a fajta sehogy sem akar összejönni.
Mi lehet a gond? -
PazsitZ
addikt
válasz
Speeedfire
#4929
üzenetére
A megfelelő resouce-hoz a megfelelő eredményt kapod, igen.

-
PazsitZ
addikt
válasz
Speeedfire
#4927
üzenetére
-
Speeedfire
félisten
válasz
pirk.lajos
#4926
üzenetére
ilyet nem találtam

de nem adom fel
más:
hogy lehet/szokták azt megcsinálni, hogy amikor ír valaki egy commenetet, akkor egyből lehet tudni az id-jét(sorszám)?
pl amikor ph-n is beküldök valamit akkor már az elején tudni lehet a sorszámota konkrét példa
van egy formom, amiben csak egy szöveg van, ezt töltöm az adatbázisba és a sorszám alapján generálok egy md5 kódot, majd ha sikerült akkor a már adatbázisba bekerült adatot szeretném kiíratni
-
pirk.lajos
csendes tag
válasz
Speeedfire
#4925
üzenetére
Weblaboron találhatsz.
-
Speeedfire
félisten
valaki nem tud valami átfogó magyar leírást a keretrendszerekről?
mikor, miért érdemes használni? melyik mit tud? ki melyiket ajánlja és miért? milyen feltételei vannak a használathoz server oldalon stb
-
Speeedfire
félisten
válasz
Tele von Zsinór
#4923
üzenetére
Úgy értve, hogy nem találja.
-
Tele von Zsinór
őstag
válasz
Speeedfire
#4922
üzenetére
Mi az, hogy nem tudja értelmezni?

Nézd meg az egyik, az aláírásomban szereplő oldalt: tibia.hu. Itt is vannak aldomainek (az oldal nyelvének meghatározására), és /-el kezdődően vannak behúzva a css-ek és a képek. Remekül működik. -
Speeedfire
félisten
válasz
Tele von Zsinór
#4920
üzenetére
akkor nem tudja értelmezni

szerintem az aldomain miatt lehet valami, csak még nem tudom, hogy mi, de remélem hamar rájövök mert ez így ....
-
Tele von Zsinór
őstag
válasz
Speeedfire
#4918
üzenetére
És ha /-el kezdődő url-eket használsz a script meg link tagokban? Így a hosttól kezdi nézni a böngésző.
-
Orb1337
tag
válasz
Tele von Zsinór
#4917
üzenetére
Igen, ez az osztálynév, windows xamppon jó, unix szerveren, ha csak az első betü nagy akkor ott is, hiba akkor van, ha több nagybetüt tartalmaz vagy _-t.
-
Speeedfire
félisten
válasz
Tele von Zsinór
#4916
üzenetére
Lehet h csak local serveren van ilyen gondom (wampserver), élesben ugye semennyire sem megy.
Pedig már ilyet is belőttem a htaccess-be:
RewriteRule .*\.(css|jpe?g|gif|bmp|png|ico)$ - [L]
de semmit sem használt, sem a
<base href="http://<?php echo $_SERVER['HTTP_HOST']; ?>" />Szóval megvagyok lőve teljesen

Ezért csináltam azt h az index.php feldolhozza a get-et és megmondja, hogy mi az elérési útja a css fájlnak és a faviconnak
-
Tele von Zsinór
őstag
válasz
Speeedfire
#4914
üzenetére
Amire te gondolsz amiatt van, mert a böngészők mappá(k)nak nézik a te keresőbarát url-ed. Megoldás lehet a statikus dolgoknál az abszolút url, a /-el kezdődő url, vagy a <base> tag.
-
Orb1337
tag
Van arra lehetőség, hogy az autoload webszerveren betöltse az olyan modulokat, aminek neve több nagybetűt is tartalmaz pl: Action_Hir.php
Localhoston xamppal tesztelve jól működött , viszont tárhelyen megdöglött, nem találja az osztályt, csak miután átírom a fájlnevet. -
Speeedfire
félisten
válasz
Sk8erPeter
#4912
üzenetére
Köszi, működik.
A JS topicban ugye írtam a keresőbarát url-ekkel szenvedek.
Sajnos bármit írok be neki a képes és css fájlok is "elmozdulnak" és ezért kellett ez a "feltételvizsgálat". Bár nálam kicsit hosszabb már így is, elég sok mindent vizsgálnom kell.
-
PazsitZ
addikt
válasz
Speeedfire
#4911
üzenetére
Reguláris kifejezésekkel lehet ilyesmi összehasonlításokat végezni a megfelelő függvényegkkel.
pl. preg_match(#4908) fordfairlane Valóban rosszul fogalmaztam, hogy nem kiszűrni, hanem escapelni kell őket, mert speciális jelentésű karakterek. Igen, egyértelműen nem kell hozzá támadási szándék, hiszen már egy angol szövegben is előfordulhat többek között aposztróf '.
-
Sk8erPeter
nagyúr
válasz
Speeedfire
#4911
üzenetére
Bár nem igazán értem az értelmét a kódodnak, reguláris kifejezéssel ilyen lenne:
elseif ( isset($_GET['sorszam']) and (!preg_match('[\/admin\/.*]', $oldal) ) ){
...
}Remélem stimmel, nem teszteltem túl hosszan, de 3 dologra jól működött.
-
Speeedfire
félisten
válasz
Tele von Zsinór
#4910
üzenetére
konkrétan egy ilyenre:
elseif (isset($_GET['sorszam']) and ($_GET['oldal'] !== '/admin/[B]*[/B]')) {
$perjel = '../';
}ahol a get értéke /admin/valami szóval az admin mappa alatt lévő összes tartalomhoz
nem akarom az összes kifejezést felsorolni -
Tele von Zsinór
őstag
válasz
Speeedfire
#4909
üzenetére
Mire kell?
-
Speeedfire
félisten
a php-ban van valami joker karakter? mi pl az op rendszereknél a * ?
-
fordfairlane
veterán
válasz
PazsitZ
#4904
üzenetére
A mysql_real_escape_string semmit nem szűr ki. Azokat a karaktereket alakítja át (escapeli), amelyek az SQL-ben speciális jelentéssel bírnak, vezérlőkarakterek. Ezeket megjelöli úgy, hogy ne vezérlőkaraktereknek, hanem a tartalom részeként kerüljenek felhasználásra a queryben. Nem feltétlenül támadást jelent a dolog, hisz ilyen karakter az idézőjel is, ami lezárja a stringet, de ilyen karakter szöveges tartalomban előfordulhat.
-
PazsitZ
addikt
válasz
Speeedfire
#4905
üzenetére
Rosszul fogalmaztam, speciális esetet leszámítva nem kell kiszűrni csak a támadási lehetőséget kivédve megfelelően lekezelni: escapelni.
-
PazsitZ
addikt
válasz
Speeedfire
#4903
üzenetére
(mysql_num_rows(mysql_query("SELECT url FROM linkek_tartalom WHERE (url LIKE '%(".$_POST['url'].")%') ")) > 0)
A mysql_real_escape_string nem ellenőrzésre van, hanem arra szolgál, hogy az sql speciális karaktereit kiszűrje. Ezen karakterek validak, csak az sqlben kapnak speciális jelentést, így ilyen köürnyezetben escapelni kell őket.
-
Speeedfire
félisten
Majdnem ugyanazt csináltam én is, csak te kevesebb sorral.

biztonság témával kapcsolatban:
ez a cikket olvastama login és a reg oldalon már használtam a md5() és addslashes() függvényeket a többin még eddig nem
ha jól értem adatbázis feltöltéskor ezt mindig oda kell írni a változó elé:
mysql_real_escape_string($_POST['ertek'])De nem lehet ezt már egyből ellenőrzéskor megnézni?

ugye a függvény annyit tesz, hogy kiescapeli a ' és " jeleket
ellenőrzéskor csinálok egy ilyet?if (strlen($_POST['ertek']) !== srtlen(mysql_real_escape_string($['ertek'])))
echo 'ne csalj !';vagy hülyeséget írok már megint?

melyiket mikor és hol érdemes használni?
illetve, ebben a sorban mi lehet a hiba?

(mysql_num_rows(mysql_query("SELECT url FROM linkek_tartalom WHERE (url LIKE '%($_POST['url'])%') ")) > 0)
-
zka67
őstag
válasz
Speeedfire
#4900
üzenetére
Persze, hogy megoldható. Méghozzá nagyon egyszerűen:
for ($page... {
$current_li = ($page == $currentpage) ? ' id="current" : '';
echo '<li'.$current_li.'>'.$menu[$page].'</li>';
}Ahol $page az oldalak száma, $currentpage az aktuális oldal, a $menu tömbben pedig a menüsorok vannak.
-
Speeedfire
félisten
válasz
Speeedfire
#4900
üzenetére
Úgy érzem valami azért csak ragadt rám tőletek.

<?php $url = str_replace("/!!!linkek.tothszabi.info/","",$_SERVER['REQUEST_URI']);
echo '<div id="nav">
<ul>
<li'.(($url == '?oldal=kategoria') ? ' id="current"' : '').'><a href="?oldal=kategoria">Főoldal</a></li>...........;
Új hozzászólás Aktív témák
- Eladó vadonatúj Huawei FreeBuds Pro 4 fülhallgatók! (Bontatlan 24 hónap garancia)
- HIHETETLEN! DE ÚJ DOBOZOS LAPTOPOK AKÁR FÉLPÉNZÉRT FÉLÁRON !!! ///////// FÉLPÉNZES LAPTOP //////////
- Szép HP EliteBook 840 G9 "Kis Tervező" Érintős Ultrabook Fémház 14"-40% i7-1265U 32/1TB Iris Xe FHD+
- Profi! HP EliteBook 840 G9 Hordozható Érintős Ultrabook Fémház 14"-40% i7-1265U 32/512 Iris Xe FHD+
- Villám! HP EliteBook 840 G9 Hordozható Érintős Ultrabook Fémház 14"-40% i7-1265U 16/512 Iris Xe FHD+
- HIBÁTLAN iPhone 12 Pro Max 256GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3299,100% Akkumulátor
- Bomba ár! Lenovo ThinkPad T450s - i5-5GEN I 8GB I 240GB SSD I 14" HD+/FHD I Cam I W10 I Garancia!
- GYÖNYÖRŰ iPhone 12 Mini 128GB Purple-1 ÉV GARANCIA - Kártyafüggetlen, MS3630,94% Akkumulátor
- Bomba ár! HP EliteBook 820 G2 - i5-5GEN I 8GB I 256GB SSD I 12,5" FHD I Cam I W10 I Garancia!
- 142 - Lenovo LOQ (15IAX9) - Intel Core i5 i5-12450HX, RTX 4060 (ELKELT)
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest









. Ettől függetlenül működik, csak rosszul jelenik meg a kód.



