Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
trisztan94 #14835 üzenetére
Hát igen, nem árt, ha néha az ember gondolkodik.
Amúgy hidd el, ha néha elakadsz, akkor jót tesz egy 5 percnyi szünet, még akkor is, ha kapkodás van (tudom, milyen az), meg az, hogy leírod magadnak papírra az akár alapvető feladatot, és evidens dolgok is eszedbe fognak jutni, és utána a homlokodra b@szol, hogy ez hogy nem jutott eszedbe.
-
Sk8erPeter
nagyúr
válasz
trisztan94 #14833 üzenetére
Ja értem, na jó, ez mentségedre szolgál.
(Csak a kérdés első felére nincs mentség.
)
-
Sk8erPeter
nagyúr
válasz
trisztan94 #14830 üzenetére
Hogy ne lehetne már ilyet?
Javaslom, felejtsd el ezt a kutyult lekérési stílust, hogy asszociatív tömb és numerikus tömb keverve van (mysqli_result::fetch_all(MYSQLI_BOTH) vagy PDOStatement::fetch(PDO::FETCH_BOTH), PDO-nál utóbbi a default, mysqli-nél a MYSQLI_NUM).
Döntsd el, melyikre van szükséged, és ragaszkodj ahhoz. Valószínűleg a MYSQLI_ASSOC vagy PDO::FETCH_ASSOC fog kelleni legtöbbször. Akkor használd azt, csak indokolt esetben kutyuld a tömböt. -
Sk8erPeter
nagyúr
válasz
PumpkinSeed #14826 üzenetére
Nem, nem jó. Ha ilyesmikkel játszadoztál eddig, nem csodálom, hogy szívásnak érezted az egészet. Részletesen felsoroltam a teendőket ahhoz, hogy az UTF-8-karakterkódolással (és így a mindenféle nyelvben megtalálható specifikus karakterekkel, ékezetekkel, és egyéb, speciális karakterekkel) ne legyen problémád.
"Na én ezt nem akarom minden egyes gyakoroló feladatnál megcsinálni.
"
Ezt remélem, csak viccnek szántad.Ne már. Legegyszerűbb módon legyen egy vagy több fájlod, amiben mindenféle ilyen lépést megcsinálsz, és ezeket egyszerűen include-old mindig az index.php-dban, és kész.
Ezen fájlok valamelyikében kiküldöd az UTF-8-as fejlécet (a header() fv. mutatott használatával), máshol megnyitod a kapcsolatot az adatbázissal (ezt is úgy, hogy már a kapcsolat elején beállítod az UTF-8-karakterkódolást, ahogy írtam; hogy singleton-mintán keresztül kommunikálsz az adatbázissal, ami esetleg nehezíti a unit testet, vagy más, az tök mindegy most ebben a fázisban még, mivel valszeg azt sem tudod, mi az a singleton vagy a unit test). Az előző step-by-step útmutató szerintem eléggé világos.A fájljaidnak alapértelmezetten amúgy is UTF-8 without BOM-kódolásúnak kellene lenniük, egyszerűen az általad használt fejlesztőeszközben állítsd be (bár a fejlesztőkörnyezeteknél ez az alap, csak az egyszerűbb, Notepad++-szerű szövegszerkesztőknél szokott default lenni az ANSI, mármint Windows-on), hogy mindig UTF-8 without BOM-kódolású fájlokat hozzon létre.
Az adatbázisban is érdemes (szerintem) alapértelmezettre állítani valamelyik utf8_ kezdetű collationt.
Nem hiszem, hogy ezek olyan bonyolult lépések lennének. Hidd el, hogy az összhaszon nagyobb lesz vele, mintha lusta vagy egyszer ezt az utat végigjárni. Például akkor megtanulsz adatbázist kezelni, és nem bohóckodsz fájlokba írogatással és azokból olvasással olyan műveletek esetén, amiket illene adatbázissal elvégezni.
Adatbázis-kezelési ismeretek nélkül manapság egy fejlesztő akár éhen is halhat.
-
Sk8erPeter
nagyúr
válasz
PumpkinSeed #14824 üzenetére
"Lusta vagyok adatbázissal szenvedni (létrehozni, szenvedni az undorító karakterkódolással (amit nagyon gyűlölök))"
Ha a karakterkódolás szenvedés, akkor valamit eddig rosszul csináltál. Leírhatnád, hogy csinálod, és biztos kiszúrjuk a hibát.- PDO-val adatbázishoz kapcsolódás, meg a többi alapvető dolog itt van, Tele von Zsinór kolléga cikkében: http://maerlyn.eu/2011/12/03/pdo.html.
Ott van egyből az elején, már a kapcsolódás után:
SET NAMES UTF8
Magyarul itt a kapcsolat kódolását egyből UTF-8-ra állítod.
- A fájljaid karakterkódolása is legyen UTF-8 without BOM, ezt Notepad++-ban nagyon könnyen tudod ellenőrizni.
- A meta tagek is lehetőleg így legyenek beállítva a <head>-részben.
- A HTTP headert pedig módosítsd PHP-vel így még mindenféle kimenet előtt:
header('Content-Type: text/html; charset=utf-8');
- Ezenkívül az adattábláid is legyenek UTF-8-as karakterkódolásúak (collation), valamelyik utf8_ kezdetű ezek közül, amelyik kell.Igazából ennyinek elégnek kellene lennie, ha valamit nem felejtettem ki a listából.
-
Sk8erPeter
nagyúr
válasz
PumpkinSeed #14821 üzenetére
Fogalmam sincs, meddig tárolják. Eddig ritkán láttam ott 404-et, az valszeg amiatt volt, mert a szerző eltávolította. De lehet, hogy írják a honlapon a max. tárolási időt, keresd meg.
Amúgy már akartam kérdezni, miért játszadozol mindig fájlba írogatásokkal, abból olvasással? Ez a látogatószámlálósdi csak játék, még mindig a fájlba írogatást, olvasást gyakorolgatod? Vagy mi a célod vele? -
Sk8erPeter
nagyúr
válasz
PumpkinSeed #14817 üzenetére
Szívesen, de azért úgy rakd fel ideone.com-ra, hogy az működjön is.
Például kezdd a szokásos <?php nyitótaggal, meg nyilván helyi fájlokat ne próbálj megnyitogatni vagy írogatni (fopen, fwrite és társai felejtős), mert nem fog menni.
(Ahogy jsFiddle-nél is hiába hivatkozol képforrásként helyi fájlra, nem fog menni (hacsak nem a jsFiddle szerverén valóban ott lévő fájlt include-olod).) Ott például helyettesítheted valami példakimenettel az adott függvényt.
-
Sk8erPeter
nagyúr
válasz
PumpkinSeed #14814 üzenetére
"nincs valami jsfiddle oldalhoz hasonló ahova php-t lehet feltenni?"
Olyasmi:
http://ideone.com/ -
Sk8erPeter
nagyúr
válasz
rootkiller #14811 üzenetére
Könyörgöm, használd már azt a nyomorult Google-t, folyamatosan kérdezel ilyen hülyeségeket, amiknek a megoldását nagyjából 10 másodperc alatt meg lehetne találni, de még ehhez is lusta vagy...
Most komolyan, neked gyorsabb fórumra bepötyögni a hsz.-t 30 másodperc alatt, aztán várakozni, mint rátalálni a megoldásra 10 másodperc alatt?
A hibaüzenetet bepötyögve egyből rátalálhatsz a megoldásra, úgyhogy most házi feladatként rádbízom, hogy megtaláld. Drukkolok hozzá. -
Sk8erPeter
nagyúr
válasz
rootkiller #14798 üzenetére
Mentsd el session-változó(k)ba vagy adatbázisba az adott felhasználóhoz tartozó, megfelelő paramétereket, és az admin.php megnyitásakor ellenőrizd le, hogy az adott felhasználói azonosítóhoz lett-e már korábban elmentve ilyen paraméter-együttes - ha igen, töltsd be azt, ha nem, akkor pedig az alapértelmezett oldalt (tehát legyenek alapértelmezett paraméterek).
A session-változóba mentésnek természetesen hátránya, hogy adott böngészőhöz kötődik, míg az adatbázisba mentésnél akárhol jelentkezik is be, az admin.php megnyitásakor mindig az utoljára mentett paramétereket töltheted be számára. -
Sk8erPeter
nagyúr
válasz
PumpkinSeed #14785 üzenetére
Mármint az angol nyelvet nem szereted? Hát az kellemetlen, mert infósként nagyjából lehetetlen az angol nyelv értése és használata nélkül létezni.
-
Sk8erPeter
nagyúr
válasz
PumpkinSeed #14781 üzenetére
És ebben a mondatban hol szerepel az, hogy a visszatérési értékét kellene felhasználni?
Angol amúgy megy? Mert nem meglepő módon a php.net az elsődleges dokumentációs forrás.
-
Sk8erPeter
nagyúr
válasz
PumpkinSeed #14776 üzenetére
Biztos azért, mert 125 van a fájlban.
(#14775) Tamoo :
öröm -
Sk8erPeter
nagyúr
Akkor lehet úgy, hogy például felsorolod azokat a képformátumokat, amik nálad előfordulhatnak, most csak azokat írtam bele, amik így hirtelen eszembe jutottak (jpg, png, gif, bmp, tif, tiff, ico, még egy csomó kiterjesztés van):
'/(href=\".*?\.(?:jpg|png|gif|bmp|tiff?|ico)\")/i'
Ez lesz az első paramétere a preg_replace()-nek.
Úgy tudod bővíteni több kiterjesztéssel is, hogy a | karakterrel választod el, és utánaírod az adott kiterjesztést, a fenti mintának megfelelően (a | karakter a "vagy"-ot jelenti). -
Sk8erPeter
nagyúr
Csak a jpg-kiterjesztésre keres (png- és többi képformátum szándékosan kizárva, hogy megfeleljen annak, amit írtál):
$count = null;
$returnValue = preg_replace('/(href=".*?\\.jpg")/i', '$1 data-lightbox="example-2"', $test_string, -1, $count);A $count változó csak azt tartja nyilván, hogy mennyi találat van, egyébként nem lényeges.
GYORSTESZT:
http://www.functions-online.com/preg_replace.html
$test_string = '<a href="http://valami.hu/kep.jpg">valami jpg-kép</a>
<div>asdlajkdsasjld</div>
<a href="asd/kep.jpg">valami jpg-kép</a>
<a href="/akarmi/asd/kep.jpg">valami jpg-kép</a>
<a href="/akarmi/asd/nem.jpg.png">nem jpg-kép</a>
';
$count = null;
$returnValue = preg_replace('/(href=".*?\\.jpg")/i', '$1 data-lightbox="example-2"', $test_string, -1, $count);EREDMÉNY:
<a href="http://valami.hu/kep.jpg" data-lightbox="example-2">valami jpg-kép</a>
<div>asdlajkdsasjld</div>
<a href="asd/kep.jpg" data-lightbox="example-2">valami jpg-kép</a>
<a href="/akarmi/asd/kep.jpg" data-lightbox="example-2">valami jpg-kép</a>
<a href="/akarmi/asd/nem.jpg.png">nem jpg-kép</a> -
Sk8erPeter
nagyúr
Ezt írtad, hogy abból, hogy
href="http://valami.hu/kep.jpg"
legyen az, hogy
href="http://valami.hu/kep.jpg" data-lightbox="example-2"
és kijelölted a lila részt, vagyis azt, hogy "http://valami.hu/kep".
Erre regexpet írni nem nagy szám, de az "example-2" szöveget honnan kéne szedni?Az a cél, hogy egyszerűen szó szerint example-2-t írjunk bele, ez nem csak egy minta, hogy arra az attribútumra kell majd a replace? Az example-2 szöveghez minek a "http://valami.hu/kep"?
Gondolom valamit elírtál, de ezek fényében nehéz segíteni.
Nem az a cél, hogy a href-ben lévő lilán kijelölt részt cseréld a data-lightbox attribútumhoz? Ha igen, akkor miért kell a protokoll (http://), miért kell az elérési út, miért nem elég a fájlnév maga (jelen esetben a kep.jpg-ből a "kep")?
Mit replace-eljünk a lila részből?
Kicsit túl sok kérdést hagytál nyitva... -
Sk8erPeter
nagyúr
válasz
fordfairlane #14765 üzenetére
Kösz, hogy leírtad ugyanazt, amit én, csak rövidebben
-
Sk8erPeter
nagyúr
válasz
trisztan94 #14763 üzenetére
"Nem az útvonal a legnagyobb probléma, vágom ám, hogy hogyan működnek az útvonalak"
Ömm, pont azért linkeltem, mert ezek szerint mégsem vágod. Ott le van írva a módja...
Egyébként ha azt írod, hogy vágod, akkor miért kérdeztél rá? (Idézlek: "Még egy kérdés: a .htaccess a public_html mappa gyökerében van, a .htpasswd fájlt pedig egy mappával feljebb, a gyökér mappában van ("/"). Jól írtam az útvonalat?")"akárhova rakom a auth kódot a .htaccess-ben, mindig internal server error-t kapok"
Igen, ha rossz az útvonal-megadás a fájlhoz, akkor teljesen "normális", hogy 500 Internal Server Error a büntetésed.
De egyszerűbb lett volna ismét Guglizni.
http://httpd.apache.org/docs/2.0/mod/mod_auth.html#authuserfile
"If it is not absolute (i.e., if it doesn't begin with a slash), it is treated as relative to the ServerRoot."
Lényeg: abszolút elérési útvonal kell a document rootodhoz képest eggyel visszábbra, mert azt írod, oda pakoltad a .htpasswd-fájlt (egyébként jól tetted, hogy nem a publikusan elérhető könyvtárba pakoltad).Valami ilyesmi lesz az egész:
AuthName "Azonositsd magadat, IDEGEN!!!!444negynegynegy"
AuthType Basic
AuthUserFile /home/akarmi/trisztanweboldala.hu/.htpasswd
AuthGroupFile /dev/null
require valid-userEbből persze az
AuthUserFile /home/akarmi/trisztanweboldala.hu/.htpasswd
a lényeg, ehhez képest a public_html útvonala ez lenne:
/home/akarmi/trisztanweboldala.hu/public_html
Remélem, így már érthető.Tehát amit csinálnod kell: pont a document rootban írasd ki a document root útvonalát:
echo $_SERVER['DOCUMENT_ROOT'];
ebből megtudod ezt az ilyesmi útvonalat:
/home/akarmi/trisztanweboldala.hu/public_html
és ehhez képest eggyel feljebb lévő útvonalat kell megadnod, a .htpasswd-del kiegészítve.Szerk.:
legalábbis ha jól értettem, nem az a probléma, hogy megkapod a bejelentkezéshez szükséges popupszerűséget a böngészőben, beírod a helyes adatokat, és utána kapsz szerverhibát, hanem már eleve az adott könyvtárhoz navigálásnál kapsz 500-as hibát, tehát még a bejelentkezésre való lehetőséget sem látod. Ugye? -
Sk8erPeter
nagyúr
válasz
trisztan94 #14760 üzenetére
Ezt olvasd el, generáltasd le, és akkor láthatod, milyen útvonalat kell megadnod:
http://tools.dynamicdrive.com/password/ -
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #14758 üzenetére
Sejtettem, de itt nem szögletes zárójelek vannak, és nincsenek idézőjelek.
Csak azért jegyeztem meg Trisztánnak, mert kiderült, hogy PostgreSQL tömbről van szó, annak a szintaktikája meg végül is teljesen indokolt, a JavaScriptes tömbökre meg ez speciel pont kevésbé emlékeztet. A json_encode-dal meg végképp nem tudom, mit akar kezdeni ebben az esetben.
-
Sk8erPeter
nagyúr
válasz
trisztan94 #14753 üzenetére
"Ez egy PostgreSQL tömb, annak ez a formátuma. Tényleg eléggé hasonlít a JSON-ra"
Hát szerintem nem a JSON-re hasonlít, hanem pont egy tömbinicializációra, ugyanúgy, mint például C-ben/C++-ban/C#-ban/Javában/stb... általában JSON-ben az objektum kulcs-érték párok gyűjteménye, ez pedig nem az. -
Sk8erPeter
nagyúr
válasz
Dave-11 #14724 üzenetére
php.ini fájlban legyen engedélyezve a két megfelelő extension:
extension=php_pgsql.dll
extension=php_pdo_pgsql.dllez a két bejegyzés legyen benne!
A MySQL és PostgreSQL szerverek pedig futhatnak egymás mellett nyugodtan, mert alapértelmezetten más porton kommunikálnak (pont a konfliktus elkerülése érdekében). -
Sk8erPeter
nagyúr
válasz
Sk8erPeter #14701 üzenetére
Igazából itt nem kell ez a dupla escape a generált kódban, így is elég lenne, és így még átlátható is; ja, és hoppá, előbb lemaradt a dollárjel a minta végéről, ami jelzi a string végét (persze ezt neked kell eldöntened, itt kell-e, de ha pontosan ennyi a string, amiből ki akarod szedni, a bezáró zárójellel ér véget, akkor kell), szóval:
$pattern = '@^.+ \((\d+\.?\d+)Ft\)$@'; -
Sk8erPeter
nagyúr
válasz
vakondka #14700 üzenetére
Hali!
Ez a reguláris kifejezés illeszkedik rá:
^.+ \((\d+\.?\d+)Ft\)$Itt teszteltem: http://regexpal.com
Őszintén szólva összesen kb. 30 másodpercet töltöttem el a megírásával, szóval lehet benne hiba, de a mintára illeszkedik. A 39.900 és 39900-ra is műxik. Tizedesvesszőre nem, azt direkt nem raktam bele, gondolom nem is kell most.
Remélem, segítSzerk.:
online gyorsteszt:
http://preg_match.onlinephpfunctions.com
innen kimásolva a legenerált kódot:$pattern = '@^.+ \\((\\d+\\.?\\d+)Ft\\)@';
$subject = 'iDream 1260 fejmasszírozó (1239.9200Ft)';
$result = preg_match( $pattern, $subject , $matches );
echo $result;
print_r($matches);szóval itt a $matches[1]-ben lesz az eredményed. Persze ez még tartalmazza a pontot is, azt nyilván nem szedi ki, de azt már egy str_replace-szel nem nagy cucc.
modifiers, ha kell:
http://php.net/manual/en/reference.pcre.pattern.modifiers.php -
Sk8erPeter
nagyúr
válasz
Speeedfire #14683 üzenetére
Nyilván jobbak TELJESÍTMÉNYBEN (könyörgöm, nem performanciában, ki a tököm találta ki ezt a szót?
), de a hozzászólásodból úgy tűnt, mintha azt állítanád, hogy ezzel elkerülöd, hogy végig kelljen menni a tömbön, de hidd el, nem fogod attól még megkerülni magát a tömbbejárást attól még, mert beépített megoldást használsz. DE gyorsabb a beépített megoldás, az annyira nem meglepő.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #14681 üzenetére
"Nem akartam for/while/foreach ciklust használni. Pont ezt akartam elkerülni, hogy több 10ezer elemen végig kelljen menni x alkalommal."
Most viccelsz, ugye?Szerinted a beépített PHP-s függvények mit csinálnak, amikor bejárják a tömböt, hogy adott feltételnek megfelelő elemet keressenek, nem végigmennek rajta?
-
Sk8erPeter
nagyúr
válasz
Speeedfire #14675 üzenetére
Miért nem rakod mindezt egy függvénybe, hogy általánosabb megoldás legyen, vagy mondjuk írsz egy nyomorult egymásba ágyazott, nagyon gyorsan áttekinthető for vagy foreach ciklust? Vagy utóbbi má' égő?
Pedig azt olyan 10 másodperc megírni.
-
Sk8erPeter
nagyúr
válasz
Fecogame #14665 üzenetére
Az általad belinkelt oldalon ebből sejthetően a $_REQUEST tömböt használják az explicit $_POST vagy $_GET tömbök helyett, ami tartalmazza a $_GET, $_POST és $_COOKIE tömbök tartalmait is.
Nyiss egy fejlesztői eszköztárat (Ctrl+Shift+I vagy F12), és nézd meg a tagkereső űrlap kódját, ott láthatod, hogy POST-metódus van beállítva:Jelen esetben (mivel valszeg a $_REQUEST-tömböt használják az űrlap-feldolgozáskor) működik az, hogy ezt fogod, és átírod szépen GET-metódusra (method="get"), így amit beírsz majd a szövegmezőbe, az majd meg fog jelenni az URL-ben is, és még meg is kapod a kívánt tartalmat. Utóbbi más weboldalak esetében általában nem igaz, mert általában nem a $_REQUEST tömböt használják.
Itt ennél az űrlapnál egyébként semmi nem indokolja a POST-metódus használatát, mivel ez egy kereső, és itt pont az lenne a lényeg, hogy az URL eleve elküldhető, kimásolható, könyvjelzőzhető legyen. -
Sk8erPeter
nagyúr
válasz
SirRasor #14655 üzenetére
Igazán leírhattad volna, mit csesztél el, mert már felkeltetted az érdeklődésemet azzal, hogy le akartad tiltani a kivételkezelést.
(#14657) Speeedfire :
Igazából mi a célod, mit szeretnél?(#14666) trisztan94 :
ezt bebélyegezve írtad, vagy józanul? Habár ha előbbi, akkor ennél szebbet is írhattál volna."Az általános kérések GET-tel mennek a szerver felé"
Milyenek azok az "általános kérések"?"A másik lehetőség a POST kérés, ami egy titkosított kérés. Ezt általában regisztrációs felületeken, login felületeken, vagy bármi olyanon szokták használni, ami titkosítást igényel. Cserébe nyilván sokkal lassabb, mint a GET. Ezt kinyerni szinte lehetetlen, ebben a topikban nem is foglalkozunk ezzel, nem akarjuk, hogy bárki kivegye más oldalak POST kéréseit. Mert az nagyon rossz lenne.
"
Hát ez óriási.
Igazából az egymás után következő mondataidból nem is nagyon lehet kiemelni blődséget, mert egyik üti a másikat.Titkosított? Olyan felületeken használnak POST-metódust, ahol titkosításra van szükség?
Lassabb? Kinyerni lehetetlen? Nagyon jó, még!
(Habár ne, mert valaki még elhiszi.)
Igazából nekem most szereztél pár vidám percet, de összességében ez elég szomorú, mert tudtommal igen aktívan fejlesztesz weboldalakat, több programozási nyelven is, de láthatólag fogalmad sincs az alapok alapjainak legelemibb részeivel sem. Bocs, de evvan.
Inkább kérdezz vagy olvass, ha valami még nem tiszta.
-
Sk8erPeter
nagyúr
válasz
#68216320 #14645 üzenetére
Ja, törölhető a console.log nyilván, ott csak az volt a cél, hogy megmutassam, hogyan nyerheted ki az értékét a kiválasztott elemnek egyszerűen. (event.target.value)
A checkboxos kérdésre: nem "csináltam" semmilyen elemet, egyszerűen csak lekértem a rendkívül fantáziadúsan "checkbox" id-vel rendelkező elemet (document.getElementById-vel), és belepakoltam a visszatérési értéket egy változóba. Aztán azzal lehet azt kezdeni, amit akarsz. Itt a kódban szerepe nincs, csak beleraktam, először gondoltam rá, hogy kezdek vele valamit szemléltetésként, aztán menetközben rájöttem, hogy nincs kedvem."Visszatérve az onChange eseménykezelőhöz this.form.submit()-al már ment volna az is nem? Persze nem lenne szép a kód azt elismerem
"
Igen, és igen. Hangsúlyosabb, hogy nem lenne szép a kód, de valóban működött volna. -
Sk8erPeter
nagyúr
válasz
#68216320 #14642 üzenetére
"onChange="javascript:submit()" amire gondoltál?"
Nem. Ez a "javascript:" rész eleve nem szükséges (honnan maradt ez meg a fejekben?). Az onchange eseménykezelő eleve JavaScript-kódot vár, úgyhogy felesleges explicite megmondani neki. Ez az onchange-be rakott submit azért sem jó, mert a submit() a formra vonatkozik, nem a selectre, az onchange eseménykezelőjét viszont akkor már a select elemhez kellene írni. Ezenkívül eleve szét kell választani a HTML-kódot a JavaScript-kódtól (és ugyanez vonatkozik a CSS-kódokra is egyébként), az ilyen attribútumokkal bedrótozott megoldások nem jók, hosszú távon karbantarthatatlanok. Igaz, vannak bizonyos beállítás-jellegű dolgok, amiket néha be kell drótozni, például a data-* attribútumok, de az más lapra tartozik.
Gyorsan bepötyörésztem neked egy példakódot, mire gondolok:
http://jsfiddle.net/25FXE/1/
Itt látható, hogy a JavaScript-kód független a HTML-kódtól.
Ha a myTestForm.submit(); sort kikommentezed, és megnyitod a konzolt (Ctrl+Shift+I, Console fül), akkor láthatod a kiválasztott értéket, ami az eseménykezelőn belül az event.target.value-val érhető el.(#14643) Kommy: szívesen.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #14632 üzenetére
És akkor most végül is pontosan hol volt elkúródva a karakterkódolás?
Amúgy a <br /> használata sztem az általad mutatott esetben nem indokolt, inkább margózással kellene megoldani a távolságtartást.Igazából a <br />-ekkel az a gond, hogy nehézkessé teszi a későbbi átszabását a dizájnnak, bedrótozza a távolságot, a margó előnye, hogy csak a CSS-fájlban kell turkálni.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #14630 üzenetére
Ja, ezek szerint félreértettelek, azt hittem, csak az ékezeteknél csesződik el, és lesz például <tdápa, utca 101< td teszt></tdápa,>, mint a példádban, de ettől még a <table>...</table> után egyből következik két <br />, majd utána egy <td> is, akkor sorry.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #14628 üzenetére
És a markup struktúráját, amit írtam, javítottad már?
Nem tudom, mennyire jött át, de a kód, amit a belinkelt hsz.-ben "idéztem", nagyon nem volt valid.
-
Sk8erPeter
nagyúr
válasz
raczger #14623 üzenetére
Amúgy én már azt sem értem, hogy az mssql_connect nálad hogy működött a XAMPP 1.7.7-tel, mert eszerint abban a csomagban már a PHP 5.3.8 van, amivel már nem kellene működnie az mssql_connect-nek ("These functions allow you to access MS SQL Server database. This extension is not available anymore on Windows with PHP 5.3 or later.")
-
Sk8erPeter
nagyúr
válasz
Speeedfire #14619 üzenetére
Igazából semmivel nem osztottál meg több infót.
Úgyhogy sajnos nem egyszerű így segíteni.
Amúgy ékezet nélkül nem tudod kipróbálni?De ezt azért nézd meg még egyszer, amit írtam:
<table>...</table>
<br>
<br>
<td>...</td>
Ez a kód HIBÁS, vágod...Nem ártana javítani.
(Ettől még mondjuk a HTML-kimenetnek nem kéne elcsesződnie.) -
Sk8erPeter
nagyúr
válasz
Speeedfire #14617 üzenetére
Ebben hol a PHP?
"A gondom az, hogy toad alatt tökéletes amit generál"
Úgy érted, ott nincs olyan, hogy
<table>...</table>
<br>
<br>
<td>...</td>
meg ehhez hasonló rossz kimenetek?
Igazából nem tudunk semmit a tárolt eljárásról, meg semmiről, így elég nehéz segíteni. De valami mintát észrevettél a szétesésben? Az ékezetek környékén van a gond, vagy köze nincs hozzá? Először próbálhatnád ékezetmentes szöveggel is, ha van bármi köze speciális karakterekhez, ékezetekhez. -
Sk8erPeter
nagyúr
válasz
PumpkinSeed #14614 üzenetére
Az előbb amúgy azt nem írtam, hogy az eddigi tömbös megoldás folytatható, DE felesleges az összes eddig érkezett karaktert eltárolni, gondolj bele, mi van, ha óriásfájllal van dolgod, akkor ott csücsül a memóriában az a sok immár feleslegessé vált adat. Szóval egyszerűen felülcsaphatod a tömböt az új adatokkal, amikor nem szükséges már tárolni az adott karaktereket.
De engem továbbra is érdekelne, miért ezt a fájlos megoldást választjátok
-
Sk8erPeter
nagyúr
válasz
PumpkinSeed #14612 üzenetére
"Egyszerre 2 karaktert vizsgálok, és ha két azonos karakter van egymás mellett akkor az számít egy gyémántnak, viszont ha a két karakter előtt van egy l (L) betű akkor az nem gyémánt, viszont ha I (i) van akkor pedig bankba kell helyezni és csak a felét éri. Ha a két karakter mögött szám áll akkor az a szám értékének megfelelő gyémántot jelenti."
Erre Athlon64+ múltkor jól sikerült hozzászólását tudnám idézni:
http://prohardver.hu/tema/php_kerdesek_2/hsz_14593-14593.html
"Úúú, valami nagy tákolás van készülőben!"
Viccet félretéve nem értem, mi indokolja egy online játék esetén ilyen borzalom választását?Már eleve a fájlbaírás kényszerét nem értem (adatbázis, felhasználók tábla, gyémántjaik és egyéb pontjaik kigyűjtésére szolgáló táblák?), de ha már fájl, akkor is lehetne ennél ezerszer értelmesebb megoldásokat alkalmazni.
Vagy épp az eddigi tákolmány megoldásból szeretnél kinyerni értelmes adatot, hogy átalakítsd valami értelmesre? Remélem, utóbbi.
Amúgy ezek sima feltételvizsgálgatások, az eddigi tömbös kódrészleted folytatásával is megoldható."Ilyen dolgokról még nem is halottam, de akkor ezek alapján érdemesebb pointerekkel végezni ezt a munkát ahelyett, hogy beindexelem az egészet."
Hogy mi van?Milyen pointerekről beszélsz? Én állapotgépről beszéltem neked, ami leegyszerűsítheti a tervezésedet (meghatározod az állapotokat, elvárt bemenetektől függővé teszed őket, tervezel, hogy ne legyen belőle tákolás). Nem került szóba semmilyen pointer, főleg, hogy PHP esetén a klasszikus értelemben vett (pl. C, C++) pointerekről nincs is értelme beszélni, mivel ilyen nincs, legfeljebb referenciáról.
Valami nagy-nagy félreértés van itt. -
Sk8erPeter
nagyúr
válasz
PumpkinSeed #14606 üzenetére
Igen, azért lépi túl a memóriakorlátot, mert rossz módban nyitod meg a fájlt, de ezt már írtam korábban:
"Aztán: 'ab' módban nyitod meg a fájlt, ebből az 'a': "Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it.", 'b' a binary mode. Az 'a' itt esetedben nem igazán indokolt, mivel egyszerű olvasást hajtasz végre. A binary mode biztos kell neked?"
tehát
$fp = fopen('$DOCUMENT_ROOT/../gem.txt','ab');
HELYETT például próbáld meg így:
$fp = fopen($DOCUMENT_ROOT.'/../gem.txt','r');
binary mód attól függően kell, hogy van eltárolva...Pont azért idéztem neked a dokumentációt, mert az 'a'-val a fájlpointert a fájl végére teszi. Neked pont nem ez kell...
(#14608) PumpkinSeed :
"a karaktereket az alapján kell kiszedni, hogy mi van a környezetében. Például van egy karakter akkor ha előtte egy bizonyos karakter van akkor az off, ha pedig mögötte kettővel egy másik van akkor megint off. Ez most le van egyszerűsítve de minimum 10 index távolságba mindkét irányba vizsgálni kellene a környezetét."
Ezt a legegyszerűbb egy állapotgépes modellel megvalósítani, egy Móricka-rajzon leírhatnád papírra, mik az állapotok, aztán összekötögetve készülne egy egyszerű állapotdiagram. Vagy készíthetsz állapottáblát is. (Utóbbinak előnye, hogy ott ordít, ha valamilyen állapotnál kimaradt a kitöltés, míg az állapotdiagramnál a nyilacskázást valahol könnyen el lehet felejteni véletlenül.)
Nem tudom, csináltál-e már ilyet. Más nyelvekben szokás enum típust szokás használni erre a célra, jelezve az állapotokat, PHP-ben kerülő megoldás vagy SplEnum van. Az állapotgépes modell egyébként elég egyszerű, switch-case-es szerkezettel megvalósítható.Kérdés, hány állapotod lehet. Mit keresel, egy szót? Számokat? Mi a feladat? Azért is kérdezem, mert lehet, hogy egyszerűbben is megvalósítható, mint ahogy próbálkozol.
-
Sk8erPeter
nagyúr
válasz
PumpkinSeed #14599 üzenetére
A kódod több szempontból is rossz:
$fp = fopen('$DOCUMENT_ROOT/../gem.txt','ab');
Mivel sima aposztrófot használsz, a $DOCUMENT_ROOT nem fog behelyettesítődni, tehát vagy konkatenáld, vagy használd az idézőjelet (de inkább előbbi a kód jobb olvashatósága érdekében).
Aztán: 'ab' módban nyitod meg a fájlt, ebből az 'a': "Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it.", 'b' a binary mode. Az 'a' itt esetedben nem igazán indokolt, mivel egyszerű olvasást hajtasz végre. A binary mode biztos kell neked?Ezenkívül ezt csinálod:
$i = 0;
while (!feof($fp)) {
$szoveg[$i] = fgetc($fp);
$i++;
echo $szoveg[$i];
}itt az $i változót megnöveled, és AZUTÁN íratod ki a $szoveg tömb i-vel indexelt tartalmát. Magyarul az echo-nak nyilván még az $i++ előtt kéne szerepelnie.
Meg ellenőrizni kéne, hogy a megnyitás sikeres volt-e (elég egyszerű: a while-t és fclose-t egyszerűen berakod egy if($fp) blokkba), sikertelen megnyitás utáni fclose warningot okoz. Igaz, sikertelen fopen is azt okoz, ezért azt speciel érdemes lehet elnyomni @ karakterrel, VAGY még a megnyitási kísérlet előtt vizsgálni, hogy létezik-e egyáltalán a fájl (file_exists()).
Ez egyébként csak gyakorlás? Mi a konkrét célod?
==================================================
(#14600) Athlon64+ :
"Karaktert nem lehet indexelni."
+ (#14602) Athlon64+ :
"Akor ne indexeld a beolvasott karaktert?!"
Mi az, hogy karaktert nem lehet indexelni? A kódja teljesen jól működne, ha jól használná. Sehol nem is indexeli a karaktereket, egyszerűen a karaktereket egy külön tömbbe rakja, aminek az indexét az $i adja. -
Sk8erPeter
nagyúr
válasz
PumpkinSeed #14595 üzenetére
Még jó, hogy ilyen sok részletet megosztottál a megoldásodról...
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #14593 üzenetére
(#14588) Lacces
"De include-oltam nem egyszer
. Mert ez csak egy egyszerű kis magamnak csinált alkalmazás volt, nem fogok én itt hobbi webframework-öt csinálni
. Ott az xDebug, hibajelzésre... Patterneket nézegettem. Van más dolgom is
.
include('vars.php'); // működik.
include 'vars.php'; // nem működik, semmit sem jelzett."Valamit rettentően elkúrsz, ha ez nem működik, pedig de, működik...
Amúgy nem tudom, milyen hobbiwebframeworkről beszélsz, egy include-tól nem lesz semmi sem framework, főleg, hogy az általad mutatott példában tényleg csak a rövid tesztelés kedvéért tök felesleges különböző fájlokba pakolgatni a kódokat.
"Ott az xDebug, hibajelzésre... Patterneket nézegettem"
Hogy kapcsolódik össze egyáltalán a kettő?Meg hogy jön az Xdebug bármilyen hobbiwebframeworkhöz?
Na mindegy, betudom a dolgot az aktuális "vércukorszintednek". -
Sk8erPeter
nagyúr
válasz
Lacces #14586 üzenetére
"Egyszer csak azt vettem észre, hogy én sosem használtam így az include '/path/to/file' a behúzást."
Hogy micsoda? Mármint úgy érted, még sosem include-oltál másik fájlt? Most szívatsz, ugye? Azt hogy csináltad eddig? Mit csináltál eddig?Most tényleg az volt a gondod, hogy másik fájlban voltak az osztályaid, és az a fájl nem volt behúzva vagy autoloadolva, és még ráadásul a hibajelzéseid is el voltak nyomva, és ha már így alakult, még hibanaplózás sem történt?
A vércukorszinteddel akkor az egészséged és hatékonyságod érdekében is javaslom, hogy kezdj valamit.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #14578 üzenetére
Mi nem?
(#14577) Lacces :
Mi az, hogy "utólag nem"?Amúgy jól elvagytok.
-
Sk8erPeter
nagyúr
PHP-alapokon, elejétől megírva macerás lehet, úgyhogy inkább kész programot ajánlanék, ami elég komoly és összetett:
Helium Music Manager
http://www.helium-music-manager.comMS SQL- és MySQL-adatbázisba is tud menteni. Persze a saját adattábláit hozza létre és használja, ez nem testreszabható, de rengeteg szempont szerint tudsz szűrni.
-
Sk8erPeter
nagyúr
Na ja, ebben igazad van, már nagy fájlok beolvasásánál is elvérzik a sima Notepad, szemben a Notepad++-szal, ami igen nagy fájlokkal is egész jól megbirkózik. A Notepad gyorsasága alatt inkább az elindulás tempójára gondoltam például kis fájlok esetén, Notepad++ azért már két plugintől is hozzá képest érzékelhetően lassul, bár ezen nem is kell annyira meglepődni, azoknak a cuccait is be kell tölteni. Cserébe egy jól használható szövegszerkesztővel van dolgod, nem pedig egy fostalicskával.
-
Sk8erPeter
nagyúr
válasz
CSorBA #14564 üzenetére
Ettől még a Notepad analfabéta, ostoba szövegszerkesztő. Lényegében egy textarea egy ablakkal, pár rettenet egyszerű menüponttal, és kész. Pont a butaságától gyors, de ettől még nem lesz jó.
De nyilván ezt a többség vágja, nem kell külön mondani, ezért más az alapértelmezett szövegszerkesztője.
Amúgy a unix2dos eszközre most nincs szükség, egyelőre a kódolás fázisában tart, meg tudja változtatni a kódjában a sorvégződést \r\n-re, ha Windows-os sortörést akar, vagy megváltoztathatja a platformfüggő PHP_EOL-ra is, de ha ezt UNIX-alapú rendszereken használja, akkor az ugyanúgy \n-t jelent. De amúgy sem a Notepadhez kell igazítani az igényeket. -
Sk8erPeter
nagyúr
válasz
PumpkinSeed #14561 üzenetére
Nálad betegség ez a </br>?
Itt is (meg más topicban is már) ugyanezt használtad, akkor is írtam, hogy csak <br /> vagy <br/> vagy <br> van.
Egyébként csak egyszer gondold már végig, hogy itt milyen "megnyitott" taget akarnál lezárni, ami miatt az elejére teszed a perjelet? Semmilyet, mivel ez self-closing tag, ergo egyből a végére kell (HTML5-nél nem kell, de lehet) tenni a perjelet, szóval egyből lezárni az elemet.
Az érdemi problémára: azt sem írtad, hogy milyen platformon tesztelsz (először azt sem írtad, hogy nem böngészőbe írt kimenetről van szó, hanem txt-fájlról), de feltételezem, Windows-on, és azt sem írtad, azonbelül milyen szövegszerkesztőben nézed meg az eredményt, feltételezem, olyanban, ami a UNIX-os sorvégződéseket (\n, LF) nem "támogatja" (pl. sima Notepad, míg Notepad++ támogatja), csak a Windows-osat, ami CRLF, vagyis \r\n, vagy PHP_EOL Windows-on (a PHP_EOL Unixon az említett \n-t adja), magyarul a megoldás lehet, hogy \n helyett \r\n-et írsz, vagy például használsz egy normális szövegszerkesztőt, és abban nézed meg...
-
Sk8erPeter
nagyúr
De nem is meglepő, hogy nem generál warningot, mivel az empty() az isset által végzett feladatot is lefedi, ahogy meg is beszéltük, tehát a változó beállítottságát/létezését is vizsgálja, nemcsak annak "ürességét", meg az isset()-hez hasonlóan erre is vonatkozik, hogy "this is a language construct and not a function".
De ezt Te is vágod, hiszen pont erre hivatkoztál itt, hogy redundáns lenne mindkettőt használni egy adott változóra.No de igazából az eredeti felvetést kellene megfejteni inkább, hogy mi az, hogy "nem ajánlott az empty".
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #14536 üzenetére
(#14535) Speeedfire :
Ahogyan arra előttem tanult kollégánk elég tömören rávilágított, ez a kijelentés ebben a formában értelmetlen. Szerintem ha erről olvastál, akkor az valami olyasmiről szólhatott, hogy nem biztos, hogy jó, ha mindenáron lustán rászokunk az empty() túlzott használatára validálásnál vagy egyéb esetekben, jobb néha a kódban egyértelműen az elvárt adattípusra vizsgálódni (pl. NULL-ról vagy empty stringről van-e szó, FALSE-ról, vagy másról), igaz, az empty() - mint látható az ennek megfelelő esetekből - elég sok lehetőséget lefed. Persze csak tipp, hogy valami ilyesmire gondolhattál. De tényleg "attól függ".(#14537) mobal :
látom szereted lerövidíteni kifejtés helyett.
Hát erre most azt tudom mondani, hogy olvasd el itt Athlon64+ második bekezdését, sokkal rövidebben és lényegre törőbben sikerült válaszolnia, mint ahogy én előbb próbálkoztam neked egy jó hosszú hsz.-szel, amire Te visszaböfögtél egy mondatot, azt' részedről elintézve.Remélem, értékeled, hogy most a moderátori kedvedért egy hsz.-be nyomorítottam több hsz.-t...
Akármilyen gusztustalan is, több hsz. írása helyett.
-
Sk8erPeter
nagyúr
Én csak azt nem értem még mindig, hogy a parse-olásnak, meg a tageknek mi köze van az adatbázishoz, meg a konkrét queryhez, amivel feltöltöd. Először parse-olod az adatokat PHP-vel gondolom, kinyered a kapott eredményből a neked szükséges szavakat, aztán pedig azokat a szavakat el akarod tárolni adatbázisban, mármint az összeset, nem? Most az a kérdés igazából, hogy hogyan állíts össze egy query-t PHP-vel? VAGY pedig az a kérdés, hogy mondjuk hogyan csináld meg azt, hogy az egyik táblában tárolod a keresőszavakat, aztán van egy kapcsolótáblád, amibe meg be akarod nyomni az adott szóhoz tartozó id-t. Na de ehhez megint nem szabadna, hogy köze legyen bármilyen tagnek is, hiszen azt fel kellett, hogy dolgozd az alkalmazásodban, de nyilván nem egy query-ben kellene ezt megtenned. Tárolt eljárással a kapcsolótáblás feltöltés elintézése is amúgy megoldható, ja, ha ez a kérdés, de még megoldható hatmillióféleképpen.
Csak kicsit kuszálódtak itt a dolgok.
DE akár azt is megcsinálhatod, hogy amennyiben auto_increment meződ van a keresőszavakat tároló tábládban, akkor megjegyzed, honnan kezdted feltölteni, és az annál nagyobbakhoz tartozóakat meg a feltöltés után nyomod a kapcsolótáblába... De ennél értelmesebb megoldás is nyilván lehet, ha kicsit jobban megértjük, mit akarsz.
Na jó, én értem, mire gondolok, elég kuszán fogalmaztam, csak most nincs energiám átfogalmazni érthetőbben, de hátha valami így is átjön.
Hozzáteszem, Te sem fektettél túl sok energiát a kérdésed szabatos megfogalmazásába, és még a végére engem is belekavartál, aztán elkedvetlenedtem.
-
Sk8erPeter
nagyúr
Ezt meg tudnád fogalmazni érthetőbben, hogy mi a pontos cél, és egyáltalán mire lesz ez jó?
(#14530) Kurik :
Ja, hát úgy értettem, hogy a kiszolgálógépen, ahol a batch-progit végül is lefuttatod az exec() fv.-nyel, ott megjelenik-e a µTorrent felhasználói felülete, vagy sem a fv.híváskor - ezek szerint nem, csak háttérben futkorászik, de nem gond, mert nincs rá szükséged. -
Sk8erPeter
nagyúr
válasz
fordfairlane #14526 üzenetére
"Olyan, mint az isset, csak még pluszban leellenőzi, hogy false-e a tartalom."
Mondjuk ezzel kapcsolatban lehet, hogy vki számára félrevezető a php.net-en lévő infó, hogy "A variable is considered empty if it does not exist or if its value equals FALSE", mert inkább a visszatérési értéknél írtak tűnik egyértelműbbnek a leírás: "Returns FALSE if var exists and has a non-empty, non-zero value.""The following things are considered to be empty:
"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)"Az "if its value equals FALSE" olyan, mintha ilyen ellenőrzés történne: ($var === FALSE), pedig a listából látható, hogy nem erről van szó, és a visszatérési értéknél írtak picit mintha inkonzisztensek vagy ellentmondóak lennének az első idézett állítással (mert a FALSE is empty, de még más is).
-
Sk8erPeter
nagyúr
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #14514 üzenetére
Na ez nem egy rossz gondolat. Alapból valóban az %appdata%\uTorrent könyvtárban keresgéli a settings.dat, resume.dat fájlt, ami felhasználóhoz kötődik, abban az esetben, ha normál telepítés van fent. A 3.xx akárhányadik verziótól kezdve lehet ELEVE portable-módban is telepíteni.
A 2.x változatoknál az jelenti a portable módot, ha az utorrent.exe könyvtárral azonos könyvtárban található a settings.dat, resume.dat fájl. Ekkor az %appdata%\uTorrent könyvtár tartalmával nem törődik, nem keresi, ezzel tehát áthidalható lenne a probléma (ha eleve portable-módban próbálná meg használni, az %appdata%\uTorrent könyvtárban lévő adatok gondos átmásolásával az utorrent.exe mellé, persze backup nem árt).
Legalábbis feltételezem, nem szeretné, ha ugyanannak a felhasználónak a nevében futna a php-folyamat is. -
Sk8erPeter
nagyúr
válasz
SirRasor #14507 üzenetére
http://stackoverflow.com/questions/15385965/php-pdo-with-foreach-and-fetch/15386195#15386195
Szerencsére elmagyarázták helyettem is -
Sk8erPeter
nagyúr
Egyszerűbben megközelítve a kérdést: amennyiben írsz egy nagyon egyszerű, egysoros batch-fájlt, aminek az egyetlen dolga csupán az utorrent.exe elindítása, majd pedig ezt a batch-fájlt (nem közvetlenül az utorrent.exe fájlt!) próbálod futtatni exec() függvénnyel, akkor mi a helyzet?
-
Sk8erPeter
nagyúr
AjaXplorerrel, pontosabban új nevén Pydio-val tudnád távolról is nézni a megosztott tartalmakat bejelentkezést követően, amennyiben webszerver is van a gépeden, és azt működésre bírod, hogy távolról meg tudj tekinteni rajta egy weblapot:
http://pyd.ioMár ha ez megfelelő.
Ez alapvetően egy nagyon ügyes kis fájlmegosztó, amibe rengeteg plugin van építve, akár dokumentumok szerkesztésére, videók/képek megtekintésére, akár tömörített állományok tartalmának megnézésére, meg egyebekre. Biztosít többfelhasználós működést, egymással megosztogatást is, a regisztráció/bejelentkezés pedig eleve adott.Az még nekem nem teljesen tiszta, hogy amennyiben igazából a videó-megtekintések idejére pont, hogy leállítani szeretnéd az utorrent.exe-t, akkor miért az volt az eredeti cél, hogy elindítsd.
Az exec()-hez és hasonlókhoz pedig jogosultságokat kell biztosítani (ami erősen megfontolandó!). Az ütemezett feladatos megoldást hogy érted? Kicsit most számomra keverednek az eddigi ötletek a végcéllal, picit ellentmondónak tűnnek a szempontok.
-
Sk8erPeter
nagyúr
válasz
fordfairlane #14496 üzenetére
Ennél beszédesebb query:
SELECT EXISTS(SELECT 1 FROM `users` WHERE `uid` = 5)
-
Sk8erPeter
nagyúr
Igazából mi a cél? Miért szeretnéd PHP-val indítani?
Nem tudom, mit szeretnél, de hátha nem találkoztál eddig vele, vannak ilyen lehetőségek, mint például a µTorrent Web UI:
http://utorrent.hu/?page=3&ln=hu&cid=2&cikk=45
http://www.utorrent.com/help/guides/webui
Persze ehhez futnia kell a kliensnek, hogy működjön.Az IIS+PHP párossal meg hidd el, semmi gond nincs.
-
Sk8erPeter
nagyúr
"A lényeg akkor is marad, nem feltétlenül kell csillagászati összegeket költened, hogy fusson az Apple által fejlesztett operációs rendszer."
Kezd fárasztó lenni.Pont ezért magyaráztam el neked a különbségeket a Mac-gép és a Mac OS között.
Mivel te elkezdtél külön az operációs rendszerről beszélni. Hogy jött ide? Arról volt szó, hogy egy átlagos Mac-gép (NEM OS!!
) igencsak drága.
No offense, de simán csak kötözködtél.
Részemről én is befejeztem, kezd uncsi lenni az egész téma, igazából abból indult ki a dolog, hogy Trisztán azt állította, hogy a NetBeans egy lassú hányadék fos (ehhez az állításához csatlakoztak páran, azt a részét én is elismertem, hogy kajálja az erőforrásokat), míg a Mac a király, én meg próbáltam rávilágítani, hogy talán egy kicsit szűk látókörűen állt a kérdéshez, és lehet, hogy valami az ő figyelmét kerülte el, még konkrét javaslatokkal is álltam elő (igaz, nem neki válaszolva), amivel a NetBeans erőforrás-igényét le lehet faragni, nehogy már én legyek emiatt a k×csög.
(#14485) tPedro_ :
Igen, az lesz az!Viszont ott már nem PHP programozás lesz a háttérben.
-
Sk8erPeter
nagyúr
Úristen, sejtettem, hogy valaki magára fogja venni, anélkül, hogy agyelborulás helyett elolvasta volna, ami le van oda írva. Ott van teljesen egyértelműen még az általad idézett részben is, hogy "és nyilvánvalóan tisztelet a kivételnek". Ergo ha elolvasod, amit írtál, és elolvasod azt is, amit én írtam, akkor felfedezheted, hogy rád nem illik a leírás. Ahogy Trisztánra sem illik, mivel írta, hogy megdolgozott érte. Már ezt a másik topicban is megbeszéltük vele, és nem akadt ki rajta. Én haverjaim között is van pár kivétel, akik megdolgoztak a Macjükért, és értsd már meg, rájuk sem igaz a leírás. De talán nem kell külön kihangsúlyozni, hogy túlzottan sokan vannak, akikre viszont igaz. Capisce? Ezt tényleg külön el kellett magyarázni, hogy ne vedd magadra? Gondolom Te is találkoztál ezzel a videóval jópár helyen, na az ilyenekről beszélek. Többek közt. Nem rólad. Azért ha valamire ennyire ugrasz, olvasd el még egyszer, hogy biztos jól értetted-e.
-
Sk8erPeter
nagyúr
válasz
trisztan94 #14473 üzenetére
Ha lenne másik alkalmazás, ami ennyire széleskörűen testreszabható, ingyenes, ennyi eleve beépített szolgáltatása van, ennyi nyelvet támogat, és nem csak a szaros gagyi Microsoftos Visual C++ compilert lehet hozzá belőni például C++-alkalmazásokhoz (lásd sajnos Visual Studio, amit egyébként nagyon szeretek, csak a MS-hoz kötődő C++-fordító botrány, mint korábban írtam), hanem a szokásos gcc/g++-t (Windows alatt MinGW), szóval nem kellene mindenféle különböző - általam használt - programozási nyelvekhez tartozó projekthez váltogatni a jól megszokott IDE-t, hanem nagyjából egy környezetben tudnék elintézni mindent (sajnos kivétel ez alól a C#), ÉS még gyorsabb is, mint a NetBeans, meg kevésbé erőforrás-igényes (és ez alól számomra kivétel sajnos a Code::Blocks, nekem nagyon nem vált be), akkor valószínű, hogy váltanék.
Ha van ilyen, szóljatok, tényleg érdekelne.Megértem, hogy problémád van azzal, hogy több erőforrást kajál a NetBeans, mint azt alapértelmezetten elvárnád, és hogy igazán SSD birtokában jól használható, de ITT adtam egy-két tippet, amivel befolyásolni tudod a viselkedését, és amivel talán Te is be tudod lőni magadnak.
Igaz, a dizájn valszeg továbbra sem fog megfelelni, nem illik a Maces menő dizájnba, ahogy írtad."Ezért is vettem Mac-et, mert produktivitás terén odavágja a Windows-t. (ebbe légyszi ne menjünk bele, hosszú oldalakat lehetne írni, hogy miért, miért nem, stb, ne flame-eljük tele a topikot - szubjektív vélemény)"
Pedig tényleg érdekelnePersze nyilván van pár dolog, ami tök jó Macen, és nincs meg Windows-on, de az alapján, amit hallottam, fordítva hatványozottan igaz.
Meg a weblapkészítős topicban írtál egy-két dolgot, ami szerint nem találtál megfelelő programokat bizonyos feladatokra (legalábbis ingyé'), és ami nem azt igazolta, hogy a produktivitás jobb lenne, na de mindegy, elhiszem, hogy neked bevált. De csak akkor tudnék erről érdemben véleményt nyilvánítani, ha lenne Macem (nem lesz egy darabig, és lehet, hogy azután sem
Ha nem kötődne az egész márka ilyen undorító módon sznob, "ki-ha-én-nem"-típusú gazdag lenéző köcsög Starbucks-os idiótákhoz, akiknek sokszor fingjuk sincs az életről, beleszülettek a legjobb anyagi körülményekbe, és köpködnek mindenkire, aki mondjuk kétkezi munkát végez, vagy nem áll azon a "menőségi szinten", amit ők elképzeltek maguknak, és mondjuk egy ásót nem vennének soha a kezükbe - és nyilvánvalóan tisztelet a kivételnek -, akkor talán nem tartanám magam szempontjából ilyen gáznak, ha Macet vennék
).
"És baromira idegesítő az, hogy 1-2 óránként újra kell indítanom a programot, mert a Safari is 10 mp-e ugrál ott a Dock-on miatta."
Miért ugrál? Úgy érted, nem indul el, mert hátráltatja a betöltődését a NB?"De miért állítgassak neki paramétereket, miért sz*rakodjak terminal-ban ezzel? "
Nem kell terminálban szarakodni, leírtam itt, hogy az etc/netbeans.conf fájlt kell szerkeszteni. Hát ja, felháborító, tudom, de ilyen is van.====
(#14474) mobal :
Neked, erre.Úgy tűnt, a "PC" fogalmát azonosítod az olyan gépekkel, amin nem Mac van, de no offense.
-
Sk8erPeter
nagyúr
válasz
tPedro_ #14477 üzenetére
Jaja, eléggé rossz topicban kérdezed, mert ez teljesen platformfüggő is lehet - a LED-villogtatás egészen biztosan, azt egy egyszerű weboldallal nem is fogod megcsinálni, ahhoz rendes mobilalkalmazás kell, ami kér erre engedélyt -, azt sem írtad, hogy Android, iOS, vagy micsoda.
Egy sima webalkalmazás esetén JavaScripttel vagy jQuery-vel meg tudod oldani, hogy mobilnál is pattogjanak fel értesítőablakok, de az is más topicba tartozik.Ekkor mindenféle egyéb mobilhardver vezérlése viszont kizárva.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #14476 üzenetére
Szívesen, amúgy előbb elrontottam egy útvonalat:
d:\Programs\Netbeans\NetBeans-OS-independent-RC\etc\etc\netbeans.conf
HELYETT
d:\Programs\Netbeans\NetBeans-OS-independent-RC\etc\netbeans.conf
egy etc-vel több került bele véletlenül. Lehet, hogy meg kéne kérni egy modit, hogy javítsa.De a lényeg érthető, remélem, sikerült megvilágítani, hogy van beállítási lehetőség NetBeans-nél is bőven.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #14471 üzenetére
A "jól" paraméterezett beállítás nyilvánvalóan a gép adottságaitól függ (plusz tesztelni kell, kinél mi válik be), bár ezt nem is értem, miért kell külön mondani.
Ami nálam 12 GB RAM birtokában eddig bevált (legalábbis nem volt vele anomália, hogy emeltem az alapértelmezett beállítások értékét, tehát pont, hogy több memóriahasználatot engedtem neki, de nem tudom, mennyire "optimális"), az nyilván kevesebb RAM-mal rendelkező gépen nem lesz jó.
Tehát:
- javaslom a NetBeans etc/netbeans.conf fájljának a tanulmányozását, az ott szereplő kommentárok olvasását, a netbeans_default_userdir és netbeans_default_cachedir beállítását egy gyors meghajtóra, valamint a netbeans_default_options kapcsolóknak való utánanézést (amikkel tudod befolyásolni, korlátozni/emelni az engedélyezett memóriahasználatot), mindezt összevetve az alapértelmezetten, NetBeans által "kitalált" módon beállított paraméterekkel a userdirben lévő var/log/messages.log naplófájlba belekukkantással, amellyel kiderítheted, hogy mindenféle külön beállítás nélkül hogyan (pl. milyen minimális/maximális memóriahasználattal) is indul el. Egyébként én a hordozhatóság érdekében (= hogy pl. ne a Windows-os/Linuxos home könyvtárba tárolja el a beállításaimat, hanem oda, ahova én mondom neki, na meg nem utolsósorban hogy Windows és Linux alatt is ugyanazokkal a beállításokkal tudj dolgozni, egy rögzített könyvtárban (nyilván a projektek elérési útjai nem fognak stimmelni a két OS alatt)) a Downloads oldalról az "OS Independent Zip"-et javaslom (https://netbeans.org/community/releases/74/install.html#install_zip), nem pedig a normál telepítőset (már amennyiben nincs szükséged a hozzá járó GlassFish szerverre, Apache Tomcatre, vagy azt külön is tudod telepíteni+konfigolni nem túl bonyolult módon). Nálam ez így elég kényelmessé teszi a cipelhetőséget, van egy d:\programs\NetBeans könyvtáram, azonbelül pedig külön könyvtár, ahol tárolom magát a programot (ez nálam: d:\Programs\Netbeans\NetBeans-OS-independent-RC\), és megint külön könyvtár, ahol tárolom a userdirt és a cachedirt is (d:\Programs\Netbeans\NetBeans_dirs\ könyvtáron belül). A
d:\Programs\Netbeans\NetBeans-OS-independent-RC\etc\etc\netbeans.conf
fájlban pedig tudok így RELATÍV útvonalat is megadni a netbeans_default_userdir és netbeans_default_cachedir beállításoknak, ..-okkal, esetemben:
netbeans_default_userdir="../../NetBeans_dirs/my_userdir"
netbeans_default_cachedir="../../NetBeans_dirs/my_cachedir"
De mielőtt eltérnék a lényegtől:- "nem szkenneli végig feleslegesen, azokat a projekteket is, amik meg sincsenek nyitva"
Egyszerű a megoldás: a projekteket, amelyekre nincs szükséged, egy ügyes projekten történő jobbklikk, majd Close keretében zárd be. Igen, tudom, milyen már, meg minden. Hát egyelőre ez van. Van egyébként issue queue a NetBeans oldalán is, nyugodtan lehet nyitni neki egy issue-t, és javasolni, hogy ezt a viselkedést változtassák meg, tegyék opcionálissá, hogy az összes, listában lévő projektet átvizsgálja. Igen, HDD-n ez borzasztó hosszú ideig tarthat, amennyiben sok-sok projekted meg van nyitva.Van még egyébként project grouping lehetőség is, ezt pont múltkor láttam, és érdekes módon eddig még nem használtam ki az előnyeit, de van:
http://stackoverflow.com/questions/4515622/is-there-a-way-to-stop-netbeans-scanning-projects/6483495#6483495Nem tökéletes a NetBeans, kell neki az erőforrás, de nagyon jó, hogy PHP-ben, HTML-ben, CSS-ben, C-ben vagy C++-ban, meg olykor Javában is tudok benne kódolni.
C#-hoz pedig természetesen Visual Studio a must-have, persze ennek hátránya, hogy nem platformfüggetlen, így Linuxon alternatíva kell rá, de tudom, így legalább nem Javás szutyok.
A Visual Studio is egy NAGYON jó IDE. Ráadásul gyors. Cserébe telehányja a gépet, a maradékainak eltávolítása, az uninstallálási procedúra önmagában egy kálvária. C++-hoz nem ajánlott használni, undormány dolgokat enged a Microsoftos rettenet fordító, a szabványossághoz nem sok köze van (powf az mi?), bár ezen MS-éknál nem kellene annyira meglepődni.
Ettől függetlenül elismerem az összes érdemét, nem hurrogom le úgy általánosságban, mert C#-ban meg imádom.Egy szó, mint száz: mindenki használja azt, amiben kényelmesen és fájdalommentesen tud programozni.
És ezek a "Java-alapú szarok" szintén rendkívül jó fejlesztőkörnyezetnek számítanak. -
Sk8erPeter
nagyúr
válasz
rgeorge #14465 üzenetére
PHP és C# SOAP-os kapcsolatával nekem is meggyűlt a bajom annak idején, persze PHP-oldalról voltak elsősorban gondok, ahol a WSDL-generálás közel sem triviális (miközben C#-ban egy WSDL legenerálása mondjuk pár kattintás Visual Studióban), én akkor a NuSOAP-ot használtam, itt leírtam:
http://stackoverflow.com/questions/6986350/generating-wsdl-with-nusoap-return-struct-with-various-types-int-string-arr
Konkrétan mondjuk a namespace-es problémához nem kapcsolódik, de hátha ötletadónak jó. -
Sk8erPeter
nagyúr
válasz
Speeedfire #14466 üzenetére
Hogy jön ide a kátyús út, meg megfelelő lengéscsillapító, amikor megfelelő paraméterezésről beszéltem, amivel korlátozni lehet az erőforrás-használatot?
Amúgy hiába "megfelelő" a lengéscsillapítód, ha belemész egy b@szomnagy kátyúba, akkor úgyis kőkeményen amortizálhatod a felnit/gumiabroncsot/futóművet/stb., szóval tök mindegy, úgyhogy a példa elég fura.
De értem, miről beszélsz.
Amúgy igen, a JVM jó barátságban van a memóriával, de 600 MB-on nem tudom, miért vagy kiakadva, manapság pár videóval egy Chrome is simán meg tud zabálni annyit.
Mindegy, mindenki olyan IDE-t használ, amilyet akar, meg amiatt nyavalyog, ami miatt akar, de azért vicces, amikor esetleges user errorok miatt is lefostalicskáznak páran egy amúgy igen népszerű és hatékony munkát elősegítő alkalmazást.=====
(#14467) mobal :
Őőőő, azt ugye vágod, hogy van a Macintosh, mint márka (amit Macnek szoktak rövidíteni), amibe például beletartoznak a személyi számítógépek (vágod, PC), meg van a Mac OS, ami nem túl meglepő módon ennél kicsit már szűkebb kategória, magára az Apple operációs rendszerére vonatkozik... Tényleg ki kell hangsúlyozni, hogy a számítógépről beszéltünk egészen idáig, ami mondjuk fél milkába kerül? Alapesetben pedig ezen Mac OS van, nem túl meglepő módon, és mint Trisztán screenshotjaiból kiderült, ő sem változtatott ezen, érthető módon. Itt pedig eleve rosszul használtad a "PC" fogalmát, mintha mondjuk a Trisztán által használt Mac-gép (még mindig nem csak az OS) nem személyi számítógép (PC) lenne.Lehet, hogy újdonság, de a PC nem csak olyan számítógép lehet, amin Windows van.
-
Sk8erPeter
nagyúr
Hát ennek annyira örülök, hogy szinte alig tudom szavakba foglalni. De komolyra fordítva: kit érdekel?
(#14447) trisztan94 :
"amikor egy Virtuális Windows 8+Visual Studio 2013 Pro + Windows Phone 8 emulator nem lassítja be ennyire"
Ezt a mondatot csak most láttam, azért az kemény lehet így dolgozni...
(#14456) Speeedfire :
"Ok, tehát ha valami egy optimalizálatlan sz*r, memory leaks-es valami akkor ssd, meg memória. Erre miért nem gondoltam...."Tehát akkor ha neked nem sikerül megfelelően konfigurálni az alkalmazást, mert nem néztél utána, hogy lehet korlátozni is az erőforrás-használatát például különböző paraméterezésekkel, meg mondjuk valóban kéri az erőforrásokat annak érdekében, hogy gyorsítsa a munkádat, akkor az csak is egy fos lehet, meg a fejlesztők idióták, és egyértelmű, hogy memóriaszivárgást tettek a programba? Vagy más magyarázata is lehet?
Szerk.: amúgy most én is beraktam az avatarokat megjelölésként a hsz.-be, ahogy Te is szoktad.
-
Sk8erPeter
nagyúr
válasz
trisztan94 #14438 üzenetére
"ezek a Java alapú sz*rok"
Gratulálok...
Nyilván azért tartoznak a legnépszerűbb IDE-k közé a NetBeans, meg az Eclipse is, mert akkora szarok.Amúgy ez egy jó esettanulmány lehetne: vettél fél milkáért egy Macet, mert az menő, és azóta folyamatosan szenvedsz vele. Megérte? Nem találsz hozzá menő OS X-es alkalmazásokat (ebbe nyilvánvaló, hogy beletartozik a csillivilli, különben nem menő, és nem menő módon nem lehet dolgozni, hát milyen már az, hogy csak úgy simán hatékonyan tudod végezni a munkádat, mindenféle menőség nélkül), amiket hatékony munkára tudnál használni, vagy ha találsz is, akkor azért perkálni kell (ha még nem lett volna elég drága a gép). Egyébként biztos nincs így, csak az előítélet beszél belőlem, tapasztalatom nincs szerencsére Mac-kel, de pár emberkétől hallott infók alapján annyira nem vágyom rá, és erre Te is ráerősítettél a Weblapkészítés topicban is.
Ezeket a "Java alapú sz*rokat" egyébként lehet különböző paraméterezésekkel indítani, amikkel korlátozni tudod a memóriahasználatukat, meg egyéb erőforrásokkal kapcsolatos dolgaikat.Ez amúgy tényleg annyival szebb, mint ez? Biztos én vagyok a rohadt igénytelen állat, de én nem találom annyival szebbnek.
Ahogy már mondták, a "Java alapú sz*rok" alá kell a vas, SSD-vel életet menthetsz amúgy is, a 4 GB RAM meg manapság talán kevésnek is mondható fejlesztői szemmel (persze attól függ, milyen fejlesztői környezet, stb.), ha tisztességes IDE-t akarsz használni, ami azért követeli az erőforrásokat.
Annyira nagy rakás szarok ezek a Java-alapú IDE-k, hogy én például előszeretettel használom mindennapi fejlesztésre, debuggolásra (PHP-ben, JavaScriptben, CSS-ben, C++-ban) a NetBeans-t, és nagyon elégedett vagyok vele.
Igaz, én milyen jogon ugatok, amikor én csak szaros SSD-re és RAM-ra költöttem a pénzemet a gizda Mac helyett. -
Sk8erPeter
nagyúr
válasz
Lacces #14435 üzenetére
Végül mivel oldottad meg?
Itt írnak ignore-ról, de nem olvastam el részletesen. -
Sk8erPeter
nagyúr
válasz
don_peter #14432 üzenetére
Nem tudom, hol taglaltam, hogy én "mekkora király" vagyok, szerintem sehol.
Ahogy azt sem, hogy ki mekkora akármicsoda.
Javaslatot adtam, hogy tedd fel a kérdésedet a JavaScript topicban, és segíts nekünk gyorsabban megoldani a problémádat azzal, hogy felrakod a kódodat egy online szerkeszthető tárhelyre, így a segítség még hatékony is lehet, nem oda-vissza kérdezgetésekkel és javaslatokkal fogjuk tömni a topicot, meg pazarolni egymás idejét. Hangsúlyozom: azt szeretnéd, hogy segítsünk neked megoldani valamit, a te melódat/hobbidat/leckédet akarod, hogy megkönnyítsük, mi ebből nem profitálunk semennyire, nem fizetnek érte, nem kapunk érte vállveregetést, mégis segítenénk, ehhez talán nem nagy elvárás, hogy ne nekünk kelljen plusz időt eltöltenünk ahhoz képest, amennyi szükséges.
Érdekes, ezt elég sokan rajtad kívül megértik, és aztán akár kész kódot kapnak segítségül, és elboldogulnak a kapott tanácsokkal, aztán esetleg újabb dolgokban kérnek útmutatást. Elég jól pörögnek a topicok így is.
A reakciód mindenesetre azt hiszem, csupán téged minősít, ha elolvasod a fentieket, láthatod, hogy elég normálisan írtam le az okokat. Olvasd el talán majd egy kicsit higgadtabb fejjel is, amit írtam neked korábban, akkor talán érteni is fogod, mi van oda leírva, és miért. -
Sk8erPeter
nagyúr
válasz
don_peter #14425 üzenetére
Hát pedig whYz kódja azt csinálja, amit kell, és működik, úgyhogy "a hiba az Ön készülékében van"...
Arra viszont figyelj oda, hogy ez jQuery-vel működik. Az általad írtakat nyugodtan meg lehet valósítani plain JavaScriptben is.
Ha meg segítséget akarsz, akkor rakd fel a kódodat jsFiddle-re vagy JS Binre, hogy ne nekünk kelljen vele tökölnünk. Ja, és ne valami akármilyen oldalra rakd fel, ami úgyis meg fog szűnni, mert abból az utókor úgysem profitál semmit (ha már fórum), mivel akármikor le is törölheted, ráadásul azt mi nem tudjuk kényelmesen módosítani (csak fejlesztői panelból).
De továbbra sem értem, hogy jön ez a PHP-hoz, de mindegy.
Itt a JavaScript topic:
http://prohardver.hu/tema/javascript_topic/friss.html(#14422) Lacces :
ha belinkelted volna nekünk a phpDocumentor dokumentáció vonatkozó részét, és nem nekünk kellene utána kaparnunk, akkor több esélyed lett volna/lenne...
-
Sk8erPeter
nagyúr
"a var_dumphoz hasonló rekurzív tömbbejáró függvénnyel kínlódom"
Szerintem ne kínlódj vele, én a Krumo-t ajánlanám. Pl. a Drupal Devel modulja is ezt használja, nagyon jól lehet vele kiíratni komplex változókat is, pl. többdimenziós tömböket, mindenféle típusú tartalommal (legalábbis amikor épp nincs kéznél egy tisztességesen belőtt IDE és Xdebug, amivel tudsz debuggolni). -
Sk8erPeter
nagyúr
válasz
trisztan94 #14410 üzenetére
Hát az biztos, kész vagyok, és most épp már a tököm tele van az OpenGL-lel
-
Sk8erPeter
nagyúr
válasz
Sk8erPeter #14408 üzenetére
Ja, pont ugyanezt a Stack Overflow-s eszmecserét linkelte be trisztan94, nem láttam.
-
Sk8erPeter
nagyúr
válasz
PumpkinSeed #14398 üzenetére
Még mindig nincs olyan, hogy </br>, csak olyan van, hogy <br /> vagy <br>...
(Pedig szerintem ez már lett neked említve korábban.)
"mi az a konkatenalás?"
Most komolyan, ne csináld már... próbáltad már azt, hogy visszakérdezések helyett előbb beírod Google-be az ilyen szavakat?
De most segítek: összefűzés...A kódbeli részére:
echo 'empty($abroncs): '.empty($abroncs).'</br>';
HELYETT:
echo 'empty($abroncs): '.var_export( empty($abroncs), TRUE ) .'<br />';
PHP 5.5.0 felett pedig használhatod ezt is:
http://www.php.net/manual/en/function.boolval.phpVagy castolod int típusúvá:
echo 'empty($abroncs): '.(int)empty($abroncs).'<br />';Annak a sorodnak meg semmi értelme, hogy
echo 'isset($fos): '.isset($abroncs).'</br>';
mivel a stringbe a fantáziadús $fos nevű változót akarod tenni, de a KONKATENÁLÁS során pedig az $abroncs változót használod...Szerk.:
jé, úgy látszik, egy órák óta betöltött változatot láttam, mert azóta kaptál válaszokat.(#14404) PumpkinSeed :
"0-át"
Akarod mondani 0-t. Próbáld kimondani azt, hogy "0-át", az jön ki belőle, hogy "nullá-át". Így szoktad kimondani?Vagy pedig úgy, hogy "nullát"?
http://debuggable.com/posts/false-0-or-not:480f4dd6-b2f8-49ac-97fd-493acbdd56cb
http://stackoverflow.com/questions/137487/null-vs-false-vs-0-in-php
-
Sk8erPeter
nagyúr
válasz
Speeedfire #14396 üzenetére
A SoapUI az tudtommal inkább tesztelgetésre való, de arra nagyon jó. Gyorsan tudod csekkolni, ha valami a válaszban rossz. Szóval azt nem is tudnád használni élesben.
"Anno párszor belémrúgtak (nem modik, hanem júzerek), mert több hsz-t írtam, holott azok válaszok voltak adott hsz-ekre."
Ez ilyen begyöpösödött gyökérség miatt van, és pont azért, mert néhány moderátor szintén begyöpösödött hülyeségek miatt elkezdte cseszegetni az embereket, aztán belénevelték a júzerekbe is ezt az idióta szokást, hogy nyomorgassák egy hsz.-be is a több embernek szóló, akár teljesen független hsz.-t. Baromság. Mintha az adatbázis nem bírná el a több bejegyzést. Vagy mintha az a pár plusz pixel annyira zavaró lenne, amit egy külön megírt hsz. hozzátesz még. Vagy mintha lenne bármi haszna is annak, hogy egy hsz.-be van nyomorítva több embernek szóló válasz is, amikor annak az előzménye pont, hogy kényelmetlenül visszakereshető, hacsak a júzer be nem linkeli, mire válaszol, akkor "kézzel" kell kotorászni utána. Nagyon remélem, hogy idővel leszoknak erről a hülyeségről a Prohardver moderátorai, hogy ilyenek miatt izélgessék az embert, mert csak az jön le belőle, hogy valaki hirtelen nagyon élvezi a hatalmát, máskülönben az ilyeneknek semmi haszna nincs.
Annak amúgy örülök, hogy nem csak én látom így. -
Sk8erPeter
nagyúr
válasz
Speeedfire #14393 üzenetére
Akkor tudnám megmondani, mennyivel tud többet, ha ismerném a "beépített" megoldást.
Amikor SOAP-os kommunikációról volt szó egy feladatnál, akkor eleve a NuSOAP-pal kezdtem neki, mert több helyen azt láttam, hogy ajánlják (nem pedig a beépítettet). Egyébként közel sem mondanám olyan hú de jónak a NuSOAP-ot sem, legalábbis amikor én használtam, akkor valami botrányosan gyér volt a dokumentációja, a kódját kellett böngésznem és értelmeznem ahhoz, hogy rájöjjek néhány komplexebb dolog működésére (meg a kódban látható kommenteket olvasgattam), mondjuk volt ott mindenféle típus, egy C#-os kliensalkalmazásnak akartam szolgáltatni adatokat PHP-alapú WSDL-generálással (szóval az Apache-webszerver PHP-val volt a SOAP-szerver is). Ez úgy másfél-két éve volt, hogy azóta milyen a doksi, meg egyebek, fogalmam sincs."Főleg, hogy sokan visítanak, ha több hsz-t ír valaki. Holott az lenne a normális, amikor külön vannak az adott hsz-re való reagálások."
Pontosan. Engem is cseszegetett már modi emiatt, de engem nem érdekel, nem fogom ezért egybehányni a több embernek szánt hsz.-eket. Volt erről beszélgetés a házigazdák által is követett "Javítsuk a Prohardvert!"-topicban is, ott is kifejtettem az álláspontomat, többek közt azt, hogy az alapelvek pont azt mondják ki, hogy:
"Ha 5 percen belül eszedbe jut még valami a hozzászólásod után, akkor használd a (Szerkesztés) gombot, ezzel szerkeszteni tudod az aktuális hozzászólásodat.
Egy hozzászólásra mindig a Válasz linkkel írj, hogy mindenki láthassa mire és kinek válaszoltál. Ha 1-2 szavas választ szeretnél adni több hozzászólásra is, akkor próbáld meg egy hozzászólásba összegyűjteni a mondanivalódat."
Kiemelés tőlem, ebből látható, hogy a moderátorok önkényesen sokszor az alapelvekkel ellentétesen cseszegetik a júzereket.Mivel ebből az következik, hogy az alapelvek szerint is az a követendő, hogy látható legyen minden hsz.-nél pontosan annak előzménye, és csak abban az esetben kell egyetlen hsz.-be sűríteni, amit írsz, amennyiben az csupán 1-2 szavas válasz.
Szóval nyugodtan írhatunk külön-külön mindenkinek az alapelvek szerint, őstag rang fölött pedig ugyan ne akarjon már senki se vádolni bárkit, hogy hsz.-eket akar gyűjteni.
Remélem, ezt egy moderátor is olvassa. -
Sk8erPeter
nagyúr
válasz
Speeedfire #14389 üzenetére
"Ez jó tudni, én úgy értelmeztem a php oldaláról, hogy ez opcionális. Vagy a $client->__soapcall('funkcio_neve') vagy $client->funkcio()."
Ezt írja:
http://www.php.net/manual/en/soapclient.soapcall.php
"Usually, in WSDL mode, SOAP functions can be called as methods of the SoapClient object. This method is useful in non-WSDL mode when soapaction is unknown, uri differs from the default or when sending and/or receiving SOAP Headers."
Ez alátámasztja, amit fordfairlane írt.
Amúgy exceptionök dobálását érdemes engedélyezni (konstruktorban), és persze elkapni és kezelni, meg naplózni/fejlesztés során akár kiíratni is.
Én eddig a NuSOAP-ot használtam, szóval erről csak a doksiból tudok nyilatkozni. -
Sk8erPeter
nagyúr
válasz
Speeedfire #14385 üzenetére
Hát nem látjuk a generált XML-doksit, de valszeg nem parse-olható, mert mondjuk rosszul strukturált, vagy UTF-8 fájl BOM-mal az elején, vagy valami hasonló para. Legalábbis ennyi alapján.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #14376 üzenetére
"Valami miatt nem megy a htaccess"
Ez saját szerver?
Mert akkor át tudod állítani, gondolom azért nem megy, mert az AllowOverride None-ra van állítva:
http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride"When this directive is set to None, then .htaccess files are completely ignored. In this case, the server will not even attempt to read .htaccess files in the filesystem."
-
Sk8erPeter
nagyúr
"XML-ben kapom vissza a választ"
DOMDocument
http://php.net/manual/en/class.domdocument.php"Represents an entire HTML or XML document; serves as the root of the document tree."
SimpleXML
http://php.net/manual/en/book.simplexml.phpSzerk.:
Ja, hoppá, most látom, hogy az előttem belinkelt ibm.com-os cikkben pont ezeket tárgyalják ki elég jól.(#14378) Petyyyyy
A körforma eleve elég problémás. Szerintem ezt csak valami egymás fölé való helyezős trükközéssel lehetne megoldani, most hirtelen nem tudom, hogyan, vagy pedig valami JavaScript-library segítségével.
Javaslom, kérdezd meg a Weblapkészítés topicban is, hátha tudnak rá mondani valamit, főleg, hogy ez már nagyon nem PHP-s témakör. Habár az is igaz, hogy lehet, hogy PHP-ban is van megoldás rá.
Esetleg ha tudsz angolul, még Stack Overflow-n is megkérdezhetnéd, belinkelve az eddigi megoldást, ott egész biztosan tudnak mondani valami frankót. -
Sk8erPeter
nagyúr
válasz
Speeedfire #14373 üzenetére
Elvileg ennyi beállítani Apache-ban az alapértelmezett karakterkészletet UTF-8-ra (httpd.conf):
AddDefaultCharset utf-8
.htaccess fájlba berakva is működik (lásd "Context: server config, virtual host, directory, .htaccess")
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #14365 üzenetére
+ (#14363) trisztan94 :
úgy vélem, gonoszak vagytok.(#14369) mobal :
és minek, vagy ha már így van, minek a vessző a végére? -
Sk8erPeter
nagyúr
válasz
Lacces #14359 üzenetére
Hát akkor valamit nagyon félreértesz a webszerverhez érkező kérések kiszolgálásában, meg abban, hogy a SAJÁT WEBALKALMAZÁSOD milyen kimenetet generál...
A saját webalkalmazásod olyan kimenetet generál, amilyet mondasz neki, hogy generáljon (meg nyilván amire képes). Elvárnád a webszerveredtől (!), hogy a kiszolgálás során, még a kliensnek való elküldés előtt parse-olja az egész HTML-kimenetet, vizsgálja meg, szerepel-e benne olyan URL, amit te át szeretnél írni, majd szépen az összes ilyet írja felül, és csak utána adja oda a kliensnek a HTML-kimenetet?
Hát ez így elég vad lenne, és főleg totálisan értelmetlen, amikor a HTML-kimenetedet NEKED kell módosítanod, generálnod úgy, hogy az úgy nézzen ki, ahogy akarod.
A RewriteRule szerepe elég "egyszerű": kliens szól, hogy szeretné az ezen az URL-en lévő tartalmat megkapni, a webszervered pedig ezt a kérést megkapja, eldönti, mit kell ezzel az URL-lel csinálni, mindezt az alapértelmezett webszerver-beállítások vagy a .htaccess/web.config/egyéb felülbírálások alapján, és ha olyan URL-t talál, amit át kell írni, akkor átírja arra, és kiszolgálja az ott lévő tartalmat. Így fordulhat elő az, hogy megadhatsz egy olyan URL-t, ami "mögött" ténylegesen, fizikailag nincs fájl, de a webszervered elintézi, hogy a kérésed végül ráfusson egy fájlra, amiben pedig eldöntöd, hogy ettől függően milyen tartalmat szolgálsz ki.Így működik a Prohardver fóruma is: pl. a
http://prohardver.hu/tema/php_kerdesek_2/hsz_14201-14400.html
cím mögött nyilván nincs fájl, hanem a webszerver "futtatja rá" valamilyen fizikailag is létező fájlra ezt a kérést, például a háttérben lesz valami ilyesmi (fogalmam sincs az igazi megvalósításról, úgyhogy csak példa):
http://prohardver.hu/index.php?q=tema/php_kerdesek_2/hsz_14201-14400.html
VAGY
http://prohardver.hu/index.php?q=tema&topic_name=php_kerdesek_2&from=14201&to=14400
VAGY
...............
(számtalan példa lehetne még)
aztán ennek feldolgozása szerveroldali kóddal...
Remélem, így már tisztább."Erre kaphatnék egy példát? Ezt hogyan lehetne másképp átírni?"
Nem Te készíted az adott oldalt, amit kiszolgálsz?Csak mert erről sem írtál semmit...
Amire gondoltam:
van egy linked, például:
<a href="web/oldal1.php">asd</a>
szépen átírod a kódodban kis kezeddel úgy, hogy helyette inkább ezt generálja:
<a href="oldal1.php">asd</a>
... vágod... -
Sk8erPeter
nagyúr
válasz
Lacces #14357 üzenetére
"De ha a basic-2/index.php-ban van egy link, ami az oldal1-re mutat, rá kattintok, és akkor már ez jön elő a címsorba:
localhost/basic-2/web/oldal1.php
"Ha a link valóban a localhost/basic-2/web/oldal1.php címre mutat, akkor mégis minek kéne előjönnie a böngésző címsorában?
Miért nem írod át a linkek href attribútumában megjelenő URL-t? Aztán ha a megfelelő címre mutató átírás RewriteRule-lal helyesen működik, akkor nincsen gond...
Igazából ezért nem értem a problémát.A RewriteRule nem arra való, hogy az általad generált akármilyen HTML-kimenetnek a linkjeit egyenként átvizsgálja, és azokat is szépen átírja, érdekes is lenne...
"Jólvan, a képet nem jelenít meg"
Ne szórakozzá' mármég jó, hogy nem jeleníti meg innen, mivel itt egy komplett oldalnak a linkjét raktad be az <img> tag src-jébe, ahelyett, hogy a képre jobb klikkeltél volna, és "Open image in new tab" (böngészőfüggően hasonló a szöveg), aztán EZT linkelted volna be, és még működött is volna...
Amúgy vágod, van a Prohardvernek is képfeltöltője.Bár tény, hogy nem túl kényelmes, például a SnagItnek - ami egy igen jó kis screenshot- és videókészítő progi - is az Imgurhoz van pluginje, ami egyből felküldi oda, böngészőben való szarakodás nélkül.
-
Sk8erPeter
nagyúr
válasz
Lacces #14350 üzenetére
"A basic-2 mappában van a .htaccess"
Akkor viszont nem tudom, mi a gondod, mert most kipróbáltam Apache-on, és jól működik, amit írtam
Most erre létrehoztam egy könyvtárstruktúrát, így:...
basic-2/
|- web
|- index.php
|- .htaccess
|- z_index.php
...A basic-2 könyvtárban direkt z_index.php fájl van, így nem is tud ráfutni ottani kezdőlapra (bár kiíratható lenne, hol vagyok épp).
A basic-2/.htaccess fájlban mindössze ez szerepel:
RewriteEngine on
RewriteRule ^$ web/index.php?r=site/login [L]a web/index.php fájlban pedig kiírom, hogy "web", meg egy blabladumát, aztán egy var_export()-tal kiírom a $_GET tömb értékét, és kész, és itt egy screenshot az eredményről:
Ez alapján ez pont az az eredmény, amit Te szeretnél.
Egyébként itt elég következetlenül írtad, mert egyszer úgy tűnik, csak cím-átírásról, egyszer pedig átirányításról beszélsz, a kettő pedig nem ugyanaz.
"Bár itt igazság szerint azt sem értem, hogy miért a (I)web(/I) és nem a (I)/web(/I) működik."
Mit nem értesz rajta?A basic-2 könyvtárban vagy, amiben van egy web alkönyvtárad.
A RewriteRule ^$ web [L] viszont nem fogja neked beírni a címbe a kívánt query stringet..."Ha ezt írom be: http://localhost/basic-2/
Akkor ez legyen a böngészőben: (I)http://localhost/basic-2/index.php?r=site/login"
Na várjunk.
Akkor tehát azt akarod, hogy ha valaki beírja a basic-2 címet, akkor kerüljön átirányításra a basic-2/index.php?r=site/login címre, ami viszont átíródik a basic-2/web/index.php?r=site/login címre?
Picit egyértelműbben plíz. -
Sk8erPeter
nagyúr
válasz
dragon1993 #14339 üzenetére
Nem tudom megérteni, miért jó neked, hogy megsokszorozod a futási időt, de nekem mindegy. Csak belegondolhatnál, mit kezdenél ennél jóval nagyobb adatmennyiségnél, akkor lehet, hogy már elkezdenél a futási idők faragásán gondolkozni...
De amúgy is rossz megközelítés eleve gányolva programozni. Jobb eleve a legrosszabb esetre felkészülni, és még akkor is elcseszheted, de legalább csökkented az elcseszhetőség mértékét.
"Több oldal tagban van több url tag 1-el nehéz mindenen végig menni."
Miért is? Ha jól értem a problémádat: rekurzióról hallottál már? Igen, az beágyazott ciklus lesz, de nem kell teljesen elölről kezdened újból, ráadásul az érvelésedet nem egészen értem így magyarázatként. -
Sk8erPeter
nagyúr
válasz
Lacces #14291 üzenetére
Most nem tudom kipróbálni, úgyhogy csak fejből írom, de az alábbiakat tesztelhetnéd:
ha a localhost fő document rootjába akarod tenni a .htaccess-t, akkor abba:
RewriteEngine on
RewriteRule ^basic-2/$ basic-2/web/index.php?r=site/login [L]
## ezután jöhet a többi RewriteRule!!VAGY ha magába a basic-2 könyvtárba rakod a .htaccess-t, akkor esetleg ez:
RewriteEngine on
RewriteRule ^$ web/index.php?r=site/login [L]Aztán persze lehet, hogy ez így nem jó, most csak gyorsan bepötyörésztem, egy próbát megér, ja, és természetesen legyen bekapcsolva a mod_rewrite modul az Apache-ban!
Új hozzászólás Aktív témák
Hirdetés
- Újszerű 17.3" FHD (1920x1080) IPS 40pin 144Hz matt LED kijelző. AUO B173HAN04.9
- Lenovo kezdő laptop (i3 6th, 500 GB, 4 GB) reklámáron! AkciÓÓ!
- Monitor audio RSW-12 sub eladó
- Monitor Audio silver rx6 eladó.
- AKCIÓ - INGYEN POSTA - ÚJ GAMER PC - i5-12400F - RTX 5060 - 16GB RAM -1TB SSD - www.olcsogamerpc.hu
- Samsung Galaxy A23 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5060 8GB GAMER PC termékbeszámítással
- AKCIÓ! AMD Ryzen 7 3800X 8mag 16szál processzor garanciával hibátlan működéssel
- BESZÁMÍTÁS! MSI B460M i5 10400F 16GB DDR4 512GB SSD RX 6650XT 8GB Cooler Master MB600L Chieftec 600W
- LG 34GS95UE - 34" Ívelt OLED / QHD 2K / 240Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest