- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Brogyi: CTEK akkumulátor töltő és másolatai
- MasterDeeJay: H110-es lapban 10.gen Comet Lake működhet?
- eBay-es kütyük kis pénzért
- Parci: Milyen mosógépet vegyek?
- Mr. Y: Motoros sztorik #06
- Elektromos rásegítésű kerékpárok
Új hozzászólás Aktív témák
-
válasz
Sk8erPeter #13499 üzenetére
Igazándiból ez pont olyan feladat szerintem, ahol a CMS-ek valódi előnyeit csak nagyon minimálisan lehet kihasználni a projekt teljes méretéhez képest. A foglaló rendszer csak egy dolog (az nyilván önálló modul), de ugye ott van a fb. integráció, reszponzív dizájn, mobilos skin, stb. Ezeket úgyis le kell gyártani egyedileg, a foglaló rendszert, a fb. integrációt is. Marad a szöveges tartalomkezelés, és az ügyfélmenedzsment, mint előre beépített elem. Ez a kódbázis viszont már a legtöbb programozónak egyébként is a birtokában van saját fejlesztésként.
Összegezve: persze lehet CMS-t használni a feladatra, de szerintem nem gyorsítja meg látványosan a projekt kivitelezését. És ugye ott vannak a hátrányok is, mint a nagyobb erőforrásigény, és a biztonsági kérdések, csak hogy a legelcsépeltebbeket említsem.
-
Sk8erPeter
nagyúr
"egy ilyen feladat megoldására, mint ami a példa is volt ennél is saját modulokat kell írnod, ami nem teszi épp átláthatóvá a rendszert"
Hogy mi van?Nem értem az érvet: nem mindegy, hogy a saját rendszeredben írod meg akárhogyan, vagy egy modult készítesz a feladatra?
(És akkor ez egy "erre a feladatra írt motor" lesz...) Egyébként pont Te magad mondtad most, hogy nincs se rövid, se hosszú távú modulfejlesztési és -felhasználási tapasztalatod Drupallal (és gondolom ugyanígy Athlon64+-nak sincs, de ő szeret amúgy is szélsőségesen nyilatkozni), tehát akkor így nehéz vitába szállni, ha úgy írsz le valamit, hogy még sosem volt vele dolgod.
Modulok szűrésére is van mód. Igen, éles rendszernél sok modulod lesz: épp ezért moduláris a rendszer, ami nem kell, azt ki tudod kapcsolni. Ergo az sem kér erőforrást.
Igen, a Drupal egyébként nem egy két perc alatt megtanulható valami. De nem is csak egy blogolásra kitalált valami. -
Coyot
őstag
válasz
Sk8erPeter #13497 üzenetére
Szerintem itt nem az én általam írt(amúgy az is MVC alapú csak én azt máshogy értelmezem, de ez az én dolgom
), hanem arról van szó (szerintem) hogy ilyen feladatra jobb megoldás egy erre a feladatra írt motort használni.
Amúgy pont a napokban kezdtem bele a drupalba, 7.15 ha jól rémlik, de az az admin bar amit oda kirakott, hát elsőre látszik hogy a fejlesztőknek van készítve és nem a végfelhasználónak. Kedves ismerősöm kért meg mert nem sikerült neki kiigazodnia a rendszerben. Nekem amúgy tetszett, de egy ilyen feladat megoldására, mint ami a példa is volt ennél is saját modulokat kell írnod, ami nem teszi épp átláthatóvá a rendszert. Főleg hogy alapban is annyi modul van felrakva, hogy fél órát görgőzöl mire megtalálod amit keresel.
Ismétlem ez nem gond, sőt jó, csak szerintem nem a felhasználóknak van készítve.
-
Sk8erPeter
nagyúr
* sigh * De jó lenne már végre valami értelmesen alátámasztott érvet is olvasni, nem csak a berögzött klisészerű hülyeségeket. Legalább olyat, amiből az derül ki, hogy az illetőnek volt dolga már ilyennel.
Egészen evidens, hogy egy saját rendszert te formálgatsz, buzerálod, írogatod, szép lassan egyre nagyobbra nő, rájössz, hogy na, most már valami frameworkszerű működést kellene kialakítani, bizonyos keretek közé szorítani, MVC-szerű működést kreálni, lám, egy pár év b@szkurálás után felfedezed a spanyolviaszt, létrehozol valami olyasmit, amit mások már megcsináltak helyetted, csak valószínűleg sokkal jobban. Most a lényeg szempontjából teljesen mindegy, hogy egyelőre egy nagyobb szabadságot adó keretrendszerről vagy egy valamelyest kötöttebb CMS-ről beszélünk. Tök jó, hogy kreáltál egy saját rendszert, de aztán mindenféle plusz módosítás plusz macerát igényel, és nincs egy igen nagy közösség mögötte, akik javítják a hülyeségeidet. Tehát nem vitás, hogy saját rendszert úgy formázol, úgy tákolsz vele, ahogy csak akarsz. De nehogy már a bizonyos szabályok betartását megkövetelő rendszereket azért ne használjuk, mert akkor nekünk márpedig alkalmazkodni kell, vagy külső dokumentációt olvasni. Valóban tragédia.
Igen, előnye is van, más nem lát bele a kódodba. Igen, pontosan tudod, hogyan fejlesztetted, a legapróbb részletekig ismered. Kérdés, megtérül-e az a jópár év befektetés, amíg igazán stabillá alakítod a saját rendszeredet.Na, de még vakerászhatunk oldalakat a szokásos klisékről, de a baj az, hogy a konkrét feladatra egyikőtök sem támasztotta alá normálisan, miért is ne lenne alkalmas egy igényesen létrehozott, pont a foglalás célját betöltő modul. Lehet, hogy ismernetek kellene a kritizált rendszert, és nem csak orrfennhordós módon hozzáállni mindenhez, amit nem ti hoztatok létre.
-
Coyot
őstag
válasz
Sk8erPeter #13495 üzenetére
Pedig az állítás 100%-osan igaz volt. Akkor is ha Drupal szerető vagy.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #13494 üzenetére
A szokásos jól alátámasztott, rendkívül meggyőző érv.
-
Peter Kiss
őstag
válasz
Sk8erPeter #13493 üzenetére
Egy CMS olyan rugalmas, mint az öntött vas egy saját fejlesztéshez képest.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #13492 üzenetére
"Egy belvárosi ~40 szobás panzió számára" miért is nem lehetne megfelelő?
Feltételezem, nem óriási forgalomnak lenne kitéve. Nagy forgalomnál valami nagyon minimál CMS lehet a megfelelő, hogy optimalizálni lehessen, és ne legyen a CMS által kínált sallangokkal annyira terhelve.
Persze az is kérdés, pusztán előítéletből nyilatkozol, vagy használtál is már valami normális CMS-t, igényesen megírt modulokkal. -
Peter Kiss
őstag
válasz
Sk8erPeter #13491 üzenetére
Ehhez nem CMS kell, az a baj.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #13489 üzenetére
Azért egy CMS esetén talán ennél olcsóbban is ki lehet hozni, vannak foglalós modulok, meg reszponzív sminkek, meg mobilra optimalizáltak is; bár igaz, nyilván van egy alapára, de pontos igénytől, specifikációtól függ sztem, valóban 2 misi lesz-e a vége...
De végül is simán el lehet menni odáig is.Erről most az jutott eszembe, hogy egyszer egy volt főnökömhöz jött valaki, de épp nem volt ott, így addig is velünk beszélte meg, mit szeretne, mondta, hogy árajánlatot szeretne kérni egy ingatlan.com-hoz hasonló oldalra. Lehessen ugyanúgy szépen szűkíteni és rendezni a keresést, legyenek szép galériák, térképbeágyazás, lájkgombok, bejelentkezés, regisztráció, mindenféle adat nyilvántartása, ehhez tartozó komplex admin-felület, lájk-gombok, apjaf@sza. Aztán a legvégén hozzátette, hogy nagyon reméli, hogy mi itt megoldjuk neki úgy 35 ezer Ft környékén, de max. 40-et szánna rá.
Hát nem bírtuk ki röhögés nélkül. Pont ilyen árakon vesztegetik az ilyen oldalakat...
-
DeltaPower
addikt
válasz
Peter Kiss #13489 üzenetére
Minimum 2.
-
PonPon
senior tag
Sziasztok! Vállal közületek valaki honlap készítést?
Egy belvárosi ~40 szobás panzió számára kellene elkészíteni a netes tartalmakat. Foglalási rendszer, google optimalizáció, facebook integráció, mobil optimalizáció...reszponzív design.
Valamiféle CMS rendszerre gondoltunk, talán wordpress...Ha valaki foglakozik ilyesmivel, esetleg tud ajánlani valakit az megköszönném
-
#68216320
törölt tag
válasz
Tele von Zsinór #13471 üzenetére
Php.exe-t futtatva hiányzik neki a php_mbstring.dll, pedig az ext könyvtárban ott van.
-
Zedz
addikt
Sziasztok!
Ezzel szeretném annak a gépnek az IP címét megkapni, amivel küldtek egy formot: $_SERVER['REMOTE_ADDR'];
Viszont csak ennyit kap az adatbázis (kiírattam echo-val is, arra is ez jött ki), hogy ::1.
Mi lehet a baja? -
Tele von Zsinór
őstag
válasz
Speeedfire #13480 üzenetére
Ez mondjuk fura, nekem csak induláskor ette, amíg beindexelt mindent.
Én kb. decemberben átálltam a phpstorm-ra, ez fizetős, de elég sűrűn jön EAP build (ez kb. ahogy épp áll a verziókövetőben a kód), ami jól használható, és harmincnapos kulcs jár hozzá.
Sk8erPeter: én csak azzal találkoztam, hogy próbáltam kapcsolódni valahova, és nem volt telnet.exe. Nem jártam utána, megoldottam putty-al.
-
Speeedfire
félisten
válasz
Sk8erPeter #13479 üzenetére
Nem csak a memória vele a gond, mert az még csak-csak 400MB ram..viszont folyamatosan használja a hdd-t, ha nem dolgozok vele akkor is.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #13474 üzenetére
NetBeans memóriaigényét is tudod korlátozni:
http://stackoverflow.com/questions/1557883/how-to-reduce-netbeans-memory-usage -
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #13476 üzenetére
Nem szedték ki.
http://social.technet.microsoft.com/wiki/contents/articles/910.how-to-enable-telnet-client-in-windows-7.aspx
Nálam nincs engedélyezve, de lehetne: -
Soak
veterán
válasz
Speeedfire #13474 üzenetére
Eclipse, bar ez is szeret terpeszkedni de tudod kobfigolnni ha alapbol sokat eszik.
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #13475 üzenetére
Nem használtam még win7-et, de tudom, hogy a telnetet pl. kiszedték, innentől bármit kinézek belőlük
Igen, a wgetes azért, hogy nem feltétlen kell proxy script. Eredeti megoldásom nekem is a php.exe [útvonal] volt.
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #13471 üzenetére
Nyilván van Task Scheduler Windows 7 alatt is (és feljebb is lesz), miért szedték volna már ki?
"Így futó webszerverre sem lesz szükséged."
Ez így oké, de később azt írod, wget http://localhost/foobar.php-vel kéne ütemezni; most lehet, hogy félreértem, amit írsz, de ez hogy működne futó webszerver nélkül?
Vagy azt ettől függetlenül írtad, hogy arra rávilágítva, hogy nem feltétlenül kell proxy script? -
Speeedfire
félisten
Windows környezetre hasonló tudású lehetőleg ingyenes IDE mint a netbeans? Megzabálja a laposomat a netbeans és valami kevésé erőforrásigényest keresnék php, html és js fejlesztésre.
-
Tele von Zsinór
őstag
válasz
Peter Kiss #13472 üzenetére
Ez így nem igaz, mert mondjuk elég a wget http://localhost/foobar.php parancs (nyilván a wget path alá másolása után).
Ütemezésre szánt scriptet pedig érdemes úgy megírni, hogy véletlen se kelljen szerveren keresztül futtatni.
-
Peter Kiss
őstag
válasz
Tele von Zsinór #13471 üzenetére
Ha a kódnak erős függése van raa, hogy webszerveren fusson, akkor nem fog működni alapból. Kell egy proxy script, ami pl. cURL-lel meghívja az adott URL-t, és ebben az esetben ezt kell futtatni a megadott módon.
-
Tele von Zsinór
őstag
válasz
#68216320 #13470 üzenetére
XP alatt biztosan volt lehetőség ütemezett feladatok futtatására, szerintem 7-ben is ott kéne ennek lenni. Létrehozol egy ilyet, és a futtatandó parancsként megadod a php.exe-t, paraméterben átadva a php script teljes elérési útvonalát. Így futó webszerverre sem lesz szükséged.
-
#68216320
törölt tag
Üdv Urak. Win7 alatt szükségem volna rá, hogy egy localhost-on lévő weboldalt lefuttassak kb. 5 percenként. A nyitok egy böngészőt és refresh-elem technikánál volna valami elegánsabb. Esetleg háttérben futtatni a php-t? Ugyanis nem kell semmit küldeni a böngészőnek, csupán log és hiba esetén e-mail menne.
-
Blue@X
senior tag
válasz
Sk8erPeter #13468 üzenetére
Okés, köszönöm szépen a segítséget mindnyájatoknak
-
Blue@X
senior tag
válasz
Sk8erPeter #13463 üzenetére
A formomban post metódust adtam meg, ez alapján hogy tudom lekérni az átirányított php oldalon az előző oldalon megadott combobox értéket?
-
Sk8erPeter
nagyúr
válasz
Blue@X #13462 üzenetére
Attól függ, az adott űrlapnál neked GET- vagy POST-metódusra van szükséged, mindkettővel átmegy az adat... a szervered meg egyébként csak megkapja az adatokat, a kliensed "viszi át", de inkább küldi el a szervernek a megfelelő adatokat a megfelelő metódussal a HTTP-protokoll használatával. Tehát inkább az a kérdés, hogy a szervered hogyan kapja meg az adatokat, és az melyik tömbből elérhető: ha GET-metódust használsz a formnál, akkor a $_GET tömbből, ha POST-metódust használsz, akkor a $_POST tömbből. A $_SESSION-nek itt még ebben nincs szerepe, az más tészta (pl. adott munkamenet erejéig tárolni akarsz valamilyen adatokat a kliensről).
-
Blue@X
senior tag
Sziasztok,
Az alábbi dolgot akarom megoldani, régebben megoldottam de mára már elfelejtettem, így a ti segítségeteket kérném:
Egyik php oldalról szeretném átvinni a másikra egy combobox kiválasztott opcióját, mely alapján akarok sql-ből lekérdezni. A kérdés, hogy tudom átvinni a submit gomb megnyomásával ezt az értéket? session_start(); megcsinálva... Rémlik régebbről valami hogy az url címben vittük talán (.php után, talán form-al?) de egyszerűen nem ugrik be... Vagy valamilyen módon a $_GET-el kell? Vagy hogy tudnám menteni $_SESSION-el? Köszönet a zavaros leírásom után annak aki válaszol
-
Speeedfire
félisten
válasz
Sk8erPeter #13453 üzenetére
Nem is kell!
Egyszerűen próbálok alkalmazkodni az oracle-höz, mert amúgy nagyon jó db szerintem, több 100 milliós rekordokhoz. -
DNReNTi
őstag
válasz
spammer #13459 üzenetére
Megteszteltem oda-vissza, nem találtam benne hibát, ha esetleg mégis bakizik, dobj egy privátot és kijavítom, el is mentettem a saját kis függvénytáramba. Hátha egyszer nekem is kell.
Még annyit lehet célszerű módosítani hogy a $difference is felkerülne paraméternek, így az is megadható a függvény meghívásakor.. részletkérdés.
Használd egészséggel -
DNReNTi
őstag
válasz
spammer #13456 üzenetére
Sajnos már nem tudom szerkeszteni amit írtam... megcsináltam függvénynek és kicsit tuningoltam rajta, így még jobb és könnyebb használni:
function cutText($text, $needle) {
$result = '';
$difference = 100;
$needle_length = strlen($needle);
$needle_position = stripos($text, $needle);
if ($needle_position){
$text_tmp = substr($text, 0, $needle_position);
if (strlen($text_tmp) > $difference) {
$text_tmp = substr($text_tmp, -$difference);
$space_position = strpos($text_tmp, ' ');
$text_tmp = '...' . substr($text_tmp, $space_position+1);
}
$result = $text_tmp;
$text_tmp = substr($text, $needle_position, ($needle_position+$needle_length+$difference));
if (strlen($text_tmp) > $difference) {
$space_position = strpos($text_tmp, ' ', $difference);
$text_tmp = substr($text_tmp, 0, $space_position) . '...';
}
$result = $result . $text_tmp;
} else {
$result = 'A keresés nem hozott eredményt!';
}
return $result;
}Használata egyszerűen csak:
echo cutText($text, $needle); -
DNReNTi
őstag
válasz
spammer #13456 üzenetére
Hali,
Ezt most gyorsan összedobtam, lehet kókány és egyszerűbben is menne, de az első találatra kitűnően működik:
$text = 'az összes szöveg.';
$needle = 'keresőszó';
$result = '';
$difference = 100;
$needle_length = strlen($needle);
$needle_position = stripos($text, $needle);
$text_tmp = substr($text, 0, $needle_position);
$text_tmp = substr($text_tmp, -$difference);
$space_position = strpos($text_tmp, ' ');
$text_tmp = substr($text_tmp, $space_position+1);
$result = $text_tmp;
$text_tmp = substr($text, $needle_position, ($needle_position+$needle_length+$difference));
$space_position = strpos($text_tmp, ' ', $difference);
$text_tmp = substr($text_tmp, 0, $space_position);
$result = '...' . $result . $text_tmp . '...';
echo $result;update:
a keresőszó helyének meghatározásakor az stripos($text, $needle); megoldjá jobb mert így nem case-sensitive. -
spammer
veterán
Hogyan tudnék egy keresés után úgy listázni eredményeket, hogy a megtalált kulcsszót tartalmazó bekezdést mutassa, és többit ne. Vagy a megtalált kulcsszót és az előtte és utána lévő X karaktert, de úgy, hogy ne vágja szét a szavakat. Nem találok normálisan működőt
Ez nem jó, mert szétvágja a szavakat:
$sp = strpos($needle,$text);
$t = substr($text,$sp-200,(200+strlen($needle)));Ez sem, mert ez nem a kulcsszóra pozicionál, hanem simán csak mutatja a legelső bekezdést, holott a kulcsszó lehet, hogy az 5. bekezdésben szerepel:
$t = strip_tags(stripslashes($text)); // convert to plaintext
$match = substr($t, 0, strpos(wordwrap($t, 200), "\n"));Értelemszerűen a $text amit adatbázisból olvasok ki, $needle meg a kulcsszó.
Próbáltam a fenti kettőt kombinálni, de nem jött össze.
-
sztanozs
veterán
válasz
Peter Kiss #13447 üzenetére
Csak, hogy a topicból idézzek
-
Sk8erPeter
nagyúr
válasz
Speeedfire #13452 üzenetére
Hát most ebben a kérdésben nem tudok igazságot tenni.
-
Speeedfire
félisten
válasz
Sk8erPeter #13434 üzenetére
De ha nincs meg hozzá minden támogatás?
pl tök jó dolog a varchar2, akármekkora lehet és a mérete is dinamikus. De a php honnan tudja, hogy most le kell-e foglalni kiolvasáskor az egészet a memóriában vagy sem? Tudom hülye példa, de zavaró.Oci alatt, minden f*sza, de pl ha pdo-t akarok használni akkor már gázos.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #13450 üzenetére
De nem értem, ez most javaslat akart lenni, hogy használja azt?
Mert akkor tényleg nem értem még mindig, miért lenne az neki jó... -
Peter Kiss
őstag
válasz
Sk8erPeter #13449 üzenetére
Ha furcsállná, miért az van bent, ami.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #13447 üzenetére
Itt miért kéne már htmlentities()?
-
Peter Kiss
őstag
válasz
spammer #13446 üzenetére
1. Értelmetlen. Használj prepared statement-eket!
2. htmlentities -
DNReNTi
őstag
válasz
spammer #13444 üzenetére
Persze hogy van értelme. Az űrlapon bevitt adatokat mindenképp célszerű az escape_string() metóduson átengedni mielőtt betolod az adatbázisba, elkerülendő a mysql injection-t.
A másik dolog is teljesen normális. Sőt ilyenkor célszerű közös css-t használni az editorban (TinyMCE) és a megjelenítéskor, hiszen nem csak tartalomra hanem kinézetre is pontosan ugyan azt kapja majd vissza az user amit megszerkesztett. -
spammer
veterán
válasz
fordfairlane #13443 üzenetére
Köszi, msqli-t próbálgatom most, de kezdő vagyok, meg nem is lesz szükség semmi nagy vagy bonyolult adatbázisra.
Ennek így van értelme?
$text = $db->escape_string($_POST['text']);
Form adatokat ad át, és a text mező (ami egy textfield) html kóddal formázható (TinyMCE pluginnel). Viszont ha megnézem adatbázisban (phpmyadmin), simán úgy látom, ahogy a form elküldi. Például:
<p><a href="valami.com">valami.com</a> "html próba".</p>
Ez így?
-
spammer
veterán
Ha már úgyis szó van itt a mysqli-ről. Megnéztem a tárhelyszolgáltatónál, ezt írja a az infó:
MysqlI Support
Client API library version 5.5.24Tehát nyugodtan használhatok mysqli-t, ugye? Az a helyzet, hogy össze akarok dobni egy kisebb DB-t majd a weblaphoz, úgyis kellene mysql-lel foglalkoznom, de akkor jobb, ha a mysqli tutorialokat keresek egyből, ugye?
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #13440 üzenetére
Akkor másképpen fogalmazok: kezdő ne akarjon adatbázis-wrappert csinálni, mert csak egy katyvasz lesz belőle.
Meg amúgy is Dunát lehet rekeszteni az ilyenekkel.
-
Peter Kiss
őstag
válasz
pvt.peter #13428 üzenetére
Semennyire. A csatlakozáshoz szükséges adatok tárolói mind private-ok, hol lehet őket beállítani? Konstruktorban csatlakozik a szerverhez (miért is?), de be lehet zárni menet közben a kódban, így a későbbi részek meg is haltak, ha használni akarják. Állapotot tartalmazó cuccok nem lehetnek static változóban sosem. Ennél durvább már csak az lehetne, ha ehhez hasonló kóddal perzisztens kapcsolatokat használna valaki.
Ha jól emlékszem, a mysql nem is tud SQL tranzakciókat kezelni.
@Sk8erPeter
Van értelme wrapper-t csinálni, mert a mysqli és a PDO még nem az, illetve mind a kettő ocsmányul néz ki, plusz sosem tudhatod, mikor mondják azt, hogy PDO nincs, csak mysqli, akkor cserélhetsz mindenhol mindent, emellett meg tudja könnyíteni a tranzakciókezelést, be tudsz szúrni pl. PDO driver-specifikus beállításokat, ilyesmi.
-
Jim-Y
veterán
válasz
Tele von Zsinór #13436 üzenetére
hiányzott egy package:
sudo apt-get install php5-mysql
ezután megjavult
köszi
Egyébként sajnos az nem sokat mondott, hogy kapcsold be a modult, ha az egyszerű ember azt se tudja, hogy azt hogyan kell
-
Jim-Y
veterán
Sziasztok. Nem megy debian alatt a PHP rendesen. Nézem az apache logot:
Először:
PHP Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in /var/www/woowie/php/server.php:10\nStack trace:\n#0 /var/www/woowie/php/server.php(10): PDO->__construct('mysql:host=loca...', 'root', 'root', Array)\n#1 {main}\n thrown in /var/www/woowie/php/server.php on line 10, referer: http://localhost/woowie/Ekkor ez volt a PDO:
$db = new PDO(
"mysql:host=localhost;dbname=test",
"root",
"root",
array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8;',
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
)
);Majd kicseréltem erre:
$dsn = 'mysql:dbname=testdb;host=localhost';
$user = 'root';
$password = 'root';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}Így ezt a hibaüzit kapom:
[Tue May 14 23:06:55 2013] [error] [client ::1] PHP Notice: Undefined variable: db in /var/www/woowie/php/server.php on line 20, referer: http://localhost/woowie/
[Tue May 14 23:06:55 2013] [error] [client ::1] PHP Fatal error: Call to a member function prepare() on a non-object in /var/www/woowie/php/server.php on line 20, referer: http://localhost/woowie/Ötlet?:/
php5, apache, mysql installálva, újraindítva, config fájlokban nem turkáltam.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #13431 üzenetére
"Hogy fordítva?"
Úgy, hogy nem az Oracle-fejlesztőknek kell ráfeküdniük izomból a PHP-val való együttműködésre, hanem a PHP fejlesztőinek... -
Sk8erPeter
nagyúr
válasz
pvt.peter #13428 üzenetére
Igazából azt pötyögted be, ami kommentekben is megtalálható, túl sok új nincs benne. Ez a query1(), query2() elég mágikus név, mit akarsz vele megvalósítani? Mindenesetre már az elnevezés is rossz. De legfőképp az, hogy fel akarod fedezni a spanyolviaszt: ne akarj n+1-edik adatbázis-kommunikációs wrapper osztályt csinálni, ott a mysqli és a PDO, valamint remek ORM-ek vannak. Írtad, hogy a mysql_ függvények használatára vagy kényszerítve, de ezt az érvet sajnos nem tudjuk elfogadni.
Tehát minimum mysqli vagy PDO, a mysql_ kezdetű függvények használatáról 2013-ban már nincs is értelme beszélni.
Volt már korábban itt egy (v. több) hitvita a topicban, hogy Singleton-minta jó-e vagy sem, a vége az lett, hogy több érv szól a nem mellett (itt olvashatsz róla többek közt: [link], meg persze a topicban, a Singleton szóra rákeresve). -
Andoidtibi
csendes tag
Hát nagyon szépen köszönöm mind kettőtöknek nagyon sokat segítetettek
még most tanulgatom a PHP nyelvet valaki esetleg tudna olyan oldalt ahhol magyarul vannak jó leírások meg gyakorlati feladatok ?
-
Speeedfire
félisten
válasz
Sk8erPeter #13427 üzenetére
Nagyon sok adatot lekérdezni egyszerre oracle-ből pdo-n keresztül.
Nem is néztem azóta, biztos van rá valami, amivel előbb elkapom és nem dob rá error-t, hanem én mondom meg neki. Csak, nem lehet egyszerű a dolog...vagy én nem találom meg.
Nem fordítva kéne, hogy legyen a fejlesztési irány?
Hogy fordítva? -
pvt.peter
őstag
Sziasztok!
Adott az alábbi php kód:
http://pastebin.com/Hy8YGsxMA kérdésem: a fenti kód mennyire jó felépítése egy adatbázis tranzakcióinak a kezelésére, tehát adatlekérésére, módosítására esetleg törlésére.
Mit lehetne rajta javítani, módosítani? (mysqli -vel való kapcsolódás rajtam kívül álló okok miatt kizárva)Választ előre is köszönöm,
Peti -
Sk8erPeter
nagyúr
válasz
Speeedfire #13426 üzenetére
"De ha gondolod próbáld rekonsturktuálni oracle alatt pdo-val ezt a dolgot, mert kíváncsi lennék rá."
Milyen dolgot?Én már az elejére sem emlékszem.
Igazából csak arra lettem volna kíváncsi, rájöttél-e, hogyan bírálhatod felül a Yii erőszakos kivételkezelését, mert úgy tűnt, nem tudod elkapni a keletkező kivételt, mert már előbb kitolja a kimenetre a Yii, ami gáz.
"Egyszerűen az oracle nem akarja támogatni a pdo-t. "
Nem fordítva kéne, hogy legyen a fejlesztési irány? -
Speeedfire
félisten
válasz
Sk8erPeter #13422 üzenetére
Nem is foglalkoztam azóta ezzel az error500-al. Csináltam egy tárolt eljárást oracle-ben, ami az excel-t elmenti egy blob mezőben, onnan meg szépen kistreamelem.
De ha gondolod próbáld rekonsturktuálni oracle alatt pdo-val ezt a dolgot, mert kíváncsi lennék rá.
Szét gugliztam magam, de csak módosított oci8 csomagokat láttam. Egyszerűen az oracle nem akarja támogatni a pdo-t. Használjon mindenki oci-t. -
Soak
veterán
Nem kene erre kitolni egy elso hsz jellegu dolgot hogy ingyen segitseget nem sok ertelme van privatban kerni? Vagy csak engem zavarnak ezek nagyon?
-
shaggy
aktív tag
SOS segítségre lenne szükségem van egy progi php-ben és hozzá egy adatbázis de most valami lelete és amikor beírom a jelszót és felhasználónevet hibát dob ki és nem enged az oldalra a login.php 20 és 21 sora hibás szerinte de szerintem jó nem tudom mi a hiba valaki segítsen.
Privátba írtók elküldm a teljes progit is. -
Sk8erPeter
nagyúr
válasz
Speeedfire #13406 üzenetére
sikerült azóta rájönni, mi a para?
-
Sk8erPeter
nagyúr
válasz
Andoidtibi #13418 üzenetére
Amit most csinálsz:
egy <table> elembe 15-ször kiíratod egy <ul>-be az aktuális elemet.
Ez szintaktikai hiba (meg nem a feladatnak megfelelő): <table> elemen belül ezek lehetnek:
http://www.w3.org/TR/html-markup/table.html.
Tehát <table> után jöhet egy <caption>, <colgroup>, <thead>, <tbody> vagy <tfoot> elem, vagy esetleg egyből a <tr> (táblázat sora), ami pedig <td>-(ke)t (táblázat oszlopa) tartalmazhat.
De <ul> semmiképp sem következhet egyből. Ezenkívül az <ul> elemen belül csak <li> elemek szerepelhetnek.
Itt van egy egyszerű 3 oszlopos, 3 soros táblázat, a felső sor a fejléc:
http://jsfiddle.net/JH48Z/amit Te szeretnél, annak a kimenete így néz ki szintaktikailag helyesen:
http://jsfiddle.net/JH48Z/1/
vagy <tbody> nélkül is jó:
http://jsfiddle.net/JH48Z/2/Na, tehát ennek megfelelően kell kiíratnod, ez az első, amit végig kell gondolnod. Próbáld meg az összes lépést egyesével végiggondolni, akár papírra is leírhatod, ha úgy egyszerűbb (algoritmizálj).
Először ki kell íratni a <table> elemet (majd a végén, a tartalom bepakolása után le kell zárni). Aztán jön a <tr>, most csak egy sort szeretnél, tehát akkor ezt csak egyszer kell kiíratnod, majd ebbe kerül majd a 3 <td>, a <td>-ken belülre pedig az 5-5 listaelem (<ul><li>...</li></ul>). De hülyebiztosra kell elkészítened a kódot, számítani arra, hogy a tömb elemeinek száma változni fog. Pl. működjön úgy is, ha csak 10 elemed van, meg akkor is, ha 632.
Most vegyük azt, hogy mindenképp azt szeretnéd, hogy mindig legyen 3 oszlop, és mindig 5 elemet írjon az adott oszlopba, már ha van annyi (ha már nincs annyi, akkor a maradékot pakolja bele az aktuális cellának aktuális listájába).
Ha tök általánosan akarod megoldani, lesz három ciklusod egymásba ágyazva. Egyikben kiírod a szükséges számú sort (itt most 1, de lehetne jóval több is), a benne lévő ciklusban a szükséges számú cellát (itt 3), az azonbelül lévő ciklusban pedig a listaelemeket íratod ki.
Amire szükséged lesz, a felső egészrész egyszerű kiszámítására vonatkozó függvény: ceil()Egy elég általános megoldás, amit gyorsan bepötyögtem, kipróbáltam, jó:
$elementsArray = array("Egy","Kettő","Három", "Négy" , "Öt" , "Hat" , "Hét" , "Nyolc" , "Kilenc" , "Tíz", "Alma" , "Dió" , "Mák" ,"Körte" , "Cseresznye"
, "asd", 'asd', 'qwe', 'retkljwer', 'xycbm'
);
$nrOfElements = count($elementsArray);
// szükséges listaelemek száma
$nrOfNeededListElements = 5;
// szükséges oszlopok száma
$nrOfNeededColumns = 3;
$nrOfNeededRows = ceil($nrOfElements/($nrOfNeededListElements*$nrOfNeededColumns));
// $nrOfCellsToFill = ceil($nrOfElements/$nrOfNeededListElements);
$nrOfElementsPrinted = 0;
echo '<table class="list-items-table">';
for($row = 0; $row < $nrOfNeededRows; $row++){
// sor
echo '<tr>';
for($cell = 0; $cell < $nrOfNeededColumns; $cell++) {
// <td>-t mindenképp kiírjuk, üresen is (bár elvileg nem feltétlenül muszáj)
echo '<td>';
// akkor írjuk csak ki az <ul>-t, ha szükséges
if($nrOfElementsPrinted < $nrOfElements) {
echo '<ul class="list-items">';
for($i = 0; ($i < $nrOfNeededListElements) && ($nrOfElementsPrinted < $nrOfElements); $i++) {
echo '<li>';
echo $elementsArray[$nrOfElementsPrinted];
echo '</li>';
$nrOfElementsPrinted++;
}
echo '</ul>';
}
echo '</td>';
}
echo '</tr>';
}
echo '</table>';Azért jó, hogy általános, mert változtathatod benne ezt a két változót:
$nrOfNeededListElements = 5;
$nrOfNeededColumns = 3;így az elsővel meghatározhatod, hány listaelemre lesz szükséged (neked most 5 kellett), a másodikkal pedig azt, hogy hány oszlopra van szükséged (itt 3). Ha átállítod másra, úgy is működőképes.
Itt láthatod, mi lesz a kimenet (egy sorba pakolja, ezzel most nem foglalkoztam, hogy legyen elválasztva a kódban sortöréssel - lásd PHP_EOL):
Ergo így fog kinézni, ide bemásoltam a kimenetet:
http://jsfiddle.net/JH48Z/3/ -
DNReNTi
őstag
válasz
Andoidtibi #13418 üzenetére
Így nézne ki szerintem a legegyszerűbb táblás megoldás, természetesen ez most fixen 3 oszlop 5 sort jelenít meg, 15 elemmel.
Talán kiindulási alapnak jó lesz.
$elemek = array("Egy","Kettő","Három", "Négy" , "Öt" , "Hat" , "Hét" , "Nyolc" , "Kilenc" , "Tíz", "Alma" , "Dió" , "Mák" ,"Körte" , "Cseresznye");
sort($elemek);
$szamlalo = 0;
echo '<table>';
for ($i = 1; $i <= 5; $i++) {
echo '<tr>';
for ($j = 1; $j <= 3; $j++) {
echo '<td>'.$elemek[$szamlalo].'</td>';
$szamlalo++;
}
echo '</tr>';
}
echo '</table>'; -
DNReNTi
őstag
válasz
Andoidtibi #13418 üzenetére
Szia,
Én először eldönteném hogy táblázatba vagy listába akarom kiíratni.
Esetedben talán egyszerűbb a táblázat, viszont szebb megoldás listával, mely megjelenését nem a kiíratás hanem a css határozná meg.Megírom gyorsan a táblást.
-
Andoidtibi
csendes tag
Sziasztok szeretnék egy olyan kérdéssel hozzátok fordulni ami ebben a kódban rejlik
Ezt a Tizenöt tömb elemet szeretném úgy ki íratni <ul>-ben hogy 3 oszlop legyen és ötösével listázza
<?php
$elemek=array("Egy","Kettő","Három", "Négy" , "Öt" , "Hat" , "Hét" , "Nyolc" , "Kilenc" , "Tíz", "Alma" , "Dió" , "Mák" ,"Körte" , "Cseresznye");
sort( $elemek );print '<table>';
for($c=0;$c<count($elemek);$c++){print '
<ul>'.$elemek[$c].'</ul>
';
}
print'</table>';?>
-
spammer
veterán
válasz
Peter Kiss #13415 üzenetére
Köszi
Azt hittem, valami bonyolultabb dolog lesz
-
Speeedfire
félisten
válasz
DeltaPower #13413 üzenetére
Az adatbázis utf-8-ban van természetesen.
-
spammer
veterán
Ezzel a kóddal keresek text fájlban [link], a keresendő kifejezést egy input mező adja át (tehát $needle = $_POST['search'])
A problémám az, hogy case-sensitive a cucc, tehát be beírom, hogy "mogyoró", azt nem találja meg, de a "Mogyoró"-t igen (nagy kezdőbetűvel), mert úgy szerepel a text fájlban.
Hogyan tudnám a fentebb linkelt kódban megadni, hogy ne tegyen különbséget kis és nagybetű között?
strtolower($needle) nem jó, mert az ugye csak lowercase-re konvertálja a keresendő szót, de attól még a text fájlban ha nagy kezdőbetűs a szó, akkor nem találja meg.
-
DeltaPower
addikt
válasz
Speeedfire #13412 üzenetére
Az adatbázist. Vagy az már utf-ben van?
-
Speeedfire
félisten
válasz
DeltaPower #13411 üzenetére
Milyen forrásra gondolsz?
-
DeltaPower
addikt
válasz
Speeedfire #13410 üzenetére
Az nem járható, hogy a forrást konvertálod utf-be?
-
Speeedfire
félisten
válasz
DeltaPower #13407 üzenetére
Én is hasonlókat láttam. Mivel varchar4000 a legtöbb, emiatt sokat magát az oci8 fájlt forgatták le ismét azzal a módosítással, hogy ezeket a ba varchar4000-reket levágják és nem csordul túl.
Az error kérdés még mindig érdekes, nem találtam rá eddig értelmes megoldást. Pedig biztos van valami amivel le tudom tiltani a yii error kezelését.Mindenesetre ezt a dolgot rövidre zártam azzal a megoldással, hogy az excel-t az oracle generálja le nekem egy blob mezőbe amit kistream-elek magamnak. Így nem gond az 50-100k sor sem.
-
spammer
veterán
válasz
PiXeL90 #13408 üzenetére
Köszi, azóta már megoldottam, csak elfelejtettem beírni. Amúgy lehet, hogy rosszul fogalmaztam meg, mert nem csak egyszerűen szűrni akartam az eredményt (listát) egy If-fel, hanem ha az adott fájl adott sora = feltétel, akkor listázza a fájlokat és a kívánt tartalmukat. Kicsit bonyolult így, de a lényeg, hogy már megoldódott
-
DeltaPower
addikt
válasz
Speeedfire #13406 üzenetére
Ha jól értettem a google találatok közt olvasottakat, ez a "buffer" félrevezető. A problémát az okozza, hogy a single byte char adatot multibyte char adattá konvertálod/konvertálódik fetchAll-nál, akkor az eredeti bináris méreten túlcsordulhat, erre viszont buffer overflowot jelez. A yii pedig lehet hogy a buffer overflowot hackelési kísérletnek veszi és inkább elszáll 500-al, vagy ha valami security plugin van telepítve, az is ráugorhat.
-
Speeedfire
félisten
válasz
Sk8erPeter #13404 üzenetére
Nem tudom, nem igazán találtam rá ilyen megoldást, de lehet én keresem rossz helyen. Pedig az elvileg csak egy warning. Érdekes, hogy pl a PDO-ban sem tudom beállítani ezt a buffer értéket.
A warning kidobja, hogy le lesz vágva, ez még nem is lenne nagy gáz. De, hogy emiatt miért lesz error 500!?
Nem értem még egyelőre, remélem holnapra rájövök. -
spammer
veterán
Elakadtam.
Ezzel megkapom minden txt fájlból a 3. sorba írt adatot:
$dir = "articles";
$files = array_reverse(glob($dir."*.txt"));
foreach ($files as $file) {
$open = file($file);
$line = $open[2];
echo $line . "<br>";
}Például ezeket az adatokat kapom meg:
kék
zöld
sárga
piros
zöldHogyan tudom megadni, hogy csak azokat a fájlokat listázza, amiknek a 3. sorában ($line=$open[2]) az van, hogy "zöld" ?
Hova és hogyan kellene erre feltételt írni?
-
Sk8erPeter
nagyúr
válasz
Speeedfire #13399 üzenetére
Ebben a formában azért ez elég furcsa... Nem is tudod felülbírálni? Mert ez alapján olyan, mintha komolyabb hibákra nem dobhatnál egy szép felhasználóbarát hibaoldalt, hanem majd a Yii szépen megmondja, hogy itt aztán gáz van, de feltételezem, azért ezt megoldották valahogy, elég régi keretrendszerről van szó...
-
Sk8erPeter
nagyúr
válasz
don.racz #13400 üzenetére
Sok szerencsét hozzá, de azért ez itt nem így működik. Inkább úgy, hogy leírod szépen a komplett problémát, mutatsz példakódot, megmutatod, mire jutottál eddig, aztán megpróbálunk segíteni. De a fórum nem privát segítség-megoldásokra, meg egyéni Skype-olásokra való. Tiszteld mások szabadidejét is.
-
Peter Kiss
őstag
válasz
Speeedfire #13399 üzenetére
Az gáz azért.
-
Speeedfire
félisten
Még mindig PDO OCI kapcsolat. Adott egy tábla ~150 mezővel, a legtöbb varchar2(4000) és ha nyomok egy fetchAll()-t akkor a fenti hiba jön elő. Ezt nem lehet valahogy mellőzni, megnéztem és a legnagyobb mezőben ~500 karakter van.
Új hozzászólás Aktív témák
Hirdetés
- Asztali PC , i7 11700KF , RTX 3070 Ti , 32GB DDR4 , 512GB NVME , 2TB HDD
- Asztali PC , R5 5500 , RX 5700 XT , 16GB RAM , 256GB NVME , 1TB HDD
- ASUS TUF Gaming F15 gamer laptop
- X1 Yoga 8th 2-in-1 14" FHD+ IPS érintő i5-1335U 16GB 256GB NVMe ujjolv IR kam aktív toll gar
- Lenovo / SK Hynix 512GB M.2 NVME SSD 0 perces
- Bomba ár! Dell Latitude 3540 - i5-4GEN I 4GB I 500GB I 15,6" HD I HDMI I Cam I W10 I Garancia!
- Lenovo ThinkPad dokkolók: USB-C 40A9/ 40AY/ 40AS/ Thunderbolt 3 40AC/ Hybrid USB-C DisplayLink 40AF
- Samsung Galaxy A40 64GB, Kártyafüggetlen, 1 Év Garanciával
- Iphone 15 Plus 128GB Pink Dobozos 12 Hónap Garancia
- Xiaomi Redmi Note 14 Pro 256GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged