Új hozzászólás Aktív témák
-
lanszelot
addikt
válasz
nevemfel #21601 üzenetére
Nagyon szépen köszönöm mindenkinek
Azt hittem ezt php-val oldják meg, és a php része érdekelt volna.
Amire meg kaptam a választ, és tanulás szempontjából el kezdtem utána olvasni.De email küldésre azt hiszem a bcc és saját magamnak küldés lesz a legegyszerűbb nekem, hisz csak pár embernek küldöm az időpontot.
-
-
syC
addikt
-
liksoft
nagyúr
válasz
nevemfel #21379 üzenetére
Köszi, most tuti 32-es fut. Meg sem kell néznem.
Mivel illik haladni a korral, a kérdésem azért volt, hogy merre menjek tovább. Ős passzív alaplapon nem fut 64, cserébe viszont szinte fogyasztása sincs. NAS helyett ideális volt eddig, Viszont lehet, ezt is cserélnem kell majd.
Ha a 64-es változat tutira tudja a nagy file-ok kezelését, akkor az irány már biztos, és téli szabad napjaimra a feladat adott. -
pch
senior tag
válasz
nevemfel #21323 üzenetére
A count(*) az nem jó, mint említettem having miatt. Meg van group is. Próbáltam nem ad vissza jó értéket. Azért kérdeztem ezt a select count(*) from ( bla-bla) as x -as megoldást.
Ugye subselect. De akkor marad ez. Majd tesztelem a sebességet...
Kár, hogy kivették a sql_calc..-t. Egy query-vel megvolt minden -
cigam
titán
válasz
nevemfel #21259 üzenetére
add_filter( 'posts_where', 'custom_posts_where', 10, 2 );
function custom_posts_where( $where, &$wp_query )
{
global $wpdb;
if ( $custom_post_meta_value = $wp_query->get( 'custom_value' ) ) {
$where .= ' AND ' . $wpdb->postmeta . '.meta_key = "evfordulo" AND ' . $wpdb->postmeta . '.meta_value LIKE \'' . esc_sql( like_escape( $custom_post_meta_value ) ) . '\'';
}
return $where;
}
$args = array(
'post_type' => 'post',
'meta_query' => array(
'relation'=> 'AND',
array(
'key' => 'evfordulo',
'compare' => 'LIKE',
// 'value' => date('md',strtotime("+10 days"))
'custom_value' => date('md',strtotime("+10 days"))
)
)
);
Azt érteni vélem, hogy ha a lekérdezésben találkozik egy "custom_value"-val, akkor azt beilleszti a lekérdezésbe. Ugyanakkor nem végez szűrést. Minden bejegyzést kilistáz.
Ha a custom value-t kikomentelem, akkor és élesítem a sima value-t, akkor máris szűkülnek a találatok, vagyis látszólag nem működik ez a funkció. -
cigam
titán
válasz
nevemfel #21257 üzenetére
Köszi a tippeket! Igen, ezt az egyedi query-t én is láttam, de túl bonyolultnak tűnik. Egyáltalán nem értem (még?)a működését, és a próbálkozásaim sorra kudarcba fulladtak (a MariaDB szintaktikai hibára hivatkozva eldobta).
Viszont egy nem túl elegáns, de működő megoldást találtam:array(
'post_type' => 'post',
'posts_per_page' => 8,
'orderby' => 'post_date',
'order' => 'DESC',
'category' => 'current',
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'evfordulo',
'compare' => 'REGEXP',
'value' => '[0-9]{4}'.date('md',strtotime("-10 days"))
),
array(
'key' => 'evfordulo',
'compare' => 'REGEXP',
'value' => '[0-9]{4}'.date('md',strtotime("-9 days"))
),
array(
'key' => 'evfordulo',
'compare' => 'REGEXP',
'value' => '[0-9]{4}'.date('md',strtotime("-8 days"))
),
... és így tovább egészen a +10. napig. -
cigam
titán
válasz
nevemfel #21255 üzenetére
Köszi a tippet! Sajna sem a regexp, se a * nem jött be.
'value' => '[0-9]{4}1021',
'compare' => 'LIKE'
'value' => '*1021',
'compare' => 'LIKE'
viszont a
'value' => '20221021',
'compare' => 'LIKE'
ugyanúgy megtalálja mint az '='
Működik a
'value' => '1021',
'compare' => 'LIKE'
is, de ez bárhol azonos egyenlőséget keres 2010210 ugyanaz mint a 20221021 -
Bzozoo
tag
válasz
nevemfel #21135 üzenetére
Próbáltam már, a Stackoverflow-on bemutatott összes lehetséges verzióval.
Replit forráskód
Replit demo
Apache server demo
Látható, hogy a cikluson kívüli echo-t sem írja ki az egész PHP értelmezése végéig.
Ráadásul az Apache-on notice-t is kapok, hogy no buffer, nincs mit flush-olni.
Valamit az Apache-on kéne állítani, ha lehet egyáltalán. -
válasz
nevemfel #21003 üzenetére
Oké, így már működik, de mégsem.
Az adott szavakat egy input mezőben adom meg. Így a teljes kód:$likes = $_POST['likesinput'];
Namost, ezt hiába teszem be így:
$likes = [$_POST['likesinput']];
vagy így:$transformer = $_POST['likesinput'];
$likes = [$transformer];
nem működik.Értem a problémát, hogy tömbként kéne megadni string helyett, de erre nem találok opciót így, ebben a formában. Alapvetően így adom meg: sport cars, football, tennis, women
és ebből egy JS csinál ilyet: "sport cars", "football", "tennis", "women"
Így lesz ez likesinput értéke. Ezt kellene valahogy betenni úgy, hogy tömb legyen belőle.Vagy egyáltalán... lehetséges az, amit szeretnék?
-
-
-
-
Taci
addikt
válasz
nevemfel #20931 üzenetére
az viszont a fizetős mysql enterprise csomagban van
Ez az infó nem került a szemem elé, így akkor nem is forszírozom. Köszönöm.
Amúgy azt a doksit már végignéztem, már kezdtem is összerakni a parancsot, amikor észrevettem, hogy nem dump a vége, hanem backup.(Öregszem, plusz már a betűk is összemosódnak ilyenkor.)
Neked is köszönöm, mobal.
Akkor marad így, backup, tömörítés, feltöltés, régiek törlése (egy idő után).--------------------
Még esetleg abban adjatok tanácsot, kérlek, hogy mire készítsem fel a szkriptet. Mikor mondhatom azt, hogy "baj van" az adatbázissal, és a "hibás" adatbázisról ne csináljon backup-ot.
if ($return_code == 0){}
Ha sikeresen lefutott, akkor jön a tömörítés, és ha az is sikeres, akkor a feltöltés.
Nem tudom, állhat-e elő olyan helyzet, hogy 0-ás return code-dal tér vissza az exec() annak ellenére, hogy baj van az adatbázissal.Eredetileg arra gondoltam, hogy mivel nagyon max 3-6 óránkénti (vagy ritkábbi) backupolásra állítanám be, ezért ha még kézzel valamiért pár rekordot törölnöm is kellene, nyugodtan beállíthatok egy olyan feltételt, hogy egy új backup fájl csak akkor valid, ha nagyobb, mint az előző. (5 percenként futnak cron jobok, amik tartalmat húznak be kb. 30 forrásból, így esélytelen, hogy abban a 3-6-akármennyi órás periódusban ne legyen új rekord.)
Ha pedig valamiért mégsem kerülne be egy új rekord sem, akkor sem bántja az előző backupot, hiszen csak akkor valid az új backup, ha nagyobb, mint az előző - tehát egyenlőnél invalid.Jó ez a gondolatmenet?
Mire készítsem még fel, mi "romolhat el"? Nyilván ha a szolgáltatónál valami kiesik, akkor a cron jobok, így a backup sem fog futni. Vagy ha az adatbázissal van baj, akkor a mysqldump az exec-ben nem 0-ás return code-dal tér vissza. Másra a saját tapasztalataimből (ami ebben a témában a nullához konvergál alulról) nem tudok gondolni.
Köszi.
-
biker
nagyúr
válasz
nevemfel #20730 üzenetére
"Bárki bárhonnan küldhet egy requestet a form feldolgozó oldalára. "
Hát ha bárhonnan küld, akkor nem lesz érvényes sessionID-je ami akkor generálódik amikor a login formot megnyitja, és ekkor tárolom le a tokent amit elküldök postba, és ha a session és post token nem egyezik akkor nem jó.
Ez akkor lehet sikeres, ha a loginformot megnyitja és elküldi, de ő beleír readonly mezőbe is és el tudja küldeni a foromot invalid esetén...----
Most annyit tettem rá, hogy nem js-el ellenőrzöm a captchat, hanem elküldés után a fogadó php-ben így kikerülve azt, amire még gondolok, js-t letiltják, és akkor nem fut le a validálás és el tudja küldeni a formot.
Így ha fogadáskor nincs captcha válasz, és az nem succes, akkor nem mentem le.
-
biker
nagyúr
válasz
nevemfel #20726 üzenetére
na most kérek igazán tanácsot..
felraktam a token generálást + ellenőrzést, és közben a naplót kiegészítettem azzal, hogy mentsen minden generált tokent és reg kisérletet
ugye ezzel elvileg csak úgy tudnák elküldeni a formot, ha a honlapon töltik ki és létrejön a token amit elment a sessionbe. ezután elküldi a formot
Azonban
1: a formot recaptcha védi, ki kell pipálni nem vagyok robot
2: van egy readonly mező amibe az új tag vonalkód generálódik, ezt is átírják, vagyis elég kizárt hogy az oldalon küldik a formot
Most akkor hogy tud elküldeni egy formot, amin van recaptcha és hogy tud közben átírni readonly mezőt, és hogy aktiválja az összes mező kitöltésig js-el disabled-re tett küldés gombot? hiszen van ugye bevitel ellenőrzés, kötelező mezők ki vannak-e töltve stb -
lanszelot
addikt
válasz
nevemfel #20702 üzenetére
Xampp olyan biztonsági dologhoz kér hozzáférést, hogy hanyagoltam.
Ampps -ban nincs config file, ott böngészőben van minden mint egy router nél.
Akkor maradok a parancssornál.Más kérdés: van egy Array amiben file nevek vannak /123.jpg, 456.jpg/
Az index.php mellett van egy könyvtár, abban a képek, össze szeretném hasonlítani, a tömb ben lévő képek közül melyik van a könyvtárban is, csak azok maradjanak az Array ben amik a könyvtárban is vannak.
Ezt hogy tudom megcsinálni? -
Taci
addikt
válasz
nevemfel #20659 üzenetére
Ezt most amúgy én sem értem.
Ez működik, csak benne van pár p-tag a kinyert sztringben ($description):
$description = $node->getElementsByTagName('description')->item(0)->nodeValue;
Ezért akartam volna úgy, hogy "tovább bővítem" ezt a kódot, hogy az első p-tagek közti sztring részletet adja vissza, pl. így:
$description = $node->getElementsByTagName('description')->item(0)->nodeValue->getElementsByTagName('p')[0];
De ezt nem tudtam megoldani, mert csak vakon próbálkoztam, hogy hogyan kellene/lehetne folytatni.
Sztringvágással már megcsináltam, csak reméltem, lehet egyszerűbben/szebben is.
-
Taci
addikt
válasz
nevemfel #20540 üzenetére
A forrássztringeket kapom, nem én készítem, és van, ami idézőjellel jön, van, ami "-tal, változó, nincs rá hatásom. Sajnos kezelnem kell tudni minden helyzetet. És ezek szerint most rosszul kezelem.
Hát ne kerüljön bele eleve "-tal.
Akkor megpróbálkozom azzal, hogy htmlspecialchars_decode-dal rakom adatbázisba, így minden ugyanúgy fog bekerülni. És akkor ezeket adom a kliensnek htmlspecialchars használatával, a többi meg a böngésző dolga.@Mike: Ahogy utánaolvastam, pár kommentben láttam, hogy pár speciális karakterrel "rosszul bánik" a htmlentities, míg a htmlspecialchars szépen kezeli. Köszi azért, hogy bemásoltad.
Just ran into a problem due to using htmlentities rather than htmlspecialchars! If your site is UTF8 encoded, special symbols like ¡™£¢∞§¶ get turned into little black diamonds with question marks in them because htmlentities doesn't know how to handle them, but htmlspecialchars does.
-
Taci
addikt
válasz
nevemfel #20535 üzenetére
Megcsináltam így, a
htmlspecialchars
-t csak megjelenítésnél használom, és ha idézőjellel"
kerül be az adatbázisba a szöveg, akkor a kliensnek már"
-tal adja át, amit aztán a böngésző szépen megjelenít újra idézőjelként"
.Viszont ha már eleve
"
-tal kerül be, akkor"
-ot is ír ki a böngésző. (Megnéztem, most már nem rakja bele az "amp"-ot, tehát normálisan"
van a kliensnek visszaadott értékben.)Ez nem a böngésző dolga lenne, hogy visszaalakítsa?
Vagy nekem kell valamit még csinálnom?
@Mike:
Esetleg a collation-ös dolgot? Mert ott ahogy pár hozzászólással lejjebb is írtam (túl bőven, tudom), nagyon nem érzem ezt a collation-témát, a keresésem azóta is kuka. (De ez most más téma.)Próbáltam így is:
htmlspecialchars($row["feed_description"], ENT_QUOTES, 'UTF-8');
De ugyanaz a végeredmény. (Az ENT_QUOTES itt most nem játszik szerepet, tudom.) -
Taci
addikt
válasz
nevemfel #20535 üzenetére
Aha, értem mire gondolsz, tehát amikor a kliens kéri a tartalmat (JS), és a PHP lekérdi az adatbázisból, amit megkap, arra hívjam meg a htmlspecialchars-t, és azt adjam vissza a kliensnek.
Amúgy ahogy nézegetem, azt is írják talán megoldásnak, hogy előbb a _decode függvényét kell meghívni, és így rendben lesz:
[link]$text = 'Your text with &s from the database';
// Decode and re-encode the special characters.
$text = htmlspecialchars(htmlspecialchars_decode($text));
Kipróbálom mindkettőt.
Köszi szépen a gyors választ!
-
Taci
addikt
válasz
nevemfel #20506 üzenetére
Igen, ilyesmi lehet. Most még 20mp / 20 lekérdezésen hagytam, de megnézem úgy is, ahogy mondod, hogy minden lekérdezés között 500-1000 ms, hátha annyi is elég.
Még egy korábbi témában viszont muszáj vagyok segítséget/tanácsot kérni:
Újra elő jött a össze-vissza karakterezés (az ékezeteseken).
Jelenleg 2 típusú sorból szedem össze a szükséges adatokat:1)
<meta name="keywords" content="mexikó, repülőgép, baleset, külföld" />
2)
<script>window.exclusionTags=['hamisítás', 'konténerhajó', 'hamis termék', 'Szellemi Tulajdon Nemzeti Hivatala'];</script>
Az első eredménye a
mexikó,repülőgép,baleset,külföld
sztring, a második pedig ahamisítás,konténerhajó,hamis termék,Szellemi Tulajdon Nemzeti Hivatala
.Ahogy ezek bekerülnek a logba (és az adatbázisba), máris borul minden, a log korábban helyes ékezetes betűi is össze-vissza lesznek.
Hogyan tudom ezeket úgy átadni, hogy ne zavarjanak be? Valószínűleg a karakterkészlettek kell bűvészkedni, de nem tudom, hogyan, mert azt sem értem, egy korábban jól működőt hogyan ronthat ez el.
Köszi.
-
Taci
addikt
válasz
nevemfel #20504 üzenetére
Na visszamentem szinte nullára, teljesen más irányból közelítettem, de a vége így is ugyanaz:
az Index-től csak 21 link tartalmát tudom leszedni egyszerre. Az Origo-tól az összeset.Egy kicsit részletesebben:
Az Index RSS feed-je 60 elemet tartalmaz, az Origoé 50-et. Ezeken én egyesével végigmegyek, a file() funkcióval pedig mindegyiknek a tartalmán.
Na az Origo az hagyja mind az 50 link megnyitását és szétszedését, de az Index 21 után "letilt".Bele raktam ezért 20-hoz egy 60 mp-es várakozást (sleep(60)), és utána hagytam folytatni. Ekkor már 26-ig ment el az Indexnél.
Aztán ezt a várakozást átállítottam 120 mp-re, és így végig ment az összes Indexes elemen is.Szóval a legtöbb problémát ez okozta, 1 teljes napom ráment ezt az Indexes "limitet" felderíteni.
Ezt hogyan lehet a legjobban kezelni? Van rá mód megállapítani, hogy hol van ez az Indexes "határ", hogy ki tudjam centizni?
-
Taci
addikt
válasz
nevemfel #20501 üzenetére
DesktopServer-t használok a tesztek és a fejlesztés időszakára.
Azt vettem észre, hogy talán onnantól ment félre a dolog, hogy beletúrok egy-egy link forrásfájljába, hogy kiszedjek pár infót belőle.
$all_lines = file($feed_item_link);
foreach ($all_lines as $line_num => $line) {
$keywords = '"keywords" content="';
if (!empty(strpos($line, $keywords))) {
$keywords_strstr = strstr($line, $keywords);
$keywords_strstr_substr = substr($keywords_strstr, 20); //ennek a hossza: "keywords" content="
$keywords_closing_stripos = stripos($keywords_strstr_substr, '"');
$keywords_result = substr($keywords_strstr_substr, 0, $keywords_closing_stripos);
$return_keywords_link = $keywords_result;
$return_keywords_link = str_replace(", ", ",", $return_keywords_link);
}
}
Ha ékezet nélküli adatot szedek ki (pl. linket), akkor nincs gond, ez a fenti kód tökéletesen működik. (nem pont ugyanez a kód, de a lényege ugyanez, csak más string-re keres, és nincs a végén replace)
Viszont azt vettem észre, ha van benne ékezet, akkor az egész kuka, a logtól az adatbázisig minden.Fura ami itt történik, mert pár bejegyzésre a PHP error.log-ja ezt dobja:
PHP Warning: file(https://index.hu/techtud/2021/03/27/allatok-oroszorszag-leopard-nagymacska/): failed to open stream: HTTP request failed!
A link srting-ként van átadva, szóval ez a valóságban file("link")-ként néz ki, de így logolja valamiért. Egyik csatornán működik mindre, másik csatornán mindig csak az első 21-re. Már a hajam tépem, nem értem.
------------
Szóval igazából ez 2 probléma:
1) Ha ékezetes tartalmat szedek ki, az hazavágja a logot és az adatbázis ezen részét is. De ez sem mindig, mert láttam már ékezetes tartalommal a logot és az adatbázist is. De valamiért valahol néha hibázik, csúnyán.2) Az
$all_lines = file($feed_item_link);
nem mindig ad vissza eredményt. Lehívom 60 linkre, abból 21 jó lesz, a többi nem. Lehívom a rosszul sikerült 49-re, abból 21 megint jó lesz.
De ugyanez egy másik csatornával (Index.hu helyett Origo.hu) meg csont nélkül viszi az összeset elsőre. -
-
-
-
Ispy
nagyúr
válasz
nevemfel #20051 üzenetére
Nem új keletű vita ez, vastagkliens vagy vékonykliens, mindegyiknek van előnye meg hátránya. Jelenleg ott tartunk, hogy nekünk az a jó, ha inkább a szerver "vastag", mert 2 kattintással feltoljuk az azure-t egy szinttel odébb és máris van 2x annyi power az adatbázis oldalon, ha kell. A user viszont nem fog köpködni, ha az android app rohadt lassú, megkap mindent előemésztve, a beállításoktól kezdve az adatokig, amiknek meg kell jelenni, ő meg csak kirakja a képernyőre. Aztán persze idővel lehet más lesz a helyzet, de most innen indultunk el.
A PHP-nak itt meg csak tényleg az a dolga, hogy route-olja az adatokat, nem kell tudnia, hogy miért az van benne, ami, vagy hogy hogyan és miért kapcsolódik az egyik adat a másikhoz, erre ott van a relációs adatbázis. Ismerek én is nem egy vastag klienssel futó programot, ahol az adatbázis tk. csak az adatok tárolására van, aztán a kliens meg csinál minden mást, kinek a pap, kinek a paplan.
Új hozzászólás Aktív témák
Hirdetés
- Sony PlayStation 5 Fat 825 GB eredeti doboz, gyári kontroller
- Dell XPS 3K Érintős,core i7,16GB RAM,256-512GB SSD,ÚJ AKKU,ÚJ TÖLTŐ,Szép állapot
- AKCIÓ!!!Acer V3,FullHD core i5 6200u(4X2,8Ghz),8GBRAM,nVme
- Újszerű Lenovo,15,6"FullHd IPS,Ryzen 5(8x3,7Ghz)VEGA 8 VGA,12-20GB RAM,SSD+HDD
- Lenovo 14,1"Áthajtható Érintős FullHd,Ryzen 3,VEGA VGA,8-16GB DDR4 RAM,256-512SSD,Szép állapot
- Tablet felvásárlás! Samsung Galaxy Tab S10+, Samsung Galaxy Tab S10 Ultra, Samsung Galaxy Tab S10 FE
- TELJES KÖRŰ IT BESZERZÉS
- Azonnali készpénzes AMD Ryzen 1xxx 2xxx 3xxx 5xxx processzor felvásárlás személyesen / csomagküldés
- Intel X540-T2 dual-port 10GbE RJ45 hálózati vezérlő (10Gbit, 2 port, áfás számla, garancia)
- AKCIÓ! Gigabyte AORUS 16X (2024) Gamer notebook - i7 14650HX 16GB RAM 1TB SSD RTX 4070 8GBWin11
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest