- Az USA vizsgálja a RISC-V kínai terjedésének kockázatát
- Kicsit extrémre sikerült a Hyte belépője a készre szerelt vízhűtések világába
- Egészen nagy teljesítményspektrumon fedné le a mobil piacot az AMD
- Kihívás a középkategóriában: teszten a Radeon RX 7600 XT
- Már a Sparkle is jegyezhet fehérbe öltöztetett videokártyákat
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- Fujifilm X
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- LG 34GS95QE-B: OLED paneles, ívelt gamer monitor
- Piacvezető tandem OLED panellel érkezik az iPad Pro
- Dell notebook topic
- Milyen TV-t vegyek?
- OLED TV topic
- Kicsit extrémre sikerült a Hyte belépője a készre szerelt vízhűtések világába
- Milyen egeret válasszak?
Hirdetés
-
Premier előzetesen a Gray Zone Warfare
gp A mai naptól hivatalosan is elrajtol a játék korai kiadása PC-n.
-
Május 7-én bulit tart a Huawei
ma Méghozzá Dubajban, ahol új termékek várhatók. Ezek a Watch Fit 3 és laptopok lehetnek, a Pura 70-es telefonok maradhatnak Kínában.
-
Toyota Corolla Touring Sport 2.0 teszt és az autóipar
lo Némi autóipari kitekintés után egy középkategóriás autót mutatok be, ami az észszerűség műhelyében készül.
Új hozzászólás Aktív témák
-
j0k3r!
senior tag
hello!
igaz.
getnel -> $_GET
postnal -> $_POST
tombben tarolodnak az adatok.
get eseten a kuldott adatok latszodnak a cimsavban (pl.www.valami.hu/userek.php?userid=123), postnal nem.
ha valamit kihagytam, akkor majd megirjak a nalam okosabbak.some men just wanna watch the world burn...
-
Speeedfire
nagyúr
Azt ki is hagytam, amit j0k3r! is írt tömbben tárolja az adatokat.
j0k3r! példájánál maradva:
http://pl.www.valami.hu/userek.php?userid=123
elérése a userek.php oldalon:$_GET['userid']
Mi a baj a magyar táhelyekkel?
Nálam az okhost.eu viszi a pálmát. 3gb ingyenes tár, htaccess, gyors elérés, több domain, mod_rewrite stb.
Külföldiből meg a 000webhost.com.
még több...De nem kerül sokba saját tárhely sem. newhostingnál és a nextarhelynél is ingyenes csak 1 domain kell hozzá.
.info első évre 1 USD
.hu meg évente is kb 2k HUF[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Lakers
tag
válasz Speeedfire #5402 üzenetére
yes! a 000webhost.com-ot kerestem, kösz!
-
sziliati
csendes tag
Sziasztok!
Remélem jó helyen járok ha nem akkor bocsánat(kezdő fórumozó vagyok)! PHP-ba vágtam a fejszémet és el is akadtam!
A kérdésem a következő lenne:egy login rendszerrel kísérletezem, minden szépen megy a nagyobb levelezőkön és a kisebbeken is gyönyörűen működik az aktiváló link! De a freemailban:
ebből(ezt küldöm el e-mailban):
$msg='http://xy.xy/verify.php?email='.$email.'&hash='.$hash.'';
ez lesz:
xy@xy.hu&hash=aab3238922bcc25a6f606eb525ffdc56" onmouseover="parent.ui.iwiw.showSendLink('http://xy.xy/verify.php?email=xy@xy.hu&hash=aab3238922bcc25a6f606eb525ffdc56',this)" target="_blank">http://sztim.fw.hu/verify.php?email=szilkow@freemail.hu&hash=aab3238922bcc25a6f606eb525ffdc56valami megoldást tudnátok javasolni? Válaszotokat előre is köszönöm! Szép estét!
-
Speeedfire
nagyúr
Sikerült megoldani a gondomat, nem lett valami szép. Jöhetnek majd a kritikák....
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Tele von Zsinór
őstag
válasz Speeedfire #5399 üzenetére
Biztonsági szempontból semmi különbség nincs a get és a post között. Mindkettő felhasználótól származó adat, ergo megbízhatatlan.
-
válasz Tele von Zsinór #5408 üzenetére
Ez rendben van, de ha van valaki annyira gyökér, hogy pl. regisztrációt, belépést GET-tel valósít meg, akkor az látszik az URL-ben, könnyebben visszakereshető a felhasználói név + jelszó.
GET-nek az is hátránya, hogy kevesebb adatot lehet vele átnyomni, plusz fájlok küldésére alkalmatlan. Emellett az URL encode & decode (elhagyása) jelenthet gondot.
-
Speeedfire
nagyúr
válasz Tele von Zsinór #5408 üzenetére
Arra gondoltam, hogy a címsorban nem látszik, így ergo valamivel biztonságosabb. Meg postolni egyszerűbb pl ékezetes karaktereket is.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Tele von Zsinór
őstag
válasz Speeedfire #5410 üzenetére
Valóban, kb. 3 kattintással több post adatot átírni, mint getet. És ékezetes karakterekkel sincs különbség, a böngésző elintéz mindent.
-
Tele von Zsinór
őstag
válasz Peter Kiss #5409 üzenetére
Aki belépést get-tel old meg, az meg is érdemli. Arról nem is beszélve, hogy egy login folyamat megváltoztatja az alkalmazás állapotát, így post-ot kell használni szabvány szerint.
-
Sk8erPeter
nagyúr
Hali!
Kicsit OFF, de biztos tudtok segíteni.
Adatbázisból kérek le olyan adatot, amit egy HTML-elemnél az adott elem (div, p, stb., ez mellékes) azonosítójába szeretnék tenni. Ez oké, de lehet olyan adat, amiben szóköz szerepel, ami miatt az id-ben is szóköz van, ami XHTML Strict 1.0 szerint nem valid. Akkor sem, ha a szóközöket -re cseréltem, és még átnyomok rajta egy htmlentities()-t az egyéb karakterek miatt.
Tehát pl. <div id="akarmi 2_stb.">...</div> már nem valid az XTHML Strict szerint.
Van valami megoldási javaslatotok?Thx.
----------------------------------Szerk.:
Ja még egy: az XHTML Strict oldal esetén a w3c validitás-ellenőrzője nagyon sokszor pampog az elnevezési konvenciók miatt, tehát pl. az id-ben nem lehet tilde (~), vagy-jel (|) és ehhez hasonlók, van erről valami lista, hogy mik a megengedett karakterek? Így nem egyszerű valid oldalt készíteni, ha ennyi tiltott karakter van, és még a HTML-entitás (hogy mondjam ezt szebben ) kódja szerint sem fogadja el.[ Szerkesztve ]
Sk8erPeter
-
Speeedfire
nagyúr
válasz Sk8erPeter #5413 üzenetére
az nem lehet megoldás h semmire cseréled a szóközt?
str_replace(' ', '', $row['elem']);
A másikra meg annyi, hogy kerülni kellene a spec karaktereket.
Szerintem csak szám és angol karakter lehet benne, illetve -_Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz Speeedfire #5414 üzenetére
Hali!
Sajnos az nem jó megoldás, mert az eredeti névre van szükségem. De az furcsa, hogy a HTML-kódra lecserélve sem fogadja el a w3c validitás-ellenőrzője.
Na, de jobb, ha elmondom, mire kell:
a Jeditable nevű jQuery-plugint használom egy admin-oldalon, ahol módosításokat lehet elvégezni egy adott névnél és egyéb adatbázisban szereplő elemeknél, de úgy, hogy a felhasználó csak kétszer ráklattyog a névre, és máris módosítható az elem, a módosítást pedig elküldi a feldolgozó PHP-fájlnak. Kényelmes, olyan jellegű, mint pl. Facebook-on a módosítható mezők (pl. a Magamról résznél, stb.), helyben módosítasz, nincs szükség az egész lap újratöltésére, stb.A HTML-elem (div, stb.) azonosító (id) attribútuma segítségével (többek közt ezt alakítja a Jeditable $_POST adattá, úgy, hogy a div-et formmá alakítja a ráklattyogáskor! Meg elküldi az input mezőbe beírt adatot) elküldöm az adott elem azonosítóját, ami alapján lecsekkolom az adatbázisban, tényleg van-e ilyen elem, valamint egy alsóvonással elküldöm az eredeti nevet is (ez viszont egyelőre hibaforrás lehet, ha a felhasználó alsóvonás-jelet ad meg a névben, mert explode()-dal bontom szét az elemeket, de ezt majd megoldom), hogy amennyiben megegyezik a módosított névvel, akkor egyszerűen visszaküldöm az eredeti nevet, és nem dolgozgatok fel, így gyorsabb.
Természetesen minden oldal elején ellenőrzöm, a felhasználó belépett-e (a módosító oldalon és a feldolgozó fájlban is), tehát valamelyest biztonságosnak mondható, még ha egyelőre vannak is lyukak benne...Ezért szeretném elküldeni az eredeti azonosítót és magát a mezőnevet is.
Többnyire nincsenek brutálhosszú dolgok, ami ne férne bele egy id-be, ezért gondoltam ehhez a módszerhez folyamodni...
Kerülő megoldás lehetne az, hogy csak az id-et küldöm el, de akkor minden alkalommal tényleg szükség van adatbázis-lekérésre, eddig ezt kerültem el azzal, hogy csekkoltam, megegyezik-e az eredetileg a mezőben szereplő értékkel, vagy sem, ha igen, akkor nem dolgozgattam fel, egyszerűen visszaadtam a júzernek ugyanazt a nevet (amit nem is módosított).Nem tudom, érthetően írtam-e le...
[ Szerkesztve ]
Sk8erPeter
-
Speeedfire
nagyúr
válasz Sk8erPeter #5415 üzenetére
Ez jó kis plugin lehet, viszont nem értem akkor miért kell neked a szóköz?
Gondolom az első karakter a div id a másik meg az azonosítója a formnak. Másik kérdés, hogy ha jól értem akkor te az admin oldalt is validálni akarod? Lehet valamit félreértettem és ezért nekem kicsit magas lett.Amire gondoltam:
<div id="akarmi" name="2">
Ezt küldöd el js-el akarmi 2, esetleg vessző nem lehet megfelelő? Ha meg tényleg admin oldalon akarod validálni akkor felesleges, mert a validátor oda úgy sem lát be.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz Speeedfire #5416 üzenetére
Hülyeségnek tűnhet, hogy admin-oldalt szeretnék validálni, de mégis. Operából Direct Inputtal el lehet küldeni validálásra az oldalt (vagy más böngészőben beépülővel), szóval ez nem kérdés, tudom ellenőrizni a validitást.
A szóköz azért fordulhat elő az id-ben, mert lehet olyan név, amit lekérek adatbázisból, amiben előfordul szóköz (nem tudhatom, hogy a júzer milyen nevet tölt fel, de simán lehet, hogy olyat, amiben van szóköz).
Mondom, az eredeti nevet csak azért pakolom bele az id-be, hogy gyorsabb legyen ellenőrizni, nem úgy küldte-e el a júzer a "módosított" adatot, hogy valójában nem módosított semmit - ha nem módosított, megegyezik az eredetileg látott értékkel, minek nyúlkáljak adatbázishoz, úgysincs változtatás.Ja igen, ami fontos a megértéshez: a Jeditable úgy működik, hogy mondjuk megadsz egy CSS-osztályt (pl. "edit") egy HTML-elemnek (pl. egy div-nek), és onnan fogja tudni, hogy kétszeri ráklattyogásnál (lehet akár egyszeri is egyébként, több lehetőség van) módosítható legyen a mező, átalakítja form-má, azonbelül létrehoz egy input mezőt, majd egy Enter leütésével ezt a form-ot tudod elküldeni a feldolgozó fájlnak, majd az abból visszakapott adatot kiíratni - ha sikerült a módosítás, nyilván már a módosított adatot írod ki.
Maga a HTML-elem azonosítója (id) a $_POST['id'] változóval érhető el, a módosított érték pedig a $_POST['value'] segítségével (ez az input mezőből jön).Példa:
<div class="edit" id="nev_68_eredetinév">eredetinév</div>A példában szereplő "eredetinev" adatbázisból jön (ebben lehet szóköz is! Pl. "eredeti név"); a "nev" jelzi, hogy most mondjuk az adatbázisba feltöltött cuccnak a nevét szeretném módosítani, a "68" pedig az adott elem azonosítója.
Eszerint pedig szétrobbanthatom a $_POST['id'] változót mondjuk alsóvonás szerint (erre mondtam, hogy esetleg hibaforrás lehet, ha a júzer alsóvonás-karaktert ad meg, ez most átmeneti próbálkozás egyelőre), az új név pedig a $_POST['value'] változóban van:list($object_to_mod, $dog_id, $original)=explode("_", $_POST['id']);
$new=$_POST['value'];Ha a $new megegyezik az $original változóval, akkor visszatérek az eredeti névvel, és kész, nem vizsgálgatok tovább, így gyorsabb.
Remélem nem voltam túl zavaros.
[ Szerkesztve ]
Sk8erPeter
-
Speeedfire
nagyúr
válasz Sk8erPeter #5417 üzenetére
Ezzel az admin oldali validálással sokkot kaptam. Ne haragudj, de ez kb olyan dolog, hogy ok valid, de ettől függetlenül senki sem fog vele foglalkozni, se a google, se a juzer stb
Amúgy szerintem annyit megcsinálhatnál, hogy amikor ellenőrzöd nem a nevet ellenőrzöd h bent van-e az adatbázisban, hanem mondjuk:
adatbázisban ez van:
Tóth Szabi
Ezt akarom én módosítani pl Tóth Szabolcs-ra akkor mind a 2-nek csinálok egy md5 hash kódot és azt ellenőrzöm, hogy megegyezik-e. Ha hülyeség akkor szólj és még agyalok rajta,
A másik ha ilyen adatot küldesz el:
<div class="edit" id="nev_68_eredet_inév">eredetinév</div> szóval van a névben _ akkor esetleg számoltasd meg a php-val hogy a sztringben mennyi _ jel van, ha több mint kellene akkor az a 2 utánikat egynek veszed.
Viszont akkor már én is megkérdezem a saját kis gondomat.
Ajaxosítani szeretném az oldalamat, már írtam 1-2 dolgot, hogy működik a keresőbarát url,de kicsit leírom megint.Szóval adott az index.php
itt a #main-divbe be van húzva a valogat.php ami azért felelős hogy megnézi az URI-t és megkeresi az adatbázisban a hozzá tartozó elemet.
pl:
URI=belepes a hozzá tartozó érték=./belepes.php&admin=1
A valogat.php szétszedi a kapott értéket a & jelnél az elsőt includolja a többit meg változókká alakítja. Jelen esetben
$admin=1;
include 'belepes.php';a htaccessben ez van:
RewriteRule ^(.*)$ index.php?phpoldal=$1 [QSA,L]Tökéletesen működik az oldal php kóddal, viszont az ajaxos megoldással nem akar menni. Konkrétan az a gond, hogy a #main-be akarom betölteni az uri által küldött oldalt, de mindig megnyitja saját magát, ha valakinek van valami ötlete akkor szívesen venném.
ajax oldal:
$(document).ready(function () {
$('.ajaxload').live("click", function () {
$('#main').load($(this).attr('href'), function () {
});
return false;
});
});Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz Speeedfire #5418 üzenetére
Basszus, jobb lett volna, ha előbb jobban körbenézek.
Most találtam meg a Jeditable oldalán, hogy el lehet küldeni extra paramétereket is a köv. módon:
$(".editable").editable("http://www.example.com/save.php";, {
submitdata : {foo: "bar"};
});Így pedig a $_POST tömbbe új elemeket pakolhatok, vagyis a gond megoldva: ilyen módon elküldöm az eredeti nevet, id-t, és akármit, amit csak szeretnék...
Ráadásul biztonságosabb megoldás.
Szóval a gond megoldódott.Az admin oldalt nem véletlenül validálom: az eddigi részek mind validak, így ez már egyrészt szinte presztízskérdés , na de ami sokkal fontosabb, hogy a validálással rengeteg hibát is fel lehet fedezni, pl. sokszor előfordult, hogy a PHP által generált kódba sikerült belekutyulni olyan módon a HTML-kódot, hogy maga az oldal elcsúszott - a validálással viszont többnyire igen gyorsan rájöttem, hogy hol is lehet a hiba; ezenfelül nem véletlenül találták ki a valid kódot, mert így csökkentem annak az esélyét, hogy különböző böngészőkben különböző módon jelenjenek meg a dolgok, persze nyilván már amennyire szabványkövetők (ha nem is szabvány, csak ajánlás) a böngészők... (lásd IE, stb.)
De mondok még egy érvet: kis gyakorlattal és odafigyeléssel nagyon egyszerű valid kódot írni... Hidd el, nem haszontalan.------------
A Te kérdésedre:
nálad az "ajaxload' osztállyal ellátott HTML-elemeknek van href-attribútumuk?
mutass rá példát, pl. így van, ahogy itt?
<a href="akarmi.html" class="ajaxload">...</a>A load() függvénynél felesleges a második paraméter, ha azt nem használod semmire.
Mutass konkrét példát, és akkor sztem tudok segíteni.Sk8erPeter
-
Speeedfire
nagyúr
válasz Sk8erPeter #5419 üzenetére
Legalább összejött a gondod.
Ahogy írtad, olyan a link, ajax van, csak nem megfelelően
Az attr('href') nélkül nem csinál semmit sem.
Egyelőre, nincs még fent az oldal. Fejlesztgetem még, csak sok dolog van még vele...
Betölti a megfelelő oldalt, de mellé még a "keretet" is.
Ilyen hibát csinál:[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz Speeedfire #5420 üzenetére
Akkor csak az lehet a gond, hogy a beillesztendő fájlba (ami jelen esetben a jQuery-kódban a $(this).attr('href') ) include-oltad a keretet is, mert egyébként teljesen jól kell működnie (amennyiben a kód a head részben van elhelyezve, stb.), kipróbáltam, és jól ment.
Magához a betöltéshez nincs szükség a második paraméterre:
<script type="text/javascript">
<!--
$(document).ready(function(){
$('.ajaxload').live("click", function () {
$('#main').load( $(this).attr('href') );
return false;
});
});
// -->
</script>De figyelj arra, hogy az AJAX-os betöltés esetén lehet, hogy a Google nem indexeli a teljes oldalt.
OFF: akármennyire borzasztó és rémisztő is, már a teljes admin oldal valid...
[ Szerkesztve ]
Sk8erPeter
-
Tele von Zsinór
őstag
válasz Speeedfire #5418 üzenetére
A kódod egy sort kivéve jónak tűnik, ez pedig a return false;. Használd helyette az e.preventDefault();-ot, ahol e a click függvény paramétere. Itt szépen leírják, miért.
Röviden: a return false; ekvivalens azzal, hogy e.preventDefault(); e.stopPropagation();, azaz megakadályozza a többi eseménykezelő futását, amiknek amúgy le kéne (mert mondjuk ugyanarra az elemre vannak kötve, vagy valamelyik szülőjére).
-
Sk8erPeter
nagyúr
válasz Tele von Zsinór #5422 üzenetére
De ha ez így van, akkor nálam miért működik az elvárt szerint a fentebb írt kód? (több böngészőben is)
Mondjuk igaz, most a próba és az egyszerűség kedvéért csak egy pársoros, egy-egy képet tartalmazó HTML-fájlllal próbáltam ki.Sk8erPeter
-
Tele von Zsinór
őstag
válasz Sk8erPeter #5423 üzenetére
Azért, mert ez nem a működését befolyásolja, hanem a többi eseménykezelővel való viszonyát. Az általam mondott problémába akkor fog belefutni, amikor több eseménykezelője van egy elemcsoportra.
-
Speeedfire
nagyúr
válasz Sk8erPeter #5421 üzenetére
Úgy néz ki hogy sikerült összehozni, bár elég kevés adat van fent, így nem tudom eldönteni, hogy most ajax vagy sem.
Mindenesetre most ez van a js fájlban:
$(document).ready(function () {
$('.ajaxload').live("click", function () {
$('#main').load($(this).attr('href'), function () {
e.preventDefault();
});
});
});Érdekességek:
localhost alatt nem megy egy böngészővel sem:
ff kiakad, ie/chrome nem kezeli le
szerver oldalon (egyelőre csak a tovább a bejegyzésnél van js load):
ff/crome tölti rendesen, ie betölti a #main-be az egész oldalt, majd a rendes tartalmatFotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Tele von Zsinór
őstag
válasz Speeedfire #5425 üzenetére
Így legyen: "click", function (e) {
Másrészt: tedd fel a firebug kiterjesztést, és akkor pontosan tudni fogod, ajax-e vagy sem (a console fülön naplózza az ajax kéréseket, elég részletesen - sok egyéb nagyon hasznos funkciója mellett).
[ Szerkesztve ]
-
Speeedfire
nagyúr
válasz Tele von Zsinór #5426 üzenetére
Módosítottam, de így is ugyan az az eredmény sajnos... a firebug nem jelzett eddig sem hibát, illetve annyi, hogy a válasz rész üres, ez nem tudom mit jelent.
Források, hátha segít...
valogat.php, ez felelős a tartalmak szortírozásáért
[link]tartalom.php, ez mondja meg melyik tartalom hogy "viselkedjen"
[link][ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz Speeedfire #5425 üzenetére
Firebugban be kell kapcsolni az "XMLHttpRequest események megjelenítése" menüpontot, ha az AJAX-kéréseket szeretnéd figyelni. (Konzol fülre kattintva megjelenik egy kis nyíl, ott lehet kiválasztani.)
A szkripthez pedig lehet betenni breakpointokat, és ott az látszik, hogy a "Tovább..."-ra kattintva a szkript is lefut, abban a pillanatban olyan lesz az oldal kinézete, amilyet linkeltél (a #main-ben a kerettel együtt megjelenik a tartalom), de aztán frissíti az egész oldalt (innentől pedig értelmetlen az AJAX-kérés).Megpróbálhatnád úgy is a ready utáni résznél, hogy
$('.ajaxload').live("click", function () {
$('#main').load($(this).attr('href') );
return false;
});(és nem a load paramétereként teszed be a másik függvényt)
próbát megér, legalább addig jussunk el, hogy ne frissüljön az egész oldal, ha már AJAX.Szerk.:
ja, VAGY pedig ha már az
e.preventDefault();
sort használod, akkor ne a load paramétereként tedd be, hanem azután, ha már... legalábbis így elsőre jobbnak tűnik...$('.ajaxload').live("click", function ( e ) {
$('#main').load($(this).attr('href') );
e.preventDefault();
});[ Szerkesztve ]
Sk8erPeter
-
Speeedfire
nagyúr
válasz Sk8erPeter #5428 üzenetére
Egyikkel sem volt jó sajnos, a firebug olyat írt ki, hogy elért valami korlátot .
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Speeedfire
nagyúr
válasz Speeedfire #5429 üzenetére
Azt hiszem rájöttem a hiba okára, csak még nem tudom, hogy kivitelezzem.
A hiba valószínűleg a htaccess miatt lehet.
Minden kérést az index.php dolgoz fel viszont a valogat.php csak az index.php oldal #main div-jében van emiatt ha jön egy kérés szerencsétlent az index.php oldalra irányítja holott ajaxos kérésnél már ez nem kellene. Remélem holnap rájövök arra, hogy lehetne ezt megoldani, bár a seo-s "kollégák" nagyon mondják, hogy ne csináljam, mert a nagy G nem fogja szeretni.Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
-
PazsitZ
addikt
válasz Speeedfire #5430 üzenetére
Szvsz legegyszerűbben úgy, hogy átadsz egy ajax=1 paramétert, amit htaccess-en belül is továbbadsz.
pl.:
RewriteRule ^index.php?(.*)ajax=1$ /index.php?$1ajax=1
RewriteRule ^index.php?(.*) /index.php?$1A php-n belül pedig eszerint tudod kezelni, hogy csak a main részt adod vissza vagy az egész oldalt.
Ha jól értem a problémát.Az előző esti válasz meg picit mellément Sikerült közel egy hónappal ezelőtti régi hsz-re válaszolnom.
[ Szerkesztve ]
- http://pazsitz.hu -
-
Speeedfire
nagyúr
válasz PazsitZ #5432 üzenetére
Az a baj, hogy az adatbázisban keresi az adatokat és oda is be kellene biggyeszteni, hogy ajax=1, szóval nem lenne valami kényelmes megoldás. Megpróbálom majd valahogy máshogy megoldani.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
vamzi
őstag
Sziasztok!
Nem adatbázisban vezetem a felhasználóimat, hanem fájlokban. Minden egyes felhasználó kap egy külön fájlt ami felhasználó aktivitását írja le ilyen formában:
felhasználónév legutolsó_bejelentkezése(date("F j, Y, g:i a") formában) IP_címeTehát van 3-400 fájlom és a legutolsó bejelentkezése alapján szeretném rendezve kiírni a neveket. Később esetleg szűrni is szintén dátum alapján, de egyelőre csak rendezni szeretném. Hogyan tehetném ezt meg? Ráadásul a fájlok soraiba a formázás miatt a dátum után bekerül még egy </td><td> is.
Előre is köszi
-
Tele von Zsinór
őstag
válasz Speeedfire #5433 üzenetére
A nagyobb JS frameworkök (a jQuery is) beállít egy "X-Requested-With" fejlécet az ajax kéréseknél, ennek létét vizsgálva el tudod dönteni, hagyományos kérés-e vagy ajaxos.
-
L3zl13
nagyúr
Hogy logot fájlba készítesz még csak hagyján, de ha már műveleteket is akarsz csinálni a benne lévő adatokkal, akkor illene adatbázist használni.
Mindenesetre, ha a fájlok elnevezése "beszédes" (felhasználónév) és feltéve, hogy csak bejelentkezésekkor írsz a fájlokba, az utolsó módosítás dátuma alapján rendezheted őket, és akkor nem kell a fájlokat egyesével megnyitogatnod, és kiolvasgatni + feldolgozni egy egy sort.
Aki hülye, haljon meg!
-
vamzi
őstag
Ez a megoldás tökéletes lenne nekem(igen, a felhasználó neve a fájlnak a neve). Erre tudnál valami megoldást, vagy iránymutatást írni? Úgyis mindig csak az utolsó dátumot meg ip címet olvasom ki a fájlból, de az ipcím akár el is hagyható lenne és jelentős terhelés csökkentés lenne a szervernek, hogy nem kell minden egyes alkalommal több száz fájlt átolvasgatnia(ami jelenleg még csak pár 10 soros, de idővel sokkal nagyobb lesz).
Az adatbázist egyelőre hanyagolnám, amőgy is csak egy hobbi oldal, amit azért is szerkesztgetek, hogy tanulgassam a html-t és php-t. mysql-t egyelőre nem akarom(főleg a kevés erőforrás miatt)
-
randras
veterán
Üdv!
A következőt szeretném megvalósítani:
Van egy könyvtár-struktúrám, valahogy úgy, hogy a főmappán belül egy mappában vannak a PHP és JS fájlok, egy másikban a képek, és ezekre a PHP-kban ../-el hivatkozok.
A scriptek is a ../ eléréssel működnek, elég macerás lenne átírni mindenhol.
A konkrét probléma tulajdonképpen az lenne, hogy jelenleg www.tárhely.hu/layout címen tudom elérni az oldalt, ezen a mappán kívül, de azonos szinten vannak mappákban a szükséges fájlok, és nyilván nem tudom egy szinttel feljebb tenni a többi mappát, hogy megmaradjanak a működő hivatkozások, mert az már a public_html mappán kívül lenne..htaccess segítségével megoldható-e az, hogy tulajdonképpen minden www.tárhely.hu/valami-t www.tárhely.hu/layout/valami-nek értelmezzen? (Keresőbarát URL-t használok.)
Valamilyen rewrite rule kéne, csak nekem nem nagyon mennek ezek dolgok egyelőre...
RewriteEngine on
RewriteCond %{HTTP_HOST} ^localhost:85/oldal [NC]
RewriteRule ^(.*)$ http://localhost:85/oldal/layout/$1 [L,R=301]Valami ilyesmi lenne?
Esetleg egy jól használható könyvet, PDF-et is ajánlhatnátok erről a témáról...
Köszönöm a segítséget előre is!
[ Szerkesztve ]
-
Speeedfire
nagyúr
válasz randras #5438 üzenetére
Ennek elvileg mennie kellene. Így minden kérést ami a fő könyvtárba megy 301-el átirányítja a layout mappába
<IfModule mod_rewrite.c>
RewriteEngine on
Options -Indexes Includes FollowSymLinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://domain.hu/layout/$1 [301,L]
</IfModule>Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
randras
veterán
válasz Speeedfire #5439 üzenetére
Szia!
Nekem ez localhoston és élesben is internal server error 500-at dob!
-
L3zl13
nagyúr
Először is kell hozzá egy könyvtár listázás, ami egy alapscript. Ha még nem csináltál ilyet, akkor php.net-en is fenn van a readdir függvény alatt. De szerintem valahol megvan itt a topicban is.
Ehhez képest annyit kell változtatnod, hogy nem rögtön kiiratod a fájlnevet, hanem eltárolod az elemeket egy asszociatív tömbben. (pl $files[$filename]=$modtime) Az utolsó módosítás idejét a filemtime() függvényből kapod meg. (Unix timestampként)
Ezt a tömböt aztán rendezed a módosítás ideje alapján. (pl asort() vagy arsort())
Aztán a tömbbel azt csinálsz amit akarsz, kiíratod foreach-csel vagy ahogy akarod.
Ha az időt is ki akarod íratni akkor értelmes formára hozhatod előtte. (date() függvény)Aki hülye, haljon meg!
-
vamzi
őstag
A könyvtárlista az megy, jelenleg is így iratom ki a felhasználókat, megnyitni csak azért nyitom meg, hogy lássam az ip-t és időt. Tényleg, a . és .. fájlokat hogyan tudnám eltűnteni? (Ugyebár linuxszot használok és ott ezek fileok, nem tudom windowszal mizu). Ezeket hogyan tüntessem el? próbáltam iffel "." || ".." de nem történt semmi.
Egyébként köszi
-
PazsitZ
addikt
válasz Speeedfire #5433 üzenetére
Nem értem a problémádat.
Az adatbázist php-ból éred el, a php fájlban tudo, hogy ajax vagy nem ajax, innen mia nehéz?
Vagy akkor úgy tűnik nem értem, mit szeretnél csinálni.- http://pazsitz.hu -
-
L3zl13
nagyúr
Ez is fönt van a php.net-es példában:
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "$file\n";
}
}
closedir($handle);Azaz kiíratás (vagy a korábbi esetben a tömbbe pakolás) csak akkor történik meg, ha nem "." vagy ".." a fájlnév. Hasonlóan lehet kizárni a listából könyvtárakat is (is_dir()) vagy kiszűrni kiterjesztés alapján bizonyos fájltípusokat.
[ Szerkesztve ]
Aki hülye, haljon meg!
-
SaNyEe
aktív tag
Hi!
MySQL adatbázistervezési kérdésem volna.
Melyik megoldás a gyorsabb sokfelhasználós rendszer esetén:
- minden felhasználónak létezik egy saját táblája ahol rengeteg mennyiségű szöveges információt tárolhat.
- az összes felhasználónak létrehozunk egyetlen hatalmas táblát ahova a csomó szöveges infóikat pakolásszák és felvesszük mezőként a userID-t és indexeljük.Egyáltalán MySQL-ben van-e fizikai/logikai határa a táblák számának?
Tudom nem pont témába vágó, de ez a topic pörög a leginkább (:
[ Szerkesztve ]
-- end of transmission --
-
Speeedfire
nagyúr
Ha jól tudom a fórumok is úgy működnek, hogy:
szöveg | userid, | postid | topicidA PH! is szerintem ilyesmi elven van, meg esetleg kiegészítve még 1-2 dologgal, kinek írta stb.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
DeltaPower
őstag
szerintem felhasználók egy tábla, szövegek még egy.
fizikai/logikai határa elvileg nincs a táblák számának vagy a sorok számának. technikailag okozhat gondot a nagyon sok soros tábla, főleg ha ezekből többet kell joinolni, ugyanis eléggé megnő a lekérdezés ideje."Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
Új hozzászólás Aktív témák
- Asus 17" gyöngyvászon laptop táska
- Ryzen 9 7950X 16mag/32szál /AM5 DDR5/ konfig
- Eladó Samsung DB10D Edge-Lit LED, 10 colos monitor különleges funkciókkal! (Hdmi, USB, LAN, RS232C)
- Szoftverfejlesztési és Gaming PC eladó Intel i7 6800K, GTX 1070, 32GB RAM
- Zalman FPS Gun egér,ritkaság,kifejezetten gamer célokra fejlesztve.