- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- További kavarás a Pixel 10-ek körül
- Motorola Moto Tag - nyomom, követ
- Android szakmai topik
- Samsung Galaxy Watch7 - kötelező kör
- Hivatalos a OnePlus 13 startdátuma
- Honor 200 Pro - mobilportré
- Milyen okostelefont vegyek?
- Mobil flották
- Yettel topik
Új hozzászólás Aktív témák
-
Tele von Zsinór
őstag
válasz
Speeedfire #5321 üzenetére
Tegyél idézőjelet minden érték köré, lásd `mezőnév` = "érték", azt látom, legalább a mysql_real_escape_string() hívás megvan. Számok köré is, ha a felhasználótól kapod.
-
nuendo
tag
válasz
Speeedfire #5318 üzenetére
van egy jó kis oldal ilyen forráskódelemző....csak sajna nem tom a címét..este othon leszek és már tudni fogom, de létezik ilyen!!
-
Tele von Zsinór
őstag
válasz
Speeedfire #5318 üzenetére
Első blikkre rögtön gyanús, hogy nincsenek idézőjelek a string értékeid körül. Mutasd a queryt, ami a hibát okozza.
-
biker
nagyúr
válasz
Speeedfire #5313 üzenetére
pedig hasonlóan csinálnám én is
-
nuendo
tag
válasz
Speeedfire #5313 üzenetére
a lényeg először is hogy felejts el azt a html táblázatot, mert ha dinamikusan akarsz bele iratni dolgokat..akor majd a php print vagy echo-ba ird ki!
-
biker
nagyúr
válasz
Speeedfire #5311 üzenetére
ha nem mondod el mi kell, hogy segítsek?
-
biker
nagyúr
válasz
Speeedfire #5309 üzenetére
amennyre értem, mit akarsz, lehet hát.
-
Speeedfire
félisten
válasz
Speeedfire #5304 üzenetére
stornó
-
Gyuri16
senior tag
válasz
Speeedfire #5290 üzenetére
igen, az jo lesz, de masodik parameternek ENT_QUOTES-t valaszd, kulonben a ' jeleket nem konvertalja. harmadik parameternek megadhatod neki a kodolast is (ezzel is lehet trukkozni, pl googlenak volt olyan xss sebezhetosege ami akkor jelentkezett, ha a a tamado string utf-7es volt)
persze a paranoiasok azt mondjak, hogy blacklist helyett inkabb whitelistet hasznalj, tehat mindent szurj ki, amit nem akarsz hasznalni (pl id tipikusan csak szam lehet, akkor egyszerubb megmondani, hogy minden a szamokon kivul rossz)
-
pumatom
aktív tag
válasz
Speeedfire #5278 üzenetére
Köszi!
Üdv! -
Gyuri16
senior tag
válasz
Speeedfire #5287 üzenetére
ok ez igy jo is, viszont attol meg sebezheto a kod. ha egy jol osszerakott url-t elkuld egy tamado neked amikor be vagy jelentkezve (es te rakattintasz), akkor el tudja erni, hogy a te jogaiddal fusson le script az oldalon. ezzel pedig csunya dolgokat lehet elkovetni - ellopni a session cookiet, kitolteni valamilyen formot az oldalon es elkuldeni.. cross site scriptingnek hivjak ezt a fajta tamadast, es elegge elterjedt (es igen, tamadjak is)
-
Gyuri16
senior tag
válasz
Speeedfire #5285 üzenetére
hat akkor meg plane biztonsagosra kell csinalni
szerintem jo megszokni, hogy minden bemenetet ellenorizz. ha ezt csak egy oldalon hasznalod, es rajtad kivul senki se latja a kodot, akkor valoszinuleg senki se fogja megtamadni, de minek otthagyni egy potencialis veszelyforrast, ha egyszeruen ki lehet iktatni. -
Gyuri16
senior tag
válasz
Speeedfire #5279 üzenetére
latom a problema megoldodott, de egy jotanacs: sose irass ki ellenorzes nelkul olyan szoveget ami a felhasznalotol jon (konyvtar valtozo). specialis charaktereket szurd ki/ konvertald at html jelekre (leginkabb ezek: < > " ' )
-
nuendo
tag
válasz
Speeedfire #5281 üzenetére
fő hogy ne add fel!
-
L3zl13
nagyúr
válasz
Speeedfire #5279 üzenetére
Összehasonlítottad a szerver által visszaküldött forrást azzal amit kapni szeretnél?
Az ilyen visszaechózott HTML/javascript dolgoknál elég gyakori, hogy valahol elnéztél egy idézőjel escape-elést, vagy stringbe ki-be lépést és aztán bár nincs hibaüzenet, a böngészőnek küldött kód nem az amit te hiszel.
-
L3zl13
nagyúr
válasz
Speeedfire #5275 üzenetére
Törölve. Valamit elnéztem.
-
Speeedfire
félisten
válasz
Speeedfire #5270 üzenetére
ismét kiderült mennyire figyelmetlen vagyok
első sor után nem volt lezárás ;
-
nuendo
tag
válasz
Speeedfire #5266 üzenetére
igen, ahogyan speeedfire is irja, és ahol nem azt az értéket irja ki amire te vártál, ott a hiba
-
L3zl13
nagyúr
válasz
Speeedfire #5266 üzenetére
Beszúrsz echo-kat és kiiratod a változók értékeit, összefűzött stringet amiket később használsz.
-
ArchElf
addikt
válasz
Speeedfire #5264 üzenetére
Akkor valami apró hiba lehet... Végéről nem marad le a "/" ?
Hogy hívod meg közvetlenül? Debugolva jónak tűnik, az összefűzött string?Amúgy én ezt a string szintaktikát jobban szeretem (kicsit jobban átlátható, de csak akkor működik, ha nincs array elem hivatkozás):
"Link: http://linkek.tothszabi.info/$webcimen-$sorszam"AE
-
ArchElf
addikt
válasz
Speeedfire #5262 üzenetére
De.
Nem lehet, hogy az a hasonló, csak hasonló ehhez, és van benne valami hiba?
Mi nem akar működni benne?AE
-
hege01
tag
válasz
Speeedfire #5247 üzenetére
Köszi, próbálkozom. Ha elakadok majd jövök segítségért kuncsorogni.
Üdv.
-
Speeedfire
félisten
válasz
Speeedfire #5250 üzenetére
meg is lett a hiba, a parse_str() ezek szerint nem teljesen úgy működik ahogy gondolom
a bekuld.php oldalra beillesztettem ezt:
if (isset($mi)) {
$_GET['mi'] = $mi;
}Így megfelelően működik.
-
zka67
őstag
válasz
Speeedfire #5248 üzenetére
Nem nagyon követtem, hogy mit csináltok, de valami szúrja a szemem:
A 'bekuld.php&mi=2' szerintetek jó? Mert szerintem így lenne helyes:
bekuld.php?mi=2
-
hege01
tag
válasz
Speeedfire #5244 üzenetére
Szia,
Akkor leírnám hogy mit szeretnék valójában.
Van egy weboldal amit én szoktam karbantartani, frissíteni stb., egy egyszerű HTML lap.
Most ki kéne alakítani egy hírlevelet az oldalon, aki akar az megadja az e-mail címét és akkor kap hírlevelet az akciókról, termékekről stb.
Lényegében erről lenne szó.
Én is nézelődtem és ezt találtam:
[link]Nem tudom hogy a Te általad linkelt egyszerűbb e mint ez.
Mindenesetre köszönöm a segítséged.Üdv.
-
biker
nagyúr
válasz
Speeedfire #5244 üzenetére
ok, így működik, de alapesetben hibát dob, én meg nem tudhattam, te mit állítgattál el
-
biker
nagyúr
válasz
Speeedfire #5233 üzenetére
értem, de az a link, hogy fileneve.php&valami=valami az nem fog jó lenni, mert az első jel az ?, után minden &
-
hege01
tag
válasz
Speeedfire #5237 üzenetére
Hi,
Nagyon köszönöm a gyors választ.
Van egy oldal amire szeretnék egy hírlevél feliratkozási lehetőséget rakni, tehát nem konkrét mail címekre szeretném a hírlevelet küldeni. Kész, szabadon felhasználható megoldások érdekelnek.
Én nem vagyok annyira otthon a program írásban mint ti.
Nem tudom így menni fog e?Köszi
-
Gergello
addikt
válasz
Speeedfire #5239 üzenetére
Bele kell azért gondolni, hogy mire kell. Én olyan 30-40k hírlevelet küldök ki egy hónapban, 10k-s bontásban. Arra nem biztos, hogy érdemes saját megoldást írni. Biztos vannak kész megoldások is, én mondjuk egy joomla komponenst használok.
Pont ezt miatt a sok hírlevél miatt gázos a tárhely választás...
-
Gergello
addikt
válasz
Speeedfire #5237 üzenetére
Leiratkozásra érdemes gondolni. Egy flag rá az adatbázisban.
-
Speeedfire
félisten
válasz
Speeedfire #5233 üzenetére
nah! közben rájöttem
a feltöltésben ' között volt, ezt lecseréltem " és most így jó
x123456: egyszerű júzer error volt -
x123456
aktív tag
válasz
Speeedfire #5231 üzenetére
Nekem az az & jel gyanús... nem lehet, hogy az adatbáziskezelőd megpróbálja az &tipus-t makro változóként értelmezni?
-
biker
nagyúr
válasz
Speeedfire #5231 üzenetére
mondjuk a tartalom.php után az első jel az kérdőjel lenne??
-
vzs
tag
válasz
Speeedfire #5227 üzenetére
Egyszerű a dolog: a szerkesztő oldal forrásában találsz egy ilyen sort:
external_link_list_url : "js/link_list.js",
external_image_list_url : "js/image_list.js",Írd át a hivatkozott filet .php-ra és a .js fileban található módon listáztasd ki a kép fileokat egy könyvtárból a képekhez.
A linklistát pedig az adatbázisból listáztasd.
Én külön képfeltöltő programot írtam hozzá, ami nem függ össze a Tinymce-vel, külön oldalon tudok képeket feltölteni egy mappába, ezeket listázom a szerkesztőbe a fenti módon.
Tanulmányozd a szerkesztő forrását, mást is lehet így listázni.
-
Gergello
addikt
válasz
Speeedfire #5222 üzenetére
Hirtelen tetszik, csak az ijeszt meg, hogy ingyenes.
Nekem kicsit para, komoly céges holnapot rápakolni. -
DeltaPower
addikt
válasz
Speeedfire #5222 üzenetére
http://www.dreamhost.com/
mi most ezt próbáltuk ki és elég jó. -
DeltaPower
addikt
válasz
Speeedfire #5218 üzenetére
igen, csak idézőjelbe kell tenni a színeket
-
L3zl13
nagyúr
válasz
Speeedfire #5216 üzenetére
Nem hiszem, hogy gond lenne 10 inserttel, de szerintem elegánsabb és gazdaságosabb 1 inserttel megoldani.
Ha ciklusban áll össze, hogy mit kell feltölteni, akkor a cikluson belül csak a query stringet adogasd össze és a ciklus után egyszerre töltsd fel az egészet.
insert into tabla (oszlop1, oszlop2, oszlop3) values (érték1,érték2,érték3) ,(érték_a,érték_b,érték_c),...,(érték_x,érték_y,érték_z)
-
DeltaPower
addikt
válasz
Speeedfire #5213 üzenetére
filemtime()
(ha távoli tartalom módosítási dátumát akarod lekérdezni, a user kommentek közt vannak rá példa scriptek)fájlneveket (elérési úttal, url-el stb) és dátumokat letárolod adatbázisba és azzal hasonlítod össze fájl dátum lekérés után.
-
krokk
senior tag
válasz
Speeedfire #5209 üzenetére
hol az if ág?
mert így jelen pillanatban csak if-nek kéne lennie else nélkül.
ha előtte van az if akkor viszont kimaradt az if zárójele "}" -
PazsitZ
addikt
válasz
Speeedfire #5209 üzenetére
Mert az if és elseif között nem lehet semmilyen művelet
az értékadást
$megszamol = count(explode(' ', $_POST['szoveg']));
rakd ki az if elé. -
x123456
aktív tag
válasz
Speeedfire #5204 üzenetére
3x???
Az hogy lehet? Egy cookie tudtommal csak egy példányban létezhet adott oldalon...
Rosszul tudok valamit? -
L3zl13
nagyúr
válasz
Speeedfire #5202 üzenetére
Böngészőben megvan a cookie? Bezárás/újra megnyitás után is ott van?
-
L3zl13
nagyúr
válasz
Speeedfire #5146 üzenetére
Amint AE írta, ne futtasd kétszer fölöslegesen a lekérdezést.
+ Ellenőrizd, hogy volt-e eredménye a select-nek. Ha nem, akkor ne insertálj.Ehelyett:
if (!mysql_query($tabla,$con)) {
die('Hiba: ' . mysql_error());
}
$row2 = mysql_fetch_assoc(mysql_query($tabla));
$fid = $row2['id'];
$katid = $row2['sorszam'];Vmi ilyesmit:
if (!($result=mysql_query($tabla,$con))) {
die('Hiba: ' . mysql_error());
}
if(!(mysql_num_rows($result)>0)) {
die('A megadott nick és kategória nincs benne az adatbázisban.');
}
$row2 = mysql_fetch_assoc($result);
$fid = $row2['id'];
$katid = $row2['sorszam']; -
ArchElf
addikt
válasz
Speeedfire #5144 üzenetére
Mi az adatbázis hiba, mit jelent az, hogy "rossz adatokat eredményez"?
Ráadásul kétszer futtatod le a query-t, miért jó az?
Add át az első query értékét egy változónak és dolgozz azzal utána.Ez meg igazi SQL Injection forrás:
WHERE ((linkek_users.nick = '".$_SESSION['nick']."') and (linkek_kategoria.kat = '".$_POST['kategoria']."'))";AE
-
Tele von Zsinór
őstag
válasz
Speeedfire #5141 üzenetére
Ha adminfelületen csinálod a backupot, az el lesz felejtve. Legyen automatizálva crontabbal, töltse fel valahová, vagy küldje el mailban. Én az utóbbi megoldást használom.
-
DeltaPower
addikt
válasz
Speeedfire #5139 üzenetére
mysqldump, vagy phpmyadminnal lemented. phpben megírni elég jó meló, bár meg lehet csinálni azt is, hogy simán csv-be lemented
-
j0k3r!
őstag
válasz
Speeedfire #5133 üzenetére
lehet, hogy en nem vettem eszre valamit, de nem talaltam meg a linkben a megoldast, de:
print_r($_POST);
hatasara
ff, chrome, safari alatt:
Array ( [season_x] => 52 [season_y] => 13 [season] => s01 )
ie, opera alatt:
Array ( [season_x] => 71 [season_y] => 26 )szoval mostmar egyertelmu, hogy a $_POST["season"] ures :/
-
Frigo
őstag
válasz
Speeedfire #5111 üzenetére
Általános OOP könyvet nem nagyon fogsz találni .Egy jó Java könyv viszont remek kiindulási alap azért is mert a PHP alkotói erősen merítettek a Java-ból az OOP implementálásakor.Én személy szerint ezt a könyvet ajánlom : [link]
Ha ragaszkodsz a PHP-hez akkor ezeket az angol nyelvű könyveket érdemes megnézni:
[link]
[link]Illetve a weblaboron találsz kismillió leírást ,tutorialt .
-
x123456
aktív tag
válasz
Speeedfire #5111 üzenetére
Mondjuk elméleti téren én is eléggé tudatlannak érzem magam, de úgy tudom, a C-beli struct az szimpla rekordszerkezetek leírására való eszköz az "ős" C-ben. Annak meg vajmi kevés köze van az OOP-hoz.
PHP részéhez egyáltalán nem tudok hozzászólni, azt csak hagyományos nyelvként használgattam, az OO része kimaradt, de java kapcsán nem igazán értem, mi bajod van a ponttal...OOP egyébként (bocs, kissé szaxerűtlenül fogalmazok) inkább elméleti dolog. Ahány nyelv, annyiféle megvalósítása van - mondom ezt olyan alapon, hogy először a Turbo Pascal 5.5-ben találkoztam valami OO kezdeménnyel, rögtön utána tettem egy kis Java-s kitérőt, majd a minimális Java ismereteim birtokában "bepróbálkoztam" az objektumorientált perl-nél is, amit kb. úgy adtam fel, ahogy most te a javaról írtál.
-
Tele von Zsinór
őstag
válasz
Speeedfire #5097 üzenetére
Nem csak a tinymce, sőt: az asztali szövegszerkesztők (word, OOo writer) is így viselkednek: enter = új bekezdés, shift+enter = sortörés.
-
zka67
őstag
válasz
Speeedfire #5097 üzenetére
Csak ha két entert ütsz.
Hmmm... télleg. De a Shift-Enterrel BR-t szúr be. -
Ősember
őstag
válasz
Speeedfire #5090 üzenetére
az a baj hogy semmit
a $pos1 után azért kell 2, mert nulladik akraktert is számol, ezért a 2 lényegében 3 karaktert jelent, de ide mindegy milyen számot irok be, mert egész egyszerűen üresség lesz az eredmény, tehát semmit nem dob.
sajnos nem én irtam ezt a kódot, ezért csak arra tudok következtetni, hogy a +22 arra kell, hogy a következő lépésben lehessen if-et használni
ez alapján dolgoztam
substr('abcdef', 0, 4); // ezt kell dobnia: abcdnálam:
(substr($content,$pos1,3);nem látom sajnos a hibát
-
Ősember
őstag
válasz
Speeedfire #5084 üzenetére
sajnos a 3 = után is változatlan a helyzet
rel='nofollow', igy fogadta el
a termékleirás csak egy opcionális mező, oda szoktam néha beirni a gyártó oldalán a közvetlen a termékhez vezető linket, vagy ha van valami extra tudnivaló a termékkel kapcsolatban
title és alt beillesztveezeket pótolni fogom a többi oldalon is
-
Tele von Zsinór
őstag
válasz
Speeedfire #5080 üzenetére
A célszerver adatbázismotorjának beállításától függ. Ha engedik a külső kapcsolódást, akkor meg is vagy: localhost helyett a szerver címét írod be.
Ingyenes tárhelyekről nincs tapasztalatom, de egy megnézést megér. -
Ősember
őstag
válasz
Speeedfire #5082 üzenetére
és igen
lemaradt az árfolyamnéző modul, nézd meg te is a linket
köszi szépen!
a (#5077) hsz-ben leirtra esetleg valami?
-
zka67
őstag
válasz
Speeedfire #5076 üzenetére
Napi 1-et tudsz regisztrálni
-
egyjotakaro2
tag
válasz
Speeedfire #5074 üzenetére
Köszi, majd át olvasom
Am kerestem már, mert az atw.hu szigorított az ftp elérésen, és külföldről nem tudok rá csatlakozni, de a p8.hu-nál mindig van valami problém... -
egyjotakaro2
tag
válasz
Speeedfire #5072 üzenetére
persze, egy komplett oldal volt/van fent rajta.FTP-re fel tudok menni, minden meg van.
-
wis
tag
válasz
Speeedfire #5060 üzenetére
Annyira azért nem érdekes
Végig egyszeres aposztrófot használsz, ráadásul így a $cimke sem helyettesítődik be.
Nullával osztás meg azért lesz, mert a % a maradékos osztás operátor, a php emiatt számot vár, át is alakítja a stringeket nullává... -
Speeedfire
félisten
válasz
Speeedfire #5059 üzenetére
érdekes, hogy ha kicserélem ezt:
$hasonlocimke .= 'adatok.tags LIKE '%'.$cimke[$i].'%' ';
erre akkor már jó:
$hasonlocimke .= "adatok.tags LIKE '%$cimke[$i]%' ";
szóval mostmár biztos h én rontottam el valamit
-
pckownz
őstag
válasz
Speeedfire #5047 üzenetére
Igen itt egy body{ } nevű rész. Itt ha margin:0 auto; -t adok meg, akkor marad a helyén.
Viszont ha margin-left: ; margin-right: ; és a left-et növelem, akkor betolja középre. Van olyan parancs amivel statikusan lehetne középre lőni? Most jelenleg 1024-alól vagyok, és ami nekem közép, az nem hinném, hogy az 1440*x felbontáson is közép lenne. -
zka67
őstag
válasz
Speeedfire #5043 üzenetére
Csak ennyit módosíts és működni fog:
while (isset($_FILES['media']['name'][$i])) {
Tele von Zsinór, bocs hogy beleszólok, de a media->error->i -re is szüksége van.
-
Tele von Zsinór
őstag
válasz
Speeedfire #5043 üzenetére
De nem azt ellenőrzöd, amit kéne.
while ($_FILES['media']['name'][$i]) {
Azt mondtad, ide írja a hibát, mégpedig azért, mert nem létezik $i indexű elem az adott tömbben. Ennek a létezését nem ellenőrzöd.
Tényleg foreach-csel járnál a legjobban, az garantálja, hogy minden kulcson végigmenj. Ha mindenképp while-ozni akarsz, akkor meg while(list($k, $v) = each($_FILES["media"]["name"])), persze reset($_FILES["media"]["name"] után. -
Tele von Zsinór
őstag
válasz
Speeedfire #5041 üzenetére
Mert nem ellenőrzöd, hogy van-e olyan kulcs (mondjuk isset-tel), hanem rögtön az értékét kéred le és értékeled ki a feltételben. Vagy tedd isset()-be, vagy használj foreach-t a kézzel növelgetés helyett.
-
zka67
őstag
válasz
Speeedfire #5030 üzenetére
Ha engem kérdeznél inkább ne tedd
Ehhez mit szólsz?
$sor = '';
if (isset($_GET['page'])) {
$sor = ($_GET['page']-1) * 10;
if ($sor < 1) $sor = 1;
} -
Tele von Zsinór
őstag
válasz
Speeedfire #5023 üzenetére
<ol start="42">
-
fordfairlane
veterán
válasz
Speeedfire #5020 üzenetére
Ilyen akkor történik, ha a PHP-ban be van kapcsolva a magic_quotes_gpc opció. Ilyenkor a PHP az összes $_GET, $_POST, $_COOKIES értéket magától kiescaspeli. Érdemes kikapcsolni, illetve ha ez nem járható út, akkor eltávolítani az automatikusan bekerülő backslasheket, mert nem biztos, hogy egyből adatbázisba kerülnek ezek az értékek, hiszen sokszor van form esetében a bevitt adatok kiírása még adatbázisba írás előtt, hiba vagy adatmegerősítés esetén pl..
Itt van egy példa, hogyan lehet eltávolítani, de a felhasználói kommentekben is akadnak hasznos tanácsok:
http://www.php.net/manual/en/security.magicquotes.disabling.php
-
fordfairlane
veterán
válasz
Speeedfire #5017 üzenetére
A mysql_real_escape_string-et adatbázisba beírásnál kell használni, de magába az adatmezőbe backslashek nélkül kell, hogy bekerüljön a tartalom. Ha kiolvasásnál plussz backslash karakterek kerülnek elő, akkor eleve nem jól lett beírva.
-
DeltaPower
addikt
válasz
Speeedfire #5017 üzenetére
-
Tele von Zsinór
őstag
válasz
Speeedfire #5014 üzenetére
Késő este ez van.
Rendben, csak az üres blokk, meg a közvetlen alatta levő sor behúzása miatt úgy nézett ki, hogy elnézted.
-
Tele von Zsinór
őstag
válasz
Speeedfire #5012 üzenetére
.=, nem pedig . =, és az else ágadat gondold át megint.
-
Tele von Zsinór
őstag
válasz
Speeedfire #5009 üzenetére
static public function resizeAndMove($from_path, $to_path, $max_width, $max_height)
{
@ini_set("memory_limit", "128M");
$image_info = getImageSize($from_path);
switch ($image_info['mime']) {
case 'image/jpeg': $o_im = imageCreateFromJPEG($from_path); break;
//add more if needed
default:
return false;
}
$o_wd = imagesx($o_im) ;
$o_ht = imagesy($o_im) ;
if ($o_ht >= $o_wd) {
if ($o_ht > $max_height) {
$lamda = $max_height / $o_ht;
} else {
$lamda = 1;
}
} else {
if ($o_wd > $max_width) {
$lamda = $max_width / $o_wd;
} else {
$lamda = 1;
}
}
$t_ht = round($lamda * $o_ht);
$t_wd = round($lamda * $o_wd) ;
$t_im = imageCreateTrueColor($t_wd,$t_ht);
imageCopyResampled($t_im, $o_im, 0, 0, 0, 0, $t_wd, $t_ht, $o_wd, $o_ht);
imagePNG($t_im, $to_path );
imageDestroy($o_im);
imageDestroy($t_im);
} -
Tele von Zsinór
őstag
válasz
Speeedfire #5006 üzenetére
Filenév generálásakor str_pad.
-
DeltaPower
addikt
válasz
Speeedfire #5000 üzenetére
includenél nem adunk át GET változót!
beállítod pl. hogy $pont=5; includolod a fájlt, és látni fogja a változót. -
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;
} -
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. -
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.
-
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.
-
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().
-
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. -
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. -
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.
-
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. -
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
-
pirk.lajos
csendes tag
válasz
Speeedfire #4925 üzenetére
Weblaboron találhatsz.
-
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. -
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ő.
-
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.
-
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.
-
Tele von Zsinór
őstag
válasz
Speeedfire #4909 üzenetére
Mire kell?
-
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.
-
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.
Új hozzászólás Aktív témák
Hirdetés
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Amlogic S905, S912 processzoros készülékek
- További kavarás a Pixel 10-ek körül
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- CNC topik
- Luck Dragon: Asszociációs játék. :)
- Gyúrósok ide!
- Battlefield 2042
- Ford topik
- Nintendo Switch 2
- További aktív témák...
- BESZÁMÍTÁS! ASUS ROG STRIX Z390-E GAMING alaplap garanciával hibátlan működéssel
- BESZÁMÍTÁS! Asus B760M i7 12700KF 32GB DDR4 512GB SSD RX 6800 16GB Rampage SHIVA FSP 700W
- Telefon felvásárlás!! Samsung Galaxy S21/Samsung Galaxy S21+/Samsung Galaxy S21 Ultra
- Szerezd meg a tökéletes házat most!
- Honor Magic5 Lite 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest