- Fejhallgató erősítő és DAC topik
- Milyen billentyűzetet vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen processzort vegyek?
- Milyen monitort vegyek?
- Melyik tápegységet vegyem?
- SSD kibeszélő
- Azonnali alaplapos kérdések órája
- Rágyúr a macOS-re a 3DMark
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
vancha2 #4179 üzenetére
Nem tudom, minek magyaráztad meg a teljesen egyértelmű részt, mivel elég könnyű volt felfogni, hogy az mire jó, nem is azt kérdeztem.
Az előző hsz.-ben csak összegeztem, hogy ezek szerint minden egyes oldallátogatást el szeretnél menteni, nem elég az új látogatók lekérdezése, arra is kíváncsi vagy, hogy az egyedi látogató hányszor kattintgatott az oldalon belül, ill. hányszor frissített. Ugyanezt írtam az előző hsz.-emben, csak másképp. Egyébként így már teljesen érthető, miért van szükség az $uj változóra, csak a legelső hsz.-ednél még nem volt világos, hogy minden "látogatást" tárolni szeretnél.
A duplikált bejegyzés elég furcsa, most így hirtelen nincs rá ötletem. -
Sk8erPeter
nagyúr
válasz
vancha2 #4177 üzenetére
Te egyetlen dologtól teszed függővé azt, hogy el kell-e tárolni, vagy sem:
if(eregi('(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp/cat)|(msnbot)|(ia_archiver)', $useragent)) { }
else {
mysql_query("INSERT INTO stat(pozicio, datum, ip, host, referer, useragent, egyedi) VALUES ('$ad_pozicio', '$time', '$ip', '$host', '$referer', '$useragent', '$uj')");
setcookie("wait", time(), time()+60);
}
Gondolom az $uj változót ezek alapján arra használod fel, hogy egy reklámot már megnéztek-e vagy sem, és minden egyes megnézést tárolni szeretnél, hogy tudj készíteni egy összesítést arról, hogy összesen hányszor ugrott az arcába a látogatóknak a reklám.
Az a probléma, hogy van, hogy pontosan ugyanabban az időpontban menti el azonos látogatást duplikálva, úgy, hogy az $uj változó 1 értékű? Mert ezt a duplikálást nem fejtetted ki bővebben.
Igen, az eregi() már deprecated lesz 5.3.0-tól. -
Sk8erPeter
nagyúr
válasz
vancha2 #4172 üzenetére
Ha jól látom, az $uj változót csak arra használod, hogy amikor elmented adatbázisba a látogató adatait, akkor az adatbázisban az "egyedi" mezőben 1 vagy 0 lesz, attól függően, hogy a $_COOKIE["latogato"] be van-e állítva. Ennek szerintem semmi értelme. Akkor már miért nem teszed az egészet a cookie létének ellenőrzése alá? Ha még nincs beállítva a cookie változó, akkor tárolja el az adatbázisba: if(!isset($_COOKIE["latogato"]))...
Meg a feltételvizsgálatot is lehetne egyszerűsíteni. Az $uj szerintem felesleges. A setcookie("wait", time(), time()+60); pluszban történő beállításával mit szerettél volna?
Valahogy így képzeltem el egyszerűsítve (az $uj változó felesleges, az eregi-vel ellenőrzést korábbra is be lehet rakni, a második setcookie most így elsőre nem világos, miért szükséges):if(!isset($_COOKIE["latogato"]) && !eregi('(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp/cat)|(msnbot)|(ia_archiver)', $useragent) )
{
$uj = 0; //??? felesleges...
$ip = $_SERVER["REMOTE_ADDR"];
$host = gethostbyaddr($ip);
$referer = $_SERVER["HTTP_REFERER"];
$useragent = $_SERVER["HTTP_USER_AGENT"];
$nap = date('d', time())+1;
$ho = date('m', time());
$ev = date('Y', time());
$meddig = strtotime($ev.'-'.$ho.'-'.$nap)-(60*60);
setcookie("latogato", time(), $meddig);
mysql_query("INSERT INTO stat(pozicio, datum, ip, host, referer, useragent, egyedi) VALUES ('$ad_pozicio', '$time', '$ip', '$host', '$referer', '$useragent', '$uj')");
//itt az $uj változót valami célszerűbbre lehetne lecserélni...
setcookie("wait", time(), time()+60); //???
}Ezt az egész látogatószámlálást mondjuk sessionnel is el lehetne intézni, és akkor nem lenne olyan gond, hogy ha valaki tiltja a cookie-kat a böngészőjében, akkor nem tárolja el a látogatását. >> [link] Persze akkor a visszatérő vendégeket is újraszámolja (bár az nem hiszem, hogy probléma lenne, hiszen gondolom arra is kíváncsi vagy, hogy visszajönnek-e; meg egyébként is újraszámolná cookie-k törlése után).
-
Odiepapa
csendes tag
válasz
vancha2 #2711 üzenetére
akkor talan a kovetkezore is tudsz valaszt adni:
van egy textarea-m. Kitoltom, atfuttatom htmlspecialchars-szal, majd elmentem az adatbazisba BLOB-kent. Amikor visszatoltom az oldalra, illetve ismet betoltom a textarea-ba, hogy modositani tudjam (majd ujra elmenteni), akkor a soremelesek / sortoresek mar nem ugy jelennek meg, mint az erdeti szovegben anno, hanem egybefolyik az egesz szoveg, mondat mondatot kovet es nincs sorkihagyas.
Milyen megoldas van arra, hogy az eredeti szovegformatummal tudjam tarolni es visszatolteni?
-
Sigismund
tag
válasz
vancha2 #1879 üzenetére
Sajnos tudom, hogy nem filléres egyik sem, de ha egyszer nem tudok net közelbe kerülni, hogy tanuljak, vagy akár gép közelbe legyek, hogy arról tanuljak, s egyből ki is próbáljam más kép nem megy. Meg kell venni.
Egyébként milyen elekronikus formára gondolsz? (oldalakra?), mert ha igen akkor lehet hogy később szivesen használnám azokat is, hamár az alapokkal tisztába vagyok, s tovább szeretnék fejlődni majd ezen a téren.
S köszönöm a könyv ajánlást. -
cucka
addikt
válasz
vancha2 #1867 üzenetére
Az i betű a case insensitive rövidítése, tehát nem veszi figyelembe a kis és nagy betűk közötti különbséget. Ha ezt bekapcsolod, akkor mondjuk az 'ALMAFA' szövegre illeszkedni fog a '/alma/i' minta és a '/ALMA/i' minta is. (meg természetesen mindenféle variáció)
Ami fontos, hogy a /i kapcsoló csak az angol ábécé betűire működik..
-
L3zl13
nagyúr
-
-
mm00
aktív tag
-
mm00
aktív tag
válasz
vancha2 #1797 üzenetére
Adatbázis van amelyik kodolásnál nem veszi figyelembe az ékezetet keresésnél, azért dobja ki találatnak.
Kérdésedre, azt tudom mondani, hogy tuntesd el az ékezeteket a $szo-ból, majd nézd meg hányadik karaktertol hányadikig találhato meg benn a szo táoldal le majd elso helyre a nyito taget másodikra meg a záro taget tedd.
-
vakondka
őstag
válasz
vancha2 #1154 üzenetére
nekem hasonló esetben segített, ha a query előtt lefuttattam egy másikat:
@mysql_query("SET NAMES latin2");
próbáld meg így, vagy ha nem megy akkor a latin2 helyett UTF-8at írni...ui: egyébként a MySQL is tud olyat, hogy a karakterlánc egy részét adja csak vissza.
pl: SELECT LEFT(`name`,1) FROM `users`
ez visszaadja a user táblából a name mező első karakterét
-
k3vin
csendes tag
válasz
vancha2 #1049 üzenetére
Hello!
Én a helyedben ezt session-al oldanám meg.
A session változó értékét a böngésző tárjolja, mindaddig míg be nem zárod a böngészőt, vagy ki nem törlöd a session értékeit php-ben...szoval:
valami.php?id=1
....
session_start();
$_sessio[1] = "userid";
....valami.php?id=2
...
session_start();
$session[2] = "userid";
...Aután ezt ki tudod olvasni minden oldalon... Tehát ha megnyitja az oldal1-et, aztán átmegy a 2-re, aztán vissza az 1-re, nem fogja ujra tárolni a +1 értéket, mert már megadtad az userid-t és tárolja a böngésző. De ha bezárja a felhasználó a böngészőt, vagy esetleg kijelentkezik és olyankor törlön a sessiont, és ezek után nyitja meg újra, akkor újra adódik a +1 az adatbázishoz...
Hirtelen én így oldanám meg.. egyszerű és működőképes...Üdv:
Kev -
DeltaPower
addikt
válasz
vancha2 #1049 üzenetére
google... [link]
<?php
// set the cookies
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");// after the page reloads, print them out
if (isset($_COOKIE['cookie'])) {
foreach ($_COOKIE['cookie'] as $name => $value) {
echo "$name : $value <br />\n";
}
}
?> -
Tele von Zsinór
őstag
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$starttime = $mtime;
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$totaltime = ($endtime - $starttime);
echo("Ezen oldal generálása " . sprintf("%.6f",$totaltime) . " másodpercig tartott\n"); -
-
vakondka
őstag
Lehet, hogy favágó módszer, de én azt csinálnám,
hogy rögtön az progi elején kiadnék egy document.location.href utasítást.
Így ha van javascriptje átírányítódik a másik oldalra, amelyik támogatja a javascritet,
alapból pedig marad azon az oldalon ahol ez a kód van úgyhogy ez lesz a javascript nélkül is működő oldal. -
vakondka
őstag
Köszi a választ mindenkinek !
A legfontosabb formnál (webáruházban ez küldi el a rendelést) megoldottam a dolgot,
úgy hogy a rendelés sikeres elküldése után kiürítem a kosarat, a post-os adatok feldolgozása előtt viszont most már azt is megnézem, hogy nem-e üres a kosár és ha üres, akkor hiába jött post data...
A többi formnál még megoldásra vár a dolog, lehet, hogy megpróbálok beállítani egy session változót a sikeres első post után...
más: kellene egy olyan sql, ami minden rendelés után kitörli a régi kosarakat (ami 1 napnál régebbi)...szóval van az adatbázisban egy datatime mező és ez alapján kellene egy olyan delete, ami csak azokat törli amiket kell...tudom ez elvileg másik topic, de van összefüggés
Előre is köszi ! -
föccer
nagyúr
-
Tele von Zsinór
őstag
Ez nem csinál mást, csak letöltésre felkínálja az adott filet. Hogy te hogy állapítod meg a file nevét, helyét, illetve hogyan számlálod, az rád van bízva. Célszerű mondjuk adatbázisban tárolni ezeket: id,eredeti filenév,mime típus,számláló
Feltöltéskor a file neve legyen az id és semmi más, valamit elmentet a mime type-t amit a bowser küld. Letöltéskor kapsz egy id-t, az alapján az adatbázisban előkeríted a megfelelő sort, növeled a számlálót, valamint elküldöd a kliensnek a filet az eredeti filenévvel és mime típussal. -
tkazmer
addikt
-
tkazmer
addikt
1. Így hiretelen ezt találtam: [link]
2. Erre két megoldás is eszembe jutott, egyik, ami talán egyszerűbb, hogy azt számolod, hogy azt a lapot, ahonnan a letöltés megy, hányszor jelenítették meg. Ez annyiban lehet problémás, hogy ugye lehet, hogy valaki csak megnézi, de mégsem tölti le.
Második lehetőség, hogy csinálsz egy php file-t, aminek az a dolga, hogy a megfelelő paraméterek alapján elküldje a kliensnek a file-t. (én pl itt [link] ilyet használok, a kép teljes méretű letöltése link egy php file-ra mutat, amelyiknek az a dolga, hogy jelen esetben a képet, de bármi mást is elküldjenek a kliensnek. Azt, hogy a php kimenete egy ilyen file legyen, pedig a headerekkel tudod beállítani)
Új hozzászólás Aktív témák
Hirdetés
- Telekom mobilszolgáltatások
- Fejhallgató erősítő és DAC topik
- PlayStation 3
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Milyen billentyűzetet vegyek?
- Óvodások homokozója
- iPhone topik
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Revolut
- További aktív témák...
- Eladó konfig! Ryzen 7 7800X3D 2TB SSD 64GB DDR5 RX9070XT 16GB!
- Új, makulátlan állapotú Samsung Galaxy Buds FE, fehér, fél év garancia
- Új, makulátlan állapotú Samsung Galaxy Watch7 44mm ezüst, 2 év garancia
- Új, makulátlan állapotú Samsung Z Fold 6 256GB Tengerészkék, független, 2 év garancia
- Használt TP-Link Deco M4 - AC1200 Router (Mesh-ként is használható)
- Samsung DM48E 48" LED Monitor
- Bomba ár! Dell Latitude E6520 - i7-2760QM I 8GB I 256SSD I Nvidia I HDMI I 15,6" HD+ I W10 I Gari!
- ÁRGARANCIA!Épített KomPhone Ryzen 9 5900X 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! MSI B450 TomaHawk R5 5600X 32GB DDR4 512GB SSD RTX 3060 XC 12GB Rampage SHIVA 600W
- BESZÁMÍTÁS! Intel Core i9 9900KF 8 mag 16 szál processzor garanciával hibátlan működéssel
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged