- One mobilszolgáltatások
- Milyen okostelefont vegyek?
- iPhone 16e - ellenvetésem lenne
- Xiaomi 15 - kicsi telefon nagy energiával
- Mobil flották
- Prohardver app (nem hivatalos)
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Poco F6 5G - Turbó Rudi
- Magisk
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
Aktív témák
-
hb113
csendes tag
válasz
Hujikolp #3377 üzenetére
ok eddig értem.
leírom ide azt amit én eddig csináltam és megy, úgyahogy.
setcookie(''proba_cookie'',date(''Ymd''),time()+86400);
if ($_COOKIE[''proba_cookie''> $adatom[''date''
){
$t = round($adatom[''bank''* 0.15, 2);
mysql_query(''UPDATE nickek SET zseton = zseton+2000 WHERE nev='$nev''');
mysql_query(''UPDATE nickek SET bank = bank+$t WHERE nev='$nev''');
$bu = date(''Ymd'');
mysql_query(''UPDATE nickek SET date=$bu WHERE nev='$nev''');
} -
Tele von Zsinór
őstag
válasz
Hujikolp #3369 üzenetére
Mondjuk a while előtt csinálsz egy ilyet:
$color=0;
$colors[0]=''#ffffff'';
$colors[1]=''#aaaaaa'';
Aztán a kiíráskor:
echo(''<td bgcolor=\'''' . $colors[$color] . ''\''>'blabla</td>\n'');
Majd a ciklus végén:
($color == 0)?($color = 1)$color = 0);
Minimális ráfordítással tetszőlegesen sok színre lehet moddolni. Persze van sokkal szebb megoldás is, mondjuk amikor css class neve változik, nem pedig php-be belekódolt színérték.
[Szerkesztve] -
Ryu
tag
válasz
Hujikolp #3268 üzenetére
Van egy elképzelésem, aztán lehet rosszul értelmezem az egészet.
Szóval szerintem a bibi a switch-nél van. Márpedig azért mert a függvény első meghívásánál az $t változó szöveg (hadjárat, ums, stb). Ezeket keresi az adatbázisban. De jön a switch ahol átalakítod számokká az egyes szövegeket. A függvény újboli meghívásánál már a számokat keresné az adatbázisban, de nem találja. Nem mondom, hogy magamat is meggyőztem...főleg, hogy hiba esetén az oldalt $t=1-el hívod újra
-
paramparya
őstag
válasz
Hujikolp #3267 üzenetére
limites:
miért csak 100-ig megy? gondolom valami dinamikus dologról van szó, így inkább annyit kéne vizsgálni, hogy 0, vagy osztható-e tízzel. A módosítással annyit foglalkoznék, hogy ha módosította magától, tehát else ágba kerültünk, akkor állítanám 0-ra, ne variáljon a user a címsorban... -
Ryu
tag
válasz
Hujikolp #3263 üzenetére
Első megtekintésre nekem is a globális változók tűntek fel. Ha jól sejtem ezeket a változókat egy formon keresztül állítod be valahol?!
letoltesek.scm.php?mennyit=0&t=1
Ezek a változók csak akkor érhetőek el global $változó formában, ha a szeveren be van állítva a register_globals. Ha viszont nincs, akkor nem a helyes értékkel lesznek használva. Ha hivatkozni akarsz rájuk, akkor $_POST[], $_GET[], $_REQUEST[]-el. -
paramparya
őstag
válasz
Hujikolp #3263 üzenetére
Hát, hirtelen annyit tudok rá mondani, hogy nagyon csúnya a kód, és ezzel nem bántani akarlak. Függvényben globális változót használni sem szép dolog, és vannak hasonló dolgok, pl. a switcheket is ki lehetne cserélni sokkal szebben...
Nem is látom át ezt a függvényt, de ha leírod szépen hogy mit kéne csinálnia mi alapján, akkor tudok segíteni -
Hujikolp
őstag
válasz
Hujikolp #3263 üzenetére
amnnyit még hozzátennék h a forrás legalján található a fügvények kiirása, és nem azzal izálni engem h miért nem használom a ciklusokat! majd annak is eljön az ideje, eyenlöre örülök neki h ennyit sikerült megcsinálnom. így legalább teljesen átlátok mindent és tudom h mi mit csinál. köszönöm
-
Hujikolp
őstag
válasz
Hujikolp #3251 üzenetére
megoldottam
viszont ha már ittvagyok, akkor kérdezek egy másikat.
van-e olyan fügvény aminek adok adatokat. és megvizsgálja h egy adott változóra igaz-e. ha egyik feltételnek sem felel meg a változó értéke, akkor módósítja a változó értékét. ilyenre lenne szükségem, vagy esetleg ötletre h hogyan valósítsam meg, vagy h milyen néven keresek.
[Szerkesztve]
mind1 ,ezt is megoldottam egy csunya if módszerrel elvileg.
[Szerkesztve] -
Tele von Zsinór
őstag
válasz
Hujikolp #3213 üzenetére
Idézek a blogom kódjából, nálam a select neve $_REQUEST[''offset''
, mivel get és post-ként is elfogadom:
$sql = ''SELECT MAX(id) FROM blog;'';
$db->query($sql);
$i = 0;
$row = $db->next_row();
$numrows = $row[0];
while ($i < $numrows)
{
echo('' <option value=\''$i\'''');
echo($i==$_REQUEST[''offset''?'' selected=\''selected\'''':'''');
echo(''>'' . ($numrows-$i) . ''-'');
echo((($numrows-$i-10)>0)?($numrows-$i-10)''1''));
echo(''</option>\n'');
$i += 10;
}
echo('' </select>\n'');
echo('' <input type=\''submit\'' name=\''offsetsubmit\'' value=\''OK\'' />\n'');
echo('' </form>\n'');
Ilyenkor ha van megadva, akkor bizony az is lesz kiválasztva.
[Szerkesztve] -
-
L3zl13
nagyúr
válasz
Hujikolp #3001 üzenetére
''PHP: Personal Home Page''
Ezt meg honnan vetted?
PHP= PHP: Hypertext Preprocessor
Tudom, hülyeség, hogy egy betűszó ''kibontásában'' szerepel maga a betűszó, de ez egyátalán nem egyedülálló az ilyen szabadfejlesztésű cuccoknál. (GNU: GNU's Not Unix, LAME: LAME Ain't an MP3 Encoder...) -
BosziKedvese
csendes tag
válasz
Hujikolp #3001 üzenetére
Köszi a PHP definíciót.
A gép bekapcs után F1-et kér, semmi nem indul rajta. Ahogy én értettem, azt is elfelejtette, hogy mije van neki (egér, stb, meg hogy melyik tipusú egyebei).
Az első alkalommal, mikor megkaptam (apámék ki akarták dobni), a bekapcsológombon és a win beírásán kívül semmit nem tudtam a számítástechnikáról... azért mára már jobb a helyzet.
-
cucka
addikt
válasz
Hujikolp #2996 üzenetére
ne használj globális változót, mert az gányolás.
a függvénynek van bemeneti paramétere (ez ''bemegy'' a függvénybe és nem jön ki onnan) és visszatérési értéke, és ennyi. ha meg szeretnéd őrizni a bemeneti paramétert (mert mondjuk módosítod az értékét) akkor használj referencia szerinti paraméterátadást.
például
function hozzaad($param)
{$param++;}
$i=5;
hozzaad($i);
print $i;
ez 5-öt fog kiírni. ha a függvény fejlécében &$param szerepel, akkor meg 6-ot. -
-
-
L3zl13
nagyúr
válasz
Hujikolp #2534 üzenetére
Az a 87. sor nem a fájlban a 87. sor, hanem a kódban, ahogyan a PHP feldolgozza, azaz az előtte include-olt fájlok sorai is beleszámítanak.
Újraolvasva a dolgot: Ha HTML részek vannak a PHP előtt, vagy akár egy odakeverdett nem megjelenítendő karakter, akkor utánna már nem lehet header-t használni.
[Szerkesztve] -
cucka
addikt
-
Hujikolp
őstag
válasz
Hujikolp #2528 üzenetére
mostmár ilyet ir ki:
Warning: Cannot modify header information - headers already sent by (output started at e:\appserv\www\php\belepes.php:87) in e:\appserv\www\php\belepes.php on line 155
mi a baj?
az swfben lévő link: belepes.php?menu=scghost
<?php
$menu = $_GET['menu'];
if (!isset($menu)) {include(''hirek.php'');}
elseif ($menu == ''hirek'') {include(''hirek.php'');}
elseif ($menu == ''scghost'') {header( ''Location: ghost.html'' ); exit;}
else {echo ''nincs oldal'';}
?>
:F :F
[Szerkesztve] -
VladimirR
nagyúr
válasz
Hujikolp #2504 üzenetére
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) = internet explorer 6 + windoze xp sp2 1.1.4322-es .NET keretrendszerrel
a kodot nem illesztem be, mert joparszaz sor, mert mas is van benne (es nem csak az altalad emlitett 3 bongeszot ismeri fel)
ha csak a 3 fenti bongeszore van szukseged, akkor a kovetkezok kellenek:
$regvermsie = ''/msie([+_ ]|)([\d\.]*)/i'';
$regverfirefox = ''/firefox\/([\d\.]*)/i'';
$regveropera = ''/opera([\/+_ ]|)([\d\.]*)/i'';
$regnotie = ''/webtv|omniweb|opera|maxthon/i'';
ezek regularis kifejezesek, melyek, ha illeszkednek (vagy nem illeszkednek) a user-agent-re, akkor megvan a bongeszo tipusa
ha a $regvermsie illeszkedfik, de a $regnotie nem, akkor IE
kulonben, ha a $regverfirefox illeszkedik, akkor firefox
kulonben, ha a $regveropera illeszkedik, akkor opera
azt, hogyu illeszkedik-e egy minta az adott string-re, a preg_match fuggvennyel tudod ellnorizni, pl.:
if ( preg_match( $regvermsie, $_SERVER[''HTTP_USER_AGENT'') ) {
print ''a te bopngeszod Internet Explorer'';
}
(mondjuk ez a pelda pont nem jo, mert a $regvermsie minta illeszkedhet pl az opera, a maxthon, az omniweb, illetve a webtv user-agent-ekre is (user-agent lehet bongeszo, megialejatszo, letoltesvezerli, vagyis barmi, amivel adatot tudsz lekerni egy webszerverrol
ezert kell azt is nezni, hogy ne illeszkedjen ra a $regnotie minta, akkor szinte biztos, hogy IE a bongeszo)
[Szerkesztve] -
L3zl13
nagyúr
válasz
Hujikolp #2408 üzenetére
Igen a c2 az ckod2 akart lenni. (Country kód 2 karakteren jófajta hungrish nyelvjárásban.
)
A belinkelt oldal kódja meg szerintem egyértelmű, kivéve, hogy az IP Address -> IP Number átalakításra egy inet_aton nevű függvényt használnak, ami nem a PHP része, hanem a MySQL adatbázisé.
Ezért is nem kellett szöveg összefűzéssel beilleszteni a függvényes részt, mert csak a $REMOTE_ADDR változó jön a PHP-ból, a többi változatlan formában megy a MySQL-nek.
iptoc (IP to Country) a tábla neve az adatbázisban
country_code2 gondolom a 2 betűs országkód
country_name ország név
IP_FROM az az első oszlop neve,IP_TO a második oszlop neve (szvsz logikus) $REMOTE_ADDR a keresett IP cím, hogy ez most honnan jön, az más kérdés -
L3zl13
nagyúr
válasz
Hujikolp #2402 üzenetére
A linkelt oldalon fent volt a doksi az azadatbázisról, és benne egy példakód is.
[link]
'' az elő oszlopban, vagy a másodikban, (vagy mind2?)''
Mindkettő. Merthogy az első oszlop a tartomány eleje, a második a vége. Azaz úgy kell keresned, hogy a kettő között legyen.
A tábládban nem tudom az egyes mezőket hogyan nevezted el, de valami ilyesmi:
$query = mysql_query(".|. ckod2,ckod3,country from IP where $ip>=ip1 and $ip<=ip2");
$eredmeny=mysql_fetch_array($query);
echo "Országkód:"$eredmeny["c2";
echo "Országnév:"$eredmeny["country";
-
L3zl13
nagyúr
válasz
Hujikolp #2378 üzenetére
Na itt egy jó oldal, le tudod tölteni a listát csv formátumban:
[link]
A listában az IP-k át vannak alakítva számmá az alábbi képlet szerint:
IP Number = A x (256*256*256) + B x (256*256) + C x 256 + D
PHP-ben ezt elvégezheted az ip2long függvénnyel. A CSV-t feltöltöd egy MySQL táblába és már tudsz is keresni benne.
Bár ez a táblázat sem tökéletes, de állításuk szerint olyan 98%-ban pontos.
Vagy meghívhatsz virtuális include-dal egy lekérdezést pl a RIPE adatbázisról, de azt utánna fel kell dolgoznod.
[Szerkesztve] -
skera
tag
válasz
Hujikolp #2378 üzenetére
Én csak annyit tudok ajánlani:
<?php
$ip = $_SERVER[''REMOTE_ADDR'';
if( !strstr(gethostbyaddr($ip), ''.hu'') ) {
echo ''Sorry, but you don't have permission to view this page!'';
}
else {
...
?>
Gyakorlatilag megnézi, hogy a látogató gépcímében van-e .hu végződés. Persze ez se tökéletes, mivel ha van olyan cím ami tartalmaz ilyet, akkor annak megjeleníti. De ez ritkaság.
Az angol szöveget nem biztos, hogy jól írtam. Régen volt már az angolvizsga -
cucka
addikt
válasz
Hujikolp #2287 üzenetére
ez a unix/windows újsor karakterének különbségéből fakad. ez nem csak php-nál lehet probléma, megpróbálom érthetően.
dos/windows alatt az új sort két karakterrel jelöljük. ez a #13 és a #10. a #13 a CR, vagyis carriage return, a #10 meg az LF vagyis line feed. ez írógépekből maradt ránk, elsőre visszahúzza a ''kurzort'' a papír bal szélére, a második meg 1 sorral feljebb tekeri a papírt. ezek megfelelői a \r és a \n.
unix/linux alatt új sor jelölésére a #10 karakter használatos. tehát ha windowsos formátumba mented a szövegedet, akkor unix alatt nézve ott maradnak a #10 karakterek. mivel a php szerverek jó része unix/linux alatt fut, ezért ütköztél a problémába.
mac alatt ''természetesen'' egyik sem igaz, (miért is lenne kompatibilis bármivel?), ott -ha minden igaz- #13 az új sor.
első megoldás, hogy felejtsd el a jegyzettömböt, az alkalmatlan szövegszerkesztésre, pl. az általad említett hiányosságok miatt. rendes szövegszerkesztőben beállíthatod, hogy hogyan jelölje az új sort, illetve a más rendszerekről származó szövegeket is meg tudja nyitni.
kliens oldali nyelvben nyer igazán értelmet a \n. javascriptben (vagy mondjuk c-ben is, stb.) a \n azt jelenti, hogy új sor, a kliensen található értelmező pedig majd tudja, hogy azt hogy jelöljük.
[Szerkesztve] -
vakondka
őstag
válasz
Hujikolp #2278 üzenetére
ez most fejből nem megy, de remélem tudsz 4,3MB-os emailt fogadni...
Esetleg megoldás lehet a file függvény. Ez beolvassa az egész file-t és beteszi egy tömbbe.
a file minden sora= a tömb egy eleme
Utána te egy ciklussal kilistázod a tömbnek azt a részét, amelyik érdekel. -
vakondka
őstag
válasz
Hujikolp #2276 üzenetére
Szerintem cookie helyett használj session-t ha lehet.
Azért is jobb, mert így a kliens gépén csak egy azonosító tárolódik a sütiben és az összes ''igazi adat'' a szerveren lesz. Ez így nem csak biztonságosabb, de ebbe akár többdimenziós tömböket is rakhatsz.
Ha olyan szöveget akarsz tárolni, ami idézőjeleket és hasonlókat tartalmaz, akkor érdemes a htmlspecialchars() függvényt használni.
A másikra a válasz:
keresd meg az sql lekérdezést a jelenlegi listázó programban: valami ilyesmi kell legyen, hogy: SELECT...FROM
... és a végére fűzd hozzá, hogy ORDER BY `filemeret` ASC
Ha van már ilyen hogy ORDER BY stb. akkor csak írd át.
Ha ASC van a végén akkor növekvő lesz, ha DESC akkor csökkenő sorrendezés.
Persze a filemeret szó helyére a megfelelő adatoszlop neve kell -
-
Tele von Zsinór
őstag
válasz
Hujikolp #1978 üzenetére
Egyszerű kód, nem ellenőriztem, hogy jó-e, és txt-re megy csak:
<?php
if (!isset($_GET[''file'']) || !file_exists($_GET[''file''] . ''.txt''))
{
die(''az oldalt mar megneztek'');
}
else
{
include($_GET[''file''] . ''.txt'');
unlink($_GET[''file''] . ''.txt'');
}
?>
Annyit csinál, hogy ha nem létezik a file vagy rossz paraméterrel hívod, akkor hiba, amúgy kiírja a filet, majd törli.
szerk: smiley-konvertalas tiltva
[Szerkesztve] -
Tele von Zsinór
őstag
válasz
Hujikolp #1975 üzenetére
A lehető legegyszerűbb kell, pár alkalomra, vagy egy komlexebb, sokszor és könnyen használható darab?
Az elsőt fileok létezésének vizsgálatával csinálnám, azaz ha létezik egy adott file (aminek a nevét mondjuk paraméterben kapja), akkor azt írja ki, amúgy meg mondja, h már meg lett nézve.
A második esetben már adatbázissal lenne jobb, abban tárolni akár a fileokat is (vagy wwwroot-on kívül, esetleg .htaccess-el levédve), és egyszerűen egy olyan mezőt is berakni, hogy meg lett-e már nézve.
Az elsőt gyorsan meg lehet oldalni, de olyan szervereken, ahol nincs se .htaccess se wwwrooton kívül pakolás, nem biztonságos. Ha már legalább az egyik lehetőség él, akkor elégséges biztonságnak lehet nevezni. Már ha nem államtitkokat akarsz felrakni -
paramparya
őstag
válasz
Hujikolp #1797 üzenetére
Letárolásnál az üzeneten és a felhasználónéven alkalmazz htmlspecialchars() függvényt, akkor < és > jelek már nem lesznek bennük, és ereg_replace-szel cseréld le, pl.:
ereg_replace('' <.+>'', '''', ''ezt most én irtam. <Hujikolp>'' )
Ezt adja:
ezt most én írtam.
Bár én továbbra is azt javaslom, hogy tárold adatbázisban, sokkal egyszerűbb lenne minden, még a véletlenszerű sort is kiíratni... -
Aktív témák
Hirdetés
- One mobilszolgáltatások
- Milyen okostelefont vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Horgász topik
- Milyen CPU léghűtést vegyek?
- AliExpress tapasztalatok
- iPhone 16e - ellenvetésem lenne
- Dell notebook topic
- Villanyszerelés
- További aktív témák...
- HP 200W (19.5V 10.3A) kis kék, kerek, 4.5x3.0mm töltők + tápkábel, 928429-002
- Jogtiszta Microsoft Windows / Office / Stb.
- Eredeti Windows 10 / 11 Pro aktiválókulcs AZONNALI SZÁLLÍTÁSSAL!
- Beszámítás! Sony PlayStation 4 PRO 1TB fekete játékkonzol extra játékokkal garanciával hibátlan
- 2db Dell PowerEdge R740 2U Rack Szerver és 3db Netapp FAS2040 NAS
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest