22786
Html-, css- és php-help
  • Jim Morrison
    #21906
    köszi, lehet hogy ez lesz, csak épp rakok egy x-et mondjuk eléjük, hogy vissza is tudjam alakítani őket eredeti állapotukba.
  • j0nNyKa
    #21905
    hármas pont a lényeg
  • SzirmosSzisza
    #21904
    Valaki esetleg nem tudja, hogy a Facebook mi alapján rak ki kis képet/leírást, ha belinkelünk egy URL-t? Google esetén van microdata/structured data, ami hasonlóra van, de FB esetén ezekre a kulcsszavakra nem találtam semmit.
  • j0nNyKa
    #21903
    jaj persze, ok nem szóltam :)
    javítva
  • MerlinW
    #21902
    Csak bemásoltam egy oldalról gyorsan, nem volt időm foglalkozni vele. A lényeg leszűrhető belőle:)
  • Malakai
    #21901
    explode az ott, amit te írsz az nem stimmel.
    De ha már nem akar array-t írni az ember, akkor str_split és vesszők nélkül. :)

    Picit komolyabban akkor már egyéb ékezetesek, nem csak a magyart belevenni és kiszűrni egyéb speckó karaktereket is, esetleg trimmelni első körben...
  • passatgt
    #21900
    explode második paramétere string, nem array
  • j0nNyKa
    #21899
    ööö:
    - az első sor miért nem került be a tömbbe akkor már
    - miért nincsenek az elemek idézőjelekben?
    - miért cseréled le a vesszőt vesszőre?
    - miért 2 nyelvű a kód?
    - miaza return =
    + (tagolás..)

    helyesen:
    function removeAccents($text) {
    $search = array("á", "é", "í", "ö", "ő", "ó", "ü", "ű", "ú", "Á", "É", "Í", "Ö", "Ő", "Ó", "Ü", "Ű", "Ú", " ");
    $replace = array("a", "e", "i", "o", "o", "o", "u", "u", "u", "A", "E", "I", "O", "O", "O", "U", "U", "U", "_");

    return str_replace($search, $replace, $text);
    }
    egyébként én nem is értem 100%-osan a problémát, ez tuti megoldás rá? az itt most az elképzelés, hogy van egy ékezetes mappa / fájlnév, abból gyártsunk ékezet nélkülit, és úgy ékezet nélkül készüljön el, illetve legyen belinkelve / megjelenítve? mert ha ez van, az úgy ok
    Utoljára szerkesztette: j0nNyKa, 2015.03.13. 18:58:05
  • MerlinW
    #21898

    function removeAccents($szoveg) {
    $szoveg=str_replace(' ', '_', $szoveg);
    $mit = explode(",","á,é,í,ö,ő,ó,ü,ű,ú,Á,É,Í,Ö,Ő,Ó,Ü,Ű,Ú");
    $mire = explode(",","a,e,i,o,o,o,u,u,u,A,E,I,O,O,O,U,U,U");
    return = str_replace($mit, $mire, $szoveg);
    }
  • Jim Morrison
    #21897
    igen, nem is akartam ékezeteket használni, a megadott mappa nevet létrehozás előtt simán benyomom urldecode -ba (így lesz ásó-ból
    %C3%A1s%C3%B3), de a kép url ként nem akar betölteni (lehet htaccess hiba? pedig jpg és társait exclude oltam, ha nem ilyen csicsás a mappanév megjeleníti a képet.

    Cica: és akkor hogy tudom meg mi a rendes címe a mappának? azt akartam elkerülni, hogy még egy txt fájlt tegyek a mappába ami tartalmazza a rendes nevet...
  • SzirmosSzisza
    #21896
    Ékezetes karakterekkel én nem nagyon ütköztem problémákba, inkább a ?&; és társai miatt volt szívás. Amúgy a legegyszerűbb az, ha lekapod az ékezeteket.
  • MerlinW
    #21895
    Első körben, a 90-es évek óta az IT alaptörvényei között van, hogy nem használunk ékezetet, speciális karaktereket fájlrendszeren. Még Windows-on is sokszor problémát okoz, Linuxon még többet. A legjobb megoldás, ha nem használsz speckókat, ha meg nem te hozod létre a könyvtárakat/fájlokat, átnevezed őket (glob, array, foreach, rename).
    Másik megoldás, ha egyirányú kódolást használsz, azaz nem nyúlsz a könyvtár/fájlnevekhez, hanem dekódolod és úgy használod őket a kódban (gyak. mint titkosításnál).
    Utoljára szerkesztette: MerlinW, 2015.03.12. 18:15:42
  • Jim Morrison
    #21894
    Igen, ott c# a kezdő.

    kérdés: mappákban vannak képek és a mappák, hogy ne legyen gond az ékezetes mappákkal urlencoddal készítem el a mappát majd urldecoddal kiíratom az oldalon mint cím. Viszont a képek elérési útvonala hiába van jól megadva ( .../%C3%A1s%C3%B3/kep.jpg ) nem jeleníti meg a böngésző. Feltételezem ez annak az oka, hogy ő urldecodeolja magának az urlt, viszont úgy meg már nem lesz jó az útvonal, mert nem ásó a mappa neve.
    Ötlet, hogy ezt hogy küszöböljem ki?
  • j0nNyKa
    #21893
    na igen, ezért mondom hogy faszrázás :D

    a baj igazából azokból van (és most természetesen nem rád gondolok), akik első félév után közlik hogy tudnak c++-ban programozni
    Utoljára szerkesztette: j0nNyKa, 2015.03.10. 17:45:28
  • SzirmosSzisza
    #21892
    Szerintem keresve is nehéz találni olyan compilert ami C++-t megeszi a C-t meg nem :)

    Amúgy máshol is így van, OE-n talán C# a kezdő nyelv.
  • Bercy #21891
    Ja felreertes ne essek, attol, hogy c++ nyelvet tanultunk az OOP-t csak emlitoleg erintettuk. Plusz pontert lehetett OOP-ben beadni a feladatot...
    Hogy akkor miert epp C++ nyelvel dolgoztunk...jo kerdes, gondolom annak a complilere volt feltelepitve a gepekre :)
  • j0nNyKa
    #21890
    +1, így a helyes, faszrázás c++-szal kezdeni, hova értene meg egy első féléves pl. egy operator overloadingot, vagy akár az objektum orientáltságot, amikor még funkcionálisan sem tud programozni
    furcsa néhol az oktatás, nem halad a korral, vagy csak átgondolatlan
  • SzirmosSzisza
    #21889
    C++-ban mondjuk finom is lehet megtanulni kódolni. Nálunk először C volt, ott programozás alapokat megtanították, aztán a másodikban meg az oo szemlélet + C++.

    Amúgy, ha úgyis csak papír miatt csinálod, akkor imho utána gyors felejtsd el a PHP-t és tanulj meg valami más nyelvet amivel lehet weben szórakozni (ruby, .net, python, nodejs, de igazából kb minden nyelvvel lehet amiben van socket kezelés)
  • Bercy #21888
    Latszik koran irtam az elozo hozzaszolasomat...
    Csak a legfontosabb szo maradt ki az elso mondatbol. Szoval ime helyesen:
    Ez NEM a linux disztribucio vagy epp az op rendszer hibaja.

    Sajnos az oktatas mar csak ilyen. Emlekszem amikor C++ tanultam a foiskolan es meg se probaltak minket esszeruen megtanitani kodolni, sokkal inkabb az egesz egy gepies dolog volt. Latszott a tanarokon, hogy unjak, sot nem is ertik azt amit oktatnak. Olyan dolgokat eroltettek rank, hogy mikepp formazt es kommenteld a kodot. Onmagaban a formazas es kommenteles is fontos, de sokkal fontosabb a kovetkezettesseg mintsem, hogy egy adott stilust (ami mondanom se kell elavult volt mar akkor is) eroltessenek rad.
  • j0nNyKa
    #21887
    jol.
  • Blum
    #21886
    Kiiratkozni -mostmár- nem akarok. Kell a bizonyítvány, már csak 4 hónap van hátra az egészből + igény szerint az emelt szintű OKJ felkészítés még néhány hónap de majd meglátom, hogy mennyire kell az nekem.

    Lényegében a kérdésem az volt, hogy jól sejtem-e azt, hogy valami nem stimmel az oktatási módszerrel (tehát ezzel a mysql használattal) és ezek szerint igen.
    Persze, megoldom, hogy az iskolában a régi módszerrel csinálom amit kell mert úgyis azzal párhuzamosan hegesztem a saját projektemet és akkor azt már az újabb technikával oldom meg. Csak attól félek, hogyha azt beadom akkor mondjuk náluk nem fog működni és ráfogják, hogy szar. Bár akkor meg bemutatom, hogy nálam márpedig megy, tessék haladni a korral :)

    Köszönöm a válaszokat, kíváncsi vagyok, hogy mit szól ehhez az oktató.
  • j0nNyKa
    #21885
    perfekt megoldas, kiiratkozni az iskolabol
    btw az nem pdo_mysql?

    blum: bar konkretan nem ereztem kerdest a hozzaszolasodban, foleg olyat nem, ami nem egyertelmu, de.. tudsz barmit csinalni azon kivul, hogy szepen nekiallsz szar-regi modszerrel "dolgozni", amig ott tanulsz? a lenyeg hogy ne egjen beled meg csak tavolrol sem, hogy az ugy jo
  • Bercy #21884
    Ez a linux disztribucio vagy epp az op rendszer hibaja. A php frisebb verzioiban a mysql fuggvenyeket mar nem ajanlott hasznalni (deprecated) helyette ott a mysqli vagy a mysql_pdo.
    Eselyes, hogy az iskola ahol tanulsz 10 evvel a mai technologia elott jar es nagy ivben tesznek ra, hogy ez a szakma naponta valtozik.
    En azt javaslom iratkozz ki a picsaba :)
  • SzirmosSzisza
    #21883
    Szerintem, ha mindenből felrakod ugyanazt a verziót, akkor nem lesz baj. Tippre ott bent örültek, hogy 3 éve sikerült belőni a PHP-t/MYSQL-t és azóta hozzá se nyúltak (ami amúgy divat ilyen körökben :D).

    Amúgy imho csináld meg úgy ahogy ott tanítják, aztán majd utánanézel hogyan szép.
  • Blum
    #21882
    Üdv!

    Nekiálltunk megcsinálni oktatáson a webshopot, már keményen pörög a php és a mysql. Nem a benti gépeken dolgozok, amiken Windows van hanem a saját laptopomon, amin Linux fut (jelenleg ArchLinux). Ma belefutottam egy olyanba, hogy a másoknál hibátlanul működő kód nálam nem ment. Nem volt egyszerű rájönni, hogy miért de végülis meglett.

    A probléma az volt, hogy az Arch PHP csomagja mysqli-t használ, a sima mysql parancsokat nem fogadta el. Ha engedélyeztem php iniben a "deprecated" mysql.so modult akkor persze kiírta, hogy oké, működik de nem kéne használni mert nemsokára megszűnik létezni, használjak mysqli-t. Ahogy elnéztem jelentősen eltérnek egymástól (más paraméterezés,stb) tehát órán nyílván nem volt időm arra, hogy újraírjam az egészet és nem is fogom, használtam inkább a benti gépeket de amikor felvetettem a tanárnak, hogy amit csinálunk az hosszú távon LEHET, hogy nem lesz frankó akkor csak megvonta a vállát mondván, hogy ő erről nem tud. Nem mondom, hogy 100%-ig igazam van mert nem világos ez nekem, hogy akkor most az Arch a hülye vagy én vagy a tanár. Minden esetre most visszarakom a Fedorát, hogy órán is haladjak a többiekkel és ne legyen szopacs. Merthogy Arch-on akármit turkálok a php.ini-ben, egyszerűen nincs az az Isten, hogy megegye azt a kódot amit bent írunk.

    Ti mit tudtok erről? Merthogy Szerdáig bekéne jelentenem, hogy végülis mit adok be a vizsgára amiről aztán kéne írni dokumentációt is, azt nyomtatni, beboríttatni, stb...szóval HA LEHET akkor már a lehető legjobb/legújabb technikával csinálnám meg.
  • SzirmosSzisza
    #21881
    Ez a PHP komolyan nem logol sehova vagy nincs hozzáférésed a szerveren? (/var/log/apache2/error.log vagy hasonló)

    #21878: Drupál szerintem nem vészes.
  • MerlinW
    #21880
    Sima plain adatok, semmi bináris. Egy 34 és egy 32 mezővel rendelkező táblát join-olok, a végeredmény 4-10 ezer rekord. Csupa int és varchar mező (számviteli szoftver) Ha lekérdeznék egy 6-8 ezreset, az SQL lefut, de mikor hozzányúlnék az eredmény tömbhöz megáll az élet, dobja az 500-at. Ha bedobok a WHERE-be egy dátum szűrőt (pl. 2015-01-01 BETWEEN 2015-02-01), akkor minden okés.

    A memory limit 512M, max post 128M (local-on is ennyi nálam, és ott elég). Tehát valahol a tömb méretével lesz gond (5.3.3-as PHP van a szerveren), mégis a fél gig memóriába bele kellene hogy férjen. Akkor sem volt jó, ha ini_set-el -1-et adtam a mem limitnek.

    Mindegy, valahogy SQL LIMIT-el összelegózom az eredményt, memóriaöblítéssel.
    Utoljára szerkesztette: MerlinW, 2015.02.27. 16:45:06
  • j0nNyKa
    #21879
    drupal
  • passatgt
    #21878
    Egy egyszerűen használható és telepíthető PHP-s belépés/regisztráció/elfelejtett jelszó/belépés után adatszerkesztés script kellene nekem. Egy fontos dolog van, hogy tudnia kell többnyelvűséget. Tudtok nekem valami kulcsrakész megoldást ajánlani, ami biztonságos, gyorsan telepíthető és csak designolni kell?

    Köszi
  • strabo1515
    #21877
    köszönöm, de sajna a szövegnek nem adhatok hátteret, mert mintás háttéren van
  • Bercy #21876
    Milyen jellegu adatokat kerdezel le? Nekem ez nagyon ugy tunik, hogy megtellik a PHP rendelkezesre allo memoriaja.
    Szoval ha blog bejegyzeseket kersz le, vagy olyan jellegu adatokat amik sok helyet foglalnak (pl binarisan file/kep eltarolva) akkor a 2-3 ezer rekord is fel tudja emeszteni az 512MB-t.
  • j0nNyKa
    #21875
    var_dump az mondjuk amúgyis megfog mindent, az nyomi dolog
    nézz meg esetleg egy krumo-t kiíratáshoz, egyébként meg ahogy macsek mondja, /var/log/{nginx|apache2}
  • MerlinW
    #21874
    Oké, nem én vagyok a hülye, szerver oldalon lesz a gond.
  • MerlinW
    #21873
    Hmm. Ha nem csinálok semmit az eredménnyel akkor minden okés. Vagyis az SQL lefut.

    $r = $this->db->getAll($sql); = minden tuti.
    var_dump($r); = 500 internal.

    Erre varrjon valaki gombot:)
  • MerlinW
    #21872
    0.3mp alatt kérdezi le az SQL-t, az idővel nincs probléma. Gyakorlatilag azonnal eldobja a témát. Gomb megnyom, ajax hívja a függvényt, aminek első dolga hogy hívja a db függvényt, ahol megáll. Ha kikommentelem az sql execute-ot, akkor minden sima. Ha olyan feltételt adok az sql-nek, ami kevesebb rekordot ad vissza, akkor is minden oké. Rejtélyes.
    Utoljára szerkesztette: MerlinW, 2015.02.26. 20:39:32
  • Malakai
    #21871
    2-3000 nem hangzik vészesen, de max_statement_time?
  • SzirmosSzisza
    #21870
    Ha HTTP 500 akkor szerver oldalon lesz valami, PHP nem tudom merre logol de /var/log-ban körülnéznék.
  • MerlinW
    #21869
    Újabb keresztkérdés, találkozott-e már valaki ilyennel?:

    Adott egy SQL lekérdezés, ajax futtatja a háttérben. ~500 rekord esetén minden szuper, viszont ha 2-3000 rekordos az eredmény, eldobja a szerver 500 internal error-al. Localhoston minden tuti, szerver php-ban post limit 128M, memory limit 512M (beállíttattam olyanra, mint a dev környezet).

    POST http://***/listak/karton/ 500 (Internal Server Error)
    jquery.min.js:4
    m.ajaxTransport.sendjquery.min.js:4
    m.extend.ajaxVM445:1
    do_Ajax(index):95
    onsubmit
  • MerlinW
    #21868
    Végül megoldottam mPDF-el. A probléma az volt ugye, hogy naaaaagy tömbből épül fel a PDF, a PHP meg mocsok sok memóriát használ a tömbökhöz. Ehhez hozzájárul a változó is amiben a nyomtatni való nagy tábla van (~800k). A megoldás az volt, hogy a WriteHTMLparancs előtt nyomtam egy file_put_contents-et, azaz kiírtam html-be a változómat, majd azt küldtem be file_get_contents-el a WriteHTML-nek. Máris legenerálja a 160 oldalt ~100mp alatt. Nem gyors, de gyorsabb - és legalább lefut - jelen projekthez most elég. Örülünk.
    Utoljára szerkesztette: MerlinW, 2015.02.25. 21:52:47
  • SzirmosSzisza
    #21867
    Nyuszit csak egy helyen kell telepíteni, aztán csatlakoznak hozzá a 'fogyasztók', bár igazából lehet használni helyette valami egyszerűbb brókert (reddis-re épül pl elég sok), főleg ha nem több gép között kell kommunikálni, hanem egy gépből áll a rendszer és azon kell háttérben számolgatni/generálni.