Új hozzászólás Aktív témák
-
Mike
veterán
Itt most ellent kell mondjak neked. Jó volt a könyv, a 90-es, esetleg a 2000-es években. Én is rongyosra használtam a foxpro könyvet. Mára azonban csak online oldalakat használok, php esetén 90%-ban a php.net vagy a stackoverflow-t. A könyv mára nehézkes, főleg mivel konkrét információ kell és nem olvasni akarok
-
Mike
veterán
válasz
Atos23 #21102 üzenetére
md5-özd le a passwordot, sqlben is van md5 függvény, és a phpban is.
utána ezt a két stringet hasonlítod összea titkosított kommunikáció a https
illetve lehet még szórakozni a SESSIOn-ökkel, ezeknek olvass utánaa php-nál az a lényeg, hogy mindegyik önálló oldal, és nem tudja mit csinál a másik, csak a session tároló sütit éri el (a felszin nem, tehát javascript nem fér hozzá), de az is csak addig mig a a böngésző nyitva van.
tehát a login.php beléptet, sessionbe beteszed a belépett user azonosítóját (itt se az legyen hogy józsi, hanem valamilyen 16-32 karakteres kulcs, pl UUID (sql-ben: UUID() funkció generál neked egyet) amit adatbázisban tárolsz, és utána a másik php-ban első dolgod megnézni, hogy ez az azonosító benne van az adatbázisban, ha nincs nem csinálsz semmit -
Mike
veterán
válasz
laracroft #21084 üzenetére
ha már midnenáron keverni akarod, akkor írd stringbe a html-t, a php-n belül
tehat $kiir_html = '<p>Blabala</p>';
de még jobb ha helyörzőket használsztehat $html = '<p style="{{p_style}}">Blablabla</p>';
$p_style = 'color:red';
ki_html = str_replace("{{p_style}}", $p_style, $html);aztán ezt még lehet fokozni regex-szel, ami megkeresi az összes "{{}}" előfordulást, és a tömbben/objeltumtömbben kapott értékekkel lecseréli, stb
ezzel azt is meg tudod csinálni, hogy külső html templateket hívsz be, amikben a helyörzőket kicseréled aztán php-ban -
Mike
veterán
válasz
hellsing71 #21074 üzenetére
nem kell külön deklarálni php-ban változót
egyszerűen elkezded használni -
Mike
veterán
totál off lesz, elnézést, de nem találtam megfelelő topikot erre
a következő a problémám: a vps-ünkön mongodb-t használunk, napi mentés mongodumppal történik, az a jelenség, hogy mongodump idő múlva beszorul (jam), egyre kevesebb adatot ment és a végén áll az egész szerver (nem fagy le, az admin felület szerint online) de konkrétan SSH-n keresztül sem tudok fellépni rá). azt olvastam, hogy a mongodump kicsi adatbázisokra alakalmas, de nagyobbakra, amikor több gigás bson fileokat generál, hajlamos erre ha megtellik a memória (bár 16 giga memória van és a legnagyobb kollekció mérete sem több 3,5 gigánál). mi lehet a megoldás? a --quiet pl? vagy milyen alternetív megoldás létezik a mongodump helyett, de olyan amivel nem kell leállítanom a mongodb futását.
(mongoban annyira nem vagyok otthon sem szerver üzemeltetésben, szóval bocs ha idióta volt a kérdés) -
Mike
veterán
válasz
Prog-Szerv #20975 üzenetére
mondanám hogy kevés a memória, de a var_dump esetén is? hm
milyen eredményt ad a rowCount? -
Mike
veterán
az update mindig lassú. éppen emiatt szoktam át az insertre
pl. email megnyitását beteheted a queue-ba is mezőként amit aztán updattel beírsz, de ennél lényegesen gyorsabb ha berakod egy insert-tel egy megnyitás táblába a kapott uuid-kat aztán ezt majd összefűzöd lekérdezéskor. -
Mike
veterán
a kulcsszavak külön táblában tárolnám, az egyes címeket is, és ezek azonosítóját egy harmadikban. a kulcsszavak unique-olva lennének, így egy sima insert elég arra hogy betegyem ami még nincs benne. azt, hogy ne lehessen elütésekkel mindig ugyanolyan kulcsszavakat megadni a felszínen oldanám meg.
a rendezgetés részt nem értem, a szoftvered mi alapján rendezgetni? vagy írtál hozzá egy AI-t? de úgy is tudod csinálni, hogy a felszin eleve feladja a backnek, az id-kat. ha nem akarsz belső id-kat megadni, használd az uuid-t van SQL alatt UUUID(), de a rövidített változat is eléggé unique, tehát LEFT(UUID,8)de úgy látom az adatbázist ajánlotta már más is.
-
Mike
veterán
Ne kövezzetek meg, total dump kérdés, de a következőbe futottam bele
adott egy url, akarmi.php, ha rosszul paraméterezed, 400-as hibát ad vissza és kiír egy szöveget.
- ha ezt szimplán beírom a böngészőbe, akkor kiirja a szöveget
- ha ugyanezt object-ben teszem, nem jelenik meg semmia cél az lenne , hogy ott is kiirja
van erre valami egyszerű megoldás, azon felül hogy az egészet átteszem ajaxba, és nem adok vissza egész oldalakat? (tudom, de ez most ilyen, ha nem muszáj nem alakítanám át.) -
-
Mike
veterán
a php server oldali nyelv, ergo a szervernek adatokat kell küldeni
pl a kiválasztást elküldöd postban és azt írod ki aamit a szerver válaszol
vagy a form szerkezetét le tudod vele generálni, amire aztán írsz felszini kódot, ami valaidálja, kiírja az üzeneteket, stb, persze ezeket is lehet szedni adatbázisból:
itt pl. a php generálja a felszini js kódot is, így nem kell átadogatni a kírandó szöveget
persze ez arra nem alkalmas, hogy online nyelvet vltson a formon valaki kitöltés közben
szóval érdekelne mit is szeretnélrequest.onreadystatechange = function() {
if (request.status >= 200 && request.status < 400) {
// Success!
if(request.readyState == 4) {
alert("'.$szotar['mentes_sikeres'].'")
-
Mike
veterán
válasz
Prog-Szerv #20734 üzenetére
bejöttem melóba
// az update-telendő adatok
$update_adat = [
"id" => 15,
"nev" => "Pista",
"email" => "pista@mail.hu",
"tel" => null];
// ez kerül be az update-be
$set_ertek = '';
// csak a mezok kellenek mezo = :mezo, id alapján updatelünk, ezért ez kimarad
foreach($update_adat as $mezo => $ertek) {
if($mezo != "id")
$set_ertek .= $mezo.' = :'.$mezo.',';
}
// levágjuk a vesszőt a végéről
if(!empty($set_ertek)) $set_ertek = substr($set_ertek, 0, -1);
// csak egy tételt akarunk updatelni, ezért a LIMIT 1
// ezt érdemes kiirni, kevébé cseszed el ha hibás az update
$update_sql =
'UPDATE akarmi
SET
'.$set_ertek.'
WHERE id = :id
LIMIT 1';
// prepare az sql, aztán beadjuk a tömböt neki
// fontos, hogy minden tömbelemet bindelni kell
try{
$update_res = $sql_conn->prepare($update_sql);
$update_res->execute($update_adat);
} catch (Exception $ex) {
echo $ex;
}
-
Mike
veterán
válasz
Prog-Szerv #20737 üzenetére
igen, a nullhoz nem kell idézőjel, aposztrof
-
Mike
veterán
válasz
Prog-Szerv #20737 üzenetére
az adatbázisban engedd hogy null lehessen a mező
akkor írd idézőjelbe a nullt ha stringet adsz át
ha bindelet
SET
mezo = :ertek
akkor megeszi a php nullt is -
Mike
veterán
válasz
Prog-Szerv #20734 üzenetére
ha az akarod hogy null legyen, null-t kell írni, vagy nem sorolod fel a mezőt
if(empty($val)) $val = null;
-
-
Mike
veterán
na megvan a select is
if($node->tagName == 'select') {
$options = $node->getElementsByTagName('option');
foreach($options as $tag) {
$tag->removeAttribute('selected');
$tag_value = $tag->getAttribute('value');
if($tag_value == $be[$name])
$tag->setAttribute('selected', true);
}
}
elnézést ha valakinek ebben semmilyen új információtartalom nem volt, de hátha lesz olyan akinek meg jól jön
-
Mike
veterán
sziasztok
adott egy html, amihez postban jönnek értékek, ezekkel kéne a feltölteni a html-t, mindeféle vagdosás és szövegek keresése helyett. gondoltam erre pont jó a Domdocument, csak még életemben nem használtam
a textarea már oké, azt szépen beteszi a nodeValue, de az input, select-et nem
illetve van 2 gomb amiről le kéne szedni a disabled-et$dom = new DOMDocument();
$dom->loadHTML($munka_html);
$xpath = new DOMXpath($dom);
$col = $xpath->query('//input|//textarea|//select');
if(is_object($col)){
foreach( $col as $node ) {
$name = $node->getAttribute('name');
$node->nodeValue = $be[$name];
}
}
$be az a post bejövő értékek
ez textareanál oké
de se a select, se a sima input nem megyilletve jó lenne tudni az input type értékét is, hogy az input buttonnak ne adjon értéket
illetve az input type="button" -nál szedje le a disabled attribútumot -
Mike
veterán
tudomásom szerint a PDO véd az sql injection ellen. a php korábbi verziójában lévő mysql_query csak egy utasítást hajt végre, hiába, írkálsz bele pontosvesszőket. ezen felül a felhasználó inputjait szűrheted kulcsszavakra, de még egyszerűbb ha az összes inputot még az sql utasításba kerülése előtt base64-gyel kódolod. akkor kb azt ír be amit akar.
-
Mike
veterán
volt már valakinek dolga iCalendar bejegyzésekkel? Lehet valahonann tudni, hogy ki jelez vissza, hogy eljön? Eddig olyat találtam, hogy a google calender apija meg tudja mondani, de ahhoz kell a google fióktól engedély.
-
Mike
veterán
válasz
RedHarlow #20645 üzenetére
ehhez semmilyen backend nem kell.
FileReader API
https://developer.mozilla.org/en-US/docs/Web/API/FileReadermiért nem olvasok el mindent?
SQl-hez kellbeolvasod a file-t, elküldöd az id-kat a backendre, és visszakapod a csv-t
de ennyi energiával feltöltöd a file a szerverre ott kiszeded php-val az id-kat és visszaküldöd a csv-t -
Mike
veterán
azért egy kis erro kezelés nem árt
$result = curl_exec($ch);
$result_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if($errno = curl_errno($ch)) {
valami
}
curl_close ($ch);
én még tettem bele egy kis json átalakítést is, úgyis mindig abban jön vissza a válasz (kivéve a Gyevi bírót)
$res = array("result" => json_decode($result, true), "result_code" => $result_code);
return $res;
-
Mike
veterán
van itt olyan aki már fejlesztett appot? miben gondolkodjak? React? vagy van helyette vmi generátor ami kényelmesebb, gyorsabb (oké korlátozottabb) olyan mint mondjuk a webes tartalomra a Wordpress?
-
Mike
veterán
eyg órát szoptam azon, hogy valamiért nem hoz létre minden constanst egy include-olt file. párat létrehoz, de a többit az istennek nem. aztán eszembe jutott hogy van a path-en vmi maradvány, amiben van egy ugyanolyan nevü file
B+
előrébb.
mindezt csak azért írom ide, mert gondoltam megkérdezem, nincs-e vmi tippetek -
Mike
veterán
használ valaki már 8-ast?
-
Mike
veterán
szerver témában kérném a segítségetek, ebben annyira nem vagyok otthon:
adott egy nignx szerver, van rajta php-fpm
ez eddig ok
a /home alatt van az összes subdomain, én meg szeretném egy közös helyre tenni a funkció gyűjteményemet, amit minden subdomainből elérek
létrehoztam a home alatt egy common/php könyvtárakat
azt beletettem a php.ini-be az include pathba, ami látszik is a phpinfoban
ezzel együtt a test1.php-t nem látja a php (Failed opening 'test1.php' for inclusion)
próbáltam mindenféle ownert, groupot beállítani a mappára, nem sok sikerrel
illetve irásjogot adtam már others-nek is (permission 40777) de ennek sincs semmi hatása.vmi megoldás, mit basztam el, hagytam ki?
-
Mike
veterán
na ez új info volt, mondjuk egy 65k-s mező mellett nincs másik, kivéve TEXT vagy BLOB
The length of a
CHAR
column is fixed to the length that you declare when you create the table. The length can be any value from 0 to 255. WhenCHAR
values are stored, they are right-padded with spaces to the specified length. WhenCHAR
values are retrieved, trailing spaces are removed unless thePAD_CHAR_TO_FULL_LENGTH
SQL mode is enabled.
Values inVARCHAR
columns are variable-length strings. The length can be specified as a value from 0 to 65,535. The effective maximum length of aVARCHAR
is subject to the maximum row size (65,535 bytes, which is shared among all columns) and the character set used. See Section 8.4.7, “Limits on Table Column Count and Row Size”. -
Mike
veterán
én sem
igen
ugye utf8 az 3 byte egy karakter
inkább úgy mondanám az strlen azt hiszi egy karakter egy byte
de végeredményben igenaz sql-n az utf8 varchar 255 karakerek száma
mostanában kezdek áttérni a json-re, főleg amit nem akarok indexelni, abban keresni
igaz a Mysql 8-asban van json támogatás, és azt hiszem indexelni is lehet az egyes kulcsokat
még a PDO-ba kellen natív json támogatás, hogy ne kelljen kézzel visszakódolni -
Mike
veterán
nem akarok kötözködni de maga a string is indexelt tehát elég végigmenni rajta egy for-ral
$a = "almafa";
for($i=0;$i<strlen($a);$i++)
echo '<br>'.$a[$i];
Mr. Y arra figyelj, hogy ha UTF-8-at használsz akkor a multibyte extension legyen a php-ra felrakva, és strlen helyett mb_strlen-t kell használnii -
Mike
veterán
hm... kicsit belenéztem miket használok
sima POST-os mentésnél nem csinálok a szöveggel semmi ilyesmit
ugyanakkor ajaxnál, amikor objektumtömböt adok átAdatok.push({id:obj.id, ertek:obj.innerText});
majdJSON.stringify
és ezt így dolgozza fel a fogadó oldal$adat = json_decode(html_entity_decode(stripslashes($_POST['adat'])),true);
pár éve változott a POST, van amit duplán escape-pel.
és találtam egy ilyet is//html átalakítása javascriptnek
function HtmlSzovegForJS($str)
{
$str = trim(preg_replace('/\s\s+/', ' ', $str));
$str = htmlentities($str, ENT_COMPAT,'UTF-8', true);
return $str;
}
de fogalmam sincs mire használtam -
Mike
veterán
kicsit off
próbálom működésre bírni a firefox developert remote usb debugging végett, de egyszerűen nem jelenik meg semmi a csatlakoztatott eszközök listáján.firefox developer 88, windows 8.1, android 9
elvileg mindent engedtem/bekapcsoltam amit kellett és a leírásban benne volt.vmi ötlet?
-
Mike
veterán
a feladatfoglalással van problémám. persze lehetne játszani a session időkkel, de én mindig rühelltem a fél óránként kidobáló rendszereket. de így meg ráragad a felhasználó, mert nyomogatja a lapon az x-et.
-
Mike
veterán
belefutottam az onbeforunload problémába
a jelenség az, hogy az onbeforunload működése teljesen esetlegestöbb scriptet is kipróbáltam, végül meglepő módon a MDN-n lévő tűnik úgy, hogy működik, uyganakkor a felugró ablak csak akkor jelenik meg egészen biztosan ha a vizsgáló ki van nyitva
var ua = navigator.userAgent;
window.addEventListener('beforeunload', function (e) {
$.post( "log.php", { p:ua })
.done(function(valasz) {
console.log(valasz);
});
e.preventDefault();
e.returnValue = '';
});
igaz ez nem php, de gondolom más is futott már bele ebbeigazából az a kérdés, hogy talált-e már valaki erre normális megoldást
Új hozzászólás Aktív témák
Hirdetés
- EA Sports WRC '23
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Azonnali fáradt gőzös kérdések órája
- Motoros topic
- Apple MacBook
- Debrecen és környéke adok-veszek-beszélgetek
- Synology NAS
- DOOM - The Dark Ages
- Crohn betegség
- Egyre csak fejlődik az AI, emberek tízezreit rúgja majd ki a BT
- További aktív témák...
- QNAP TS-870U-RP 8 lemezes Rack NAS
- Apple iPhone SE 16GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- BESZÁMÍTÁS! GIGABYTE AORUS ELITE Z790 i7 14700K 64GB DDR5 1TB SSD 7900XTX 24GB be quiet! SB802 1000W
- Bowers/Wilkins PX8 fejhallgatók (dupla Bluetooth eszköz csatlakoztatása!) - ELKELTEK
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest