Hirdetés
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- Mr Dini: Mindent a StreamSharkról!
- sidi: 386-os Chicony gázplazma laptop memóriabővítése
- sziku69: Fűzzük össze a szavakat :)
- Pitterix: Gyógytorna
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Brogyi: CTEK akkumulátor töltő és másolatai
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- GoodSpeed: Kell-e manapság egérpad vagy sem?
Új hozzászólás Aktív témák
- 
			
			  randras veterán válasz  Sk8erPeter
							
							
								#10497
							
							üzenetére Sk8erPeter
							
							
								#10497
							
							üzenetéreExcel-lel kimentettem HTML-be, kitakarítottam a kódból a mocskot, és végül úgy néz ki, mPDF-el generálom majd a PDF-et. 
- 
			
			  Soak veterán Sziasztok ! Az miért van, hogy a phpmyadmin ( 3.4.10.1 ) a saját gépemen nagyon lassú, mintha kb 128kbps-vel neteznék. A szerveren viszont működik rendesen, csak a net szab határt neki (de igazából az sem mert olyan mintha nem lenne késlekedés) . Ugyanaz az adatbázis, szinte üres, szóval nem az én gépem a gyenge. Nem a parancsok végrehajtásánál, hanem pl. egy oldal frissitésénél kb 6-7sec mire betölt. Kerestem a neten, többeknek volt ilyen hiba, de megoldást nem találtam. 
- 
			
			  randras veterán Helló, jelenleg PHPExcel-lel manipulálok PHP alól XLS fájlokat probléma nélkül, a gondom viszont az, hogy az XLS-t utána PDF-ben kéne elmentenem. A PHPExcel tudja ezt is, viszont folyton kifut az időből/memóriából konvertálás közben, szóval kellene valami másik módszer erre. Ha lenne valami ötletetek, megköszönném!  
- 
			
			  j0k3r! őstag válasz  Peter Kiss
							
							
								#10492
							
							üzenetére Peter Kiss
							
							
								#10492
							
							üzenetére
- 
			
			  Peter Kiss őstag PHP-t tanulóknak, használóknak mutatnám az alábbi könyvet: 
 PHP Master: Write Cutting-Edge CodeSzerintem elég használható darab, és még ráadásul up-to-date is. 
- 
			
			  Soak veterán Köszönöm mind a hármótoknak a hozzáadott értéket.  Ezek alapján kicsit újragondolom az egészet és egy kicsit jobban összerakom. Remélem nem sokára összefoglalom az eredményt. Ezek alapján kicsit újragondolom az egészet és egy kicsit jobban összerakom. Remélem nem sokára összefoglalom az eredményt.
- 
			
			  Cathfaern nagyúr válasz  Sk8erPeter
							
							
								#10487
							
							üzenetére Sk8erPeter
							
							
								#10487
							
							üzenetéreIgen ezen gondolkoztam is, hogy beleírjam, nem szép megoldás, de azért nem is teljesen értelmetlen  
 De szerintem ez tipikusan olyan kód, amit jobb lenne elejétől kezdve (onnantól, hogy funckió szinten mit szeretne az ember, tényleges programozást teljesen elfelejtve) újragondolni.
- 
			
			  DeltaPower addikt Ha jól értem ezt, az IF első része arra vonatkozik, ha egy adott feladótól érkező üzeneteket akarsz listázni, a második része pedig a feladók listája. Három foreach tényleg fölösleges, még ha max 2 fut is le, főleg hogy minddel végigmész az összes üzeneten. Én ilyesmi megoldást ajánlok: 
 function list_messages()
 {
 if( $_GET['i'])
 {
 $messages = self::find_messages_by_sender_id($_GET['i']);
 }
 else
 {
 $messages = self::find_messages_by_users_id($_SESSION['user_id']);
 $sender_list=getSenderListWithCount($_SESSION['user_id']);
 }
 foreach ($messages as $message) { ... }
 }
 function getSenderListWithCount($cimzett_id)
 {
 // SELECT COUNT(message_id), ... WHERE cimzett_id={$cimzett_id} GROUP BY sender_id
 }
- 
			
			  Sk8erPeter nagyúr válasz  Cathfaern
							
							
								#10486
							
							üzenetére Cathfaern
							
							
								#10486
							
							üzenetéreNa, most felraktam ide, hogy normálisan nézzen ki, így már legalább látható is, mi van a kódban...  
 Csak most látom át, így, hogy ki is lehet valamit belőle venni, hogy csak az else ágban van a másik kettő foreach... A $senders-re vonatkozó részt tényleg félreértettem... hát igen, nem árt, ha normálisan van indentálva a kód.... A $senders-re vonatkozó részt tényleg félreértettem... hát igen, nem árt, ha normálisan van indentálva a kód....
 $senders = array();
 foreach ($messages as $message) {
 if (array_key_exists($message->sender_username, $senders)) {
 $senders[$message->sender_username]++;
 
 } else {
 $senders[$message->sender_username] = 1;
 }
 }Tehát magyarul akkor ad hozzá a $senders adott kulcsánál lévő számhoz plusz egyet, ha már létezik az adott kulcs a felhasználó nevével, egyébként eggyel egyenlő...  
 Igazad van, ezt sem láttam át a korábbi ocsmány kód miatt (az is igaz, hogy eléggé átrohantam rajta).
 Ettől függetlenül továbbra is fenntartom, hogy ezt nem így kéne, nemsokára írom, miért. Áll a többi dolog is, azzal a módosítással, hogy ezek szerint nem fut le mindhárom ciklus, mert külön vannak. A statikus függvényhívásokra, változókra, egyebekre (pl. truncate() külön függvény/metódus, stb.) vonatkozó dolgok is állnak."Amennyiben az első foreachen belül megváltoztatsz valamit a tömbön, akkor lehet értelme mégegyszer bejárni (elvileg ugyanazt a tömböt, gyakorlatilag nyilván akkor már nem ugyanazon mész végig). És ahogy láttam, itt pontosan erről van szó." 
 Nézd meg még egyszer, a $messages tömbön nem változtat semmit az első ciklusban. Csak kigyűjti a $senders tömbbe a megfelelő neveket, a hozzájuk tartozó üzenetek számát. Aztán ezt használja fel a második foreach-nél, és ennyi.
 Az a baj, hogy feltételezem, a find_messages_by_users_id() metódusában eleve van már egy ciklus, ami bejárja az adatbázisból lekért eredményeket. Így tehát összesen 3 darab (!) ciklus lesz mégis, mert még ezt is be kell járni még egyszer. Úgy lehetne ezt redukálni mondjuk max. 2-re, hogy eleve egy normális query-t ír, ami felhasználók szerint csoportosítva kéri le az üzeneteket, aztán amikor ezt az eredményhalmazt bejárja PHP-vel, akkor eleve felhasználónként gyűjti egy tömbbe az üzeneteket. Akkor meg már lehetne használni ezeken a gyorsabb count() függvényt is, amivel egyből megkapná, hány darab üzenet tartozik a felhasználóhoz, meg csak a kiíratáshoz kellene bejárni.
 Úgy már nem lenne gány.
- 
			
			  Cathfaern nagyúr válasz  Sk8erPeter
							
							
								#10485
							
							üzenetére Sk8erPeter
							
							
								#10485
							
							üzenetére"A foreach egy egyszerű bejáró algoritmus, semmi extra mutatvány nincs a dologban. De ha háromszor használsz foreach-et, akkor háromszor járod be. Ez felesleges." 
 Nem feltétlenül. Amennyiben az első foreachen belül megváltoztatsz valamit a tömbön, akkor lehet értelme mégegyszer bejárni (elvileg ugyanazt a tömböt, gyakorlatilag nyilván akkor már nem ugyanazon mész végig). És ahogy láttam, itt pontosan erről van szó."$senders = array(); 
 if(array_key_exists($message->sender_username,$senders))
 Elmagyarázva szavakkal, a kosaras példával:
 $kosár = tök üres
 ha a $kosárban van piros színű golyó, akkor csináld ezt:
 Vágod?"
 Az idézett kódban nem ez történik. Ha megnézed, akkor ahogy végigmegy a foreach-en, pakolgat bele a senders tömbbe. A kiürítés miatt először igen, üres lesz, de ha többször is szerepel ugyanaz a "sender_username" a messagesben, akkor utána a senders tömb adott kulcsánál már ott lesz valami (a korábban beállított 1, vagy az inkrementált érték)
- 
			
			  Sk8erPeter nagyúr "Az előző hsz.-edben az volt a problémád" 
 Ácsi, kicsit rosszul közelíted meg a kérdést. Nekem aztán nem probléma, ha gányolsz, de tanácsot kértél.$_GET: Akkor totál félreértetted, amit mondtam. Annyit javasoltam, hogy a $_GET, $_POST és hasonló tömbökhöz közvetlenül már ne nyúlj az objektumodban, hanem add át paraméterként a tartalmukat a metódusnak, állítsd be a konstruktorban, vagy fogalmam sincs, hogyan oldd meg, de a metóduson belül ne közvetlenül használd már ezeket a tömböket, mert szerintem nem szép. Komolyabb rendszerekben sem nagyon szoktam látni, hogy közvetlenül nyúlkálnak hozzá az osztályon belül. De ahogy érzed. A foreach egy egyszerű bejáró algoritmus, semmi extra mutatvány nincs a dologban. De ha háromszor használsz foreach-et, akkor háromszor járod be. Ez felesleges. 
 Ez most a kosaras példánál maradva olyan, mintha lenne egy kosarad, ami tele van kék, fekete, piros golyókkal, és neked az lenne a feladatod, hogy ezeket külön kosarakba gyűjtsd színek szerint; te pedig úgy oldanád meg, hogy először átnéznéd a kosarat, és kiszednéd a pirosakat a saját kosarába, majd ha ezzel végeztél, akkor megint átnéznéd a kosarat, csak a kék golyókra koncentrálva, aztán harmadik alkalommal is átnéznéd, akkor már csak a fekete golyókat keresgélve, miközben ezt megoldhattad volna úgy is, hogy az épp kezed ügyébe kerülő golyót a megfelelő kosárba pakolod, szín szerint.$senders tömböd: 
 itt már részletesen leírtam, mi a probléma vele. Nem igazán vágom, mit nem értesz belőle, de megpróbálom még egyszer elmagyarázni, kiemelve a lényegi részt:$senders = array(); 
 if(array_key_exists($message->sender_username,$senders))Elmagyarázva szavakkal, a kosaras példával: 
 $kosár = tök üres
 ha a $kosárban van piros színű golyó, akkor csináld ezt:
 Vágod?
- 
			
			  Soak veterán válasz  Sk8erPeter
							
							
								#10483
							
							üzenetére Sk8erPeter
							
							
								#10483
							
							üzenetéreAz előző hsz.-edben az volt a problémád, hogy a function elött döntsük el, hogy if(isset($_GET['xyz'])) . Ami szerintem is jó, ezért van egy function ami akkor fut ha van, meg van egy ha nincs. De ezt irtam az elöbb is. Tehát az egyik esetben nincs probléma, mivel egy foreach van és kész. (abban a functionba) . A másiknál van az, hogy elötte kell egy foreach (nekem), hogy az arrayba szépen beírja kitől hány üzenet jött, mert nem tudtam úgy ezt megcsinálni, ha egy foreachel akartam megoldani. Amikor épp az adott elemet vizsgálom akkor honnan tudom, hogy van-e még több üzenet attól a feladótól időrendbe hátul? Lehet, hogy én nem értem amit te nem értesz és valamit benézek. Vagy csak egyszerűen a foreach mehanizmusát gondolom rosszul. Miért találna bármit is egy üres tömbben? 
 Most gondolj már bele, ez olyan, mintha lenne egy tök üres kosárkád, és elkezdenél keresgélni benne izomból egy piros színű labdát, amikor tudod jól, hogy az a kosár tök üres.Értem, hogy mit mondasz, de épp ez a cél, hogy nem fog találni elsőre semmit, ha semmit nem talál akkor azt jelenti, hogy az adott usert sem. Most ha jól gondolom akkor arra gondolsz, hogy tegyem bele azt is, hogy ha az array üres akkor mivan? Mert akkor ugyan ott vagyok, nem? 
- 
			
			  Sk8erPeter nagyúr "Te hogy oldanád meg?" 
 Egyetlen ciklussal. 
 De őszintén szólva már a kérdést sem értem. Egymás alatt, azonos metódusban szerepel háromszor ez:
 foreach($messages as $message)
 Akkor ebből nyilvánvaló, hogy pontosan ugyanazt csinálják, tehát nem értem, miért nem pakolod egyszerűen egybe azt, amit számomra érthetetlen okból különválasztottál, és vizsgálgatod a feltételeket a cikluson belül.Leegyszerűsítem olyan példára, aminél egyszerűbbet már nem tudnék mondani az adott helyzetre: foreach($messages as $message){ 
 echo 'ELSŐ blablabla';
 }
 if($tokmindegy){
 foreach($messages as $message){
 echo 'MÁSODIK blablabla';
 }
 }
 if($ezismindegy){
 foreach($messages as $message){
 echo 'HARMADIK blablabla';
 }
 }ehelyett miért ne lehetne így: foreach($messages as $message){ 
 echo 'ELSŐ blablabla';
 if($tokmindegy){
 echo 'MÁSODIK blablabla';
 }
 if($ezismindegy){
 echo 'HARMADIK blablabla';
 }
 }Capisce?  "Az lett volna az értelme, hogy elösször biztosan le kell futnia, mivel az első vizsgálatnál még nem volt üzenet és fogalmam sincs ki a feladója az első üzenetnek. Ezért az elsőt beleírja és ha tőle jött még 3 akkor azokat már ignorálja és csak a következő legfrissebbet rakja ki, másik usertől." 
 Miért találna bármit is egy üres tömbben? 
 Most gondolj már bele, ez olyan, mintha lenne egy tök üres kosárkád, és elkezdenél keresgélni benne izomból egy piros színű labdát, amikor tudod jól, hogy az a kosár tök üres.
- 
			
			  Soak veterán válasz  Sk8erPeter
							
							
								#10481
							
							üzenetére Sk8erPeter
							
							
								#10481
							
							üzenetéreAkkor sem értem a logikát, hogy miért kell különbontani, és három különálló, de teljes mértékben egyező ciklusban megoldani, amit meg szeretnél, ezzel háromszorosára növelve a ciklus futási idejét... Te hogy oldanád meg? Van egy foreach akkor amikor van beállítva $_GET['id'] , van egy arra amikor nincs (akkor az összes üzenetet hozza ki, amikot van beállítva akkor csak egy usertől) , már külön functionba. A harmadik azért van akkor amikor nincs $_GET['id'] , mert végigmegy az arrayon, beírja mindenkihez, hogy hány üzenet van tőle és így ki tudom iratni userenként az üzenetszámot. Ha ezt berakom abba amikor az üzeneteket listázza akkor nem tudtam megoldani az üzenetszám kiratást. Még mindig nem érthető, mit is akarsz üres tömbbel... array_key_exists-szel vizsgálgatsz egy nyilvánvalóan nem létező kulcsot, mivel üres a tömb? Mi értelme? Az lett volna az értelme, hogy elösször biztosan le kell futnia, mivel az első vizsgálatnál még nem volt üzenet és fogalmam sincs ki a feladója az első üzenetnek. Ezért az elsőt beleírja és ha tőle jött még 3 akkor azokat már ignorálja és csak a következő legfrissebbet rakja ki, másik usertől. 
- 
			
			  Sk8erPeter nagyúr "A 3 foreach azért van, mert legrosszabb esetben 2 fut le, de nem tudtam jobban megoldani, hogy ki tudjam jelezni egy usertől hány üzenet van." 
 Akkor sem értem a logikát, hogy miért kell különbontani, és három különálló, de teljes mértékben egyező ciklusban megoldani, amit meg szeretnél, ezzel háromszorosára növelve a ciklus futási idejét..."Azért egyenlő egy üres tömbbel, mert különben hibaüzenetet dobál, hogy nincs definiálva..." 
 Még mindig nem érthető, mit is akarsz üres tömbbel... array_key_exists-szel vizsgálgatsz egy nyilvánvalóan nem létező kulcsot, mivel üres a tömb? Mi értelme?
- 
			
			válasz  fordfairlane
							
							
								#10478
							
							üzenetére fordfairlane
							
							
								#10478
							
							üzenetéreugyanaz lenne. 
- 
			
			Sziasztok. Adott nekem egy Mikrotik router, ami úgy van belőve, egy helyi intranetes hálózaton, wake on lan segítségével indíthassam a gépemet. 
 Nos ez működik is, nincs semmi gond. Van a helyi tárhelyemen egy start.php amit ha elindítok akkor adja ki a parancsot, és indul el a gép. Így néz ki:<?php 
 $MT_CIME="ip cim";
 $LOGIN="user";
 $PW="pass";
 require('class.php');
 $API = new routeros_api();
 $API->debug = false;
 if ($API->connect($MT_CIME, $LOGIN, $PW)) {
 $API->comm("/tool/wol", array(
 "mac" => "MAC adress",
 "interface" => "interface"));
 print "tetszőleges szöveg amit kiír, miután lefutott a parancs és mindent rendben talált" ;
 
 $API->disconnect();
 }
 ?>Na most én azt szeretném, hogy ezen tetszőleges szöveg helyett mondjuk egy kép legyen. 
 Azt hogyan tudnám megoldani, egyáltalán lehetséges ez?Köszönöm előre is a válaszokat. 
- 
			
			  Soak veterán válasz  Sk8erPeter
							
							
								#10475
							
							üzenetére Sk8erPeter
							
							
								#10475
							
							üzenetéreA $_GET['i'] a tesztelés miatt volt ilyen beszédes, plusz már nem szerepel a funkcióban , csak igy könnyebb nekem szarakodni, ha fejlesztem. A staticot kijavítottam már. Rossz beidegződés volt. Mostmár sejtem az OOP-t és az elöttről maradt. A 3 foreach azért van, mert legrosszabb esetben 2 fut le, de nem tudtam jobban megoldani, hogy ki tudjam jelezni egy usertől hány üzenet van. Végig fut, megcsinalja az array-t aztán kiiratom az arrayból, hogy mennyi van. Ezért irtam ide, mert kezdő vagyok, nyitott vagyok az ötletekre . Azért egyenlő egy üres tömbbel, mert különben hibaüzenetet dobál, hogy nincs definiálva... if(strlen($message->body) > 140){$dots = "...";} else {$dots = "";} 
 Ez is több helyen szerepel, az már eleve gáz, de amúgy is: mi értelme van? Ennyiből kb. semmi.
 Ha le kell vágni a törzsből valamennyit, mert adott karaktermennyiséget túllép, akkor azt egy tök különálló truncate() metódusban végezd el, ne ugyanebben a függvényben. A default karakterlimit pedig a függvény egyik paramétere lehet, default értékkel. Vagy tárold pl. osztályváltozóként a limitet, de inkább előbbi.Azt tényleg gáz, hogy így szerepel itt, de ezt a static hibával egyidejüleg javitottam Nem sértődöm meg abszolút, miért tenném?  Folyamatosan tanulok, nem ez a szakmám, csak hobbi. Folyamatosan tanulok, nem ez a szakmám, csak hobbi.
- 
			
			  Sk8erPeter nagyúr Használd ezt a formázót, ha nem sikerül másként...: 
 http://beta.phpformatter.com/Szétb@szhatja azért is a formázást, mert public functionnel kezded kapásból, és nem adsz nevet az osztálynak. Nyilván most csak kivágtad a megfelelő részt, de akkor ne az ideone.com-ra rakd, hanem a pastebinre, ha előbbire, akkor legalább adj egy nevet az osztálynak, és tedd oda kommentbe a három pontot, ami jelöli, hogy ott amúgy van más is. (Hogy ne legyen itt ezen az oldalon syntax error.) if(isset($_GET['i'])) 
 Már eleve rossz kezdés szerintem. Itt már szerintem nem kellene $_GET, $_POST és hasonlókhoz nyúlni, hanem a megfelelő helyen be kellene ezeket állítani, legalábbis ez ebben a formában csúnya osztályon belül.
 Ezenkívül mi az az "i"? Miért szopatod magad ilyen kulcsokkal? Miért nem használsz beszédesebb neveket, teljes szavakat?
 Én kimegyek a fazonomból az ilyenektől, elég utálatos feladat, amikor más kódját kell kotorásznod, és ilyeneket látsz, egyből letépnéd a fejét annak, aki írta ezt a kódot, és még egy nyomorék kommentet sem rakott oda. Ha már agilis szoftverfejlesztés, akkor már a kód legyen beszédes.$messages = self::find_messages_by_sender_id($_GET['i']); 
 Miért static függvényhívás? Miért kevered a szezont a fazonnal? Egyáltalán minek ide static függvény?
 Erről már korábban is volt szó, cucka is említette neked.foreach($messages as $message) 
 Összesen háromszor?? Mi a francnak mész végig rajta külön-külön?! Mi a francnak mész végig rajta külön-külön?!
 Ugye tudod, hogy ez így háromszor annyi időbe is kerül (és egyébként totál értelmetlen)?if(strlen($message->body) > 140){$dots = "...";} else {$dots = "";} 
 Ez is több helyen szerepel, az már eleve gáz, de amúgy is: mi értelme van? Ennyiből kb. semmi.
 Ha le kell vágni a törzsből valamennyit, mert adott karaktermennyiséget túllép, akkor azt egy tök különálló truncate() metódusban végezd el, ne ugyanebben a függvényben. A default karakterlimit pedig a függvény egyik paramétere lehet, default értékkel. Vagy tárold pl. osztályváltozóként a limitet, de inkább előbbi.Aztán egyszer a $message_username változót használod, egyszer a $message->sender_username-et. Abszolút semmi értelme. Egyébként sincs értelme itt átadni másik változónak. $senders = array(); 
 foreach($messages as $message){
 if(array_key_exists($message->sender_username,$senders)){
 $senders[$message->sender_username]++;
 }
 else{
 $senders[$message->sender_username] = 1;
 }
 }Ennek magyarázd már el légyszi, mi értelme, mert szerintem kb. semmi. 
 Miért kotorászol a $senders-ben, amikor egy üres tömbbel tetted előtte egyenlővé?Tovább nem volt kedvem keresgélni a hibákat, ezek csak első blikkre tűntek fel, némi fájdalmat okozva.  Bocs, de ez így iszonyatosan gány. A kritikákon ne sértődj meg, mert Te kérted. Bocs, de ez így iszonyatosan gány. A kritikákon ne sértődj meg, mert Te kérted. 
- 
			
			  Soak veterán Sziasztok ! Írtam egy functiont arra, hogy kilistázzam userek szerint az üzeneteket. Örülnék, ha lenne kedve valakinek kritizálni meg véleményt alkotni. [link] . A formázás itt tényleg szar. 
- 
			
			  trisztan94 őstag válasz  Sk8erPeter
							
							
								#10472
							
							üzenetére Sk8erPeter
							
							
								#10472
							
							üzenetéreKöszönöm szépen !   
- 
			
			  Sk8erPeter nagyúr válasz  trisztan94
							
							
								#10468
							
							üzenetére trisztan94
							
							
								#10468
							
							üzenetére"feltölti a képet csak az src-be nem tudom berakni" 
 A $stringData változód már a cikluson kívül van... magát a kiíratásra vonatkozó, konkatenált stringet is a cikluson belül kellene összeállítani (a foreach-en belül). Úgyis ott rakod össze a végleges elérési utat, ahova át kellene mozgatni, tehát akkor lehet az az src attribútum értéke.======= (#10465) wolandino : ahogy elnézem, közben megtaláltad a megoldást.  
- 
			
			  Sk8erPeter nagyúr válasz  Fecogame
							
							
								#10467
							
							üzenetére Fecogame
							
							
								#10467
							
							üzenetéreMár magát az elgondolást sem értem, miért jó azonos domain alatt két különböző fórummotort működtetni... Nem tudod összeolvasztani? 
 Megoldhatod aldomainekkel és alkönyvtárakkal is: pl. a főoldalon van két választási lehetőség, Fórum 1 és Fórum 2 linkekkel, ha valaki ráklattyol egyikre, akkor átirányít a http://example.com/forum1 VAGY http://example.com/forum2 címre, ahol teljesen függetlenül működik a két motor. Az adatbázis lehet közös, prefixek alkalmazásával.
- 
			
			  Sk8erPeter nagyúr válasz  CSorBA
							
							
								#10466
							
							üzenetére CSorBA
							
							
								#10466
							
							üzenetéreAkkor már pakold fel phpclasses.org-ra vagy ehhez hasonló helyre, ha már ópenszósz lesz a kód.  
- 
			
			  daninet veterán Üdv! Egy kis pénzkereseti lehetőséget ajánlok, mert az én képességeimet ez már meghaladta  Egy webshopba kellene beletákolni pár sort (árukereső trusted shop automatikus emailje), illetve a payU bankkártyás fizetéshez kell egy kimeneti fájl egy dokumentáció alapján. Egy webshopba kellene beletákolni pár sort (árukereső trusted shop automatikus emailje), illetve a payU bankkártyás fizetéshez kell egy kimeneti fájl egy dokumentáció alapján.Joomla 1.5, Virtuemart webshop. Pénzben megegyezünk, nem határidős csak legyen kész belátható időn belül. Privátban írjon akit érdekel a dolog    
- 
			
			  trisztan94 őstag válasz  Sk8erPeter
							
							
								#10455
							
							üzenetére Sk8erPeter
							
							
								#10455
							
							üzenetéreNa, és ezzel mi a baj?  feltölti a képet csak az src-be nem tudom berakni. És azt hogy a többi képet is listázza ha több van az hogy nézne ki? feltölti a képet csak az src-be nem tudom berakni. És azt hogy a többi képet is listázza ha több van az hogy nézne ki? if(isset($_FILES['files'])){ 
 foreach($_FILES['files']['tmp_name'] as $key => $tmp_name){
 move_uploaded_file($tmp_name, "ingatlan/kepek/ {$_FILES['files']['name'][$key]}") or die("asd");
 }}
 // Ha eddig eljön a scipt akkor a kép már a szerveren van
 // beleírjuk a fileba a címet meg mindent
 $datum = getdate();
 $fh = fopen($uploadsDirectory . $cim . '.txt','w');
 $stringData = "<br/>\n<article>\n<header class='ing_header'>" . $cim . "\n</header>" . "\n<div class='fokep_wrapper'><img class='fokep' src='". $uploadsDirectory2 . $_FILES['files']['name'][$key] . "' alt='".$cim."'</div><div class='tobbikep'></div><p>" . $leiras . "\n</p>\n<footer class='ar'>" . $ar . "\n</footer>\n</article>\n\n<br/>";[OT]Heti utolsó kérdés, I promise![/OT] 
- 
			
			Erre tudtok valami okosat?  Le kellene cserélnem az SMF fórummotort egy Vbulletin-re. A konvertálás még okés is lesz, de hogyan tudom egyszerre mindkét fórummotort működtetni, ha ugyanazon domain név alatt működik mindkettő?  
- 
			
			  CSorBA őstag Korábban javasolták itt többen az IntlDateFormatter osztályt. Sajnos nem nagyon felelt meg mégsem, mivel (lehet én voltam figyelmetlen, de) nem nagyon tudtam beállítani a megjelenést, azaz kb kimerült 4 megjelenítési módban. Mivel nekem ez nem volt elég, így maradtam a saját fordító osztálynál, ami előre definiált patternek szerint jeleníti meg a dátumot. Sajnos nem vagyok benne biztos, hogy nyelvtanilag sikerült eltalálnom minden lehetőséget, de azért próbálkoztam. Ha valakit érdekel, megtekinthető [itt], ha valakinek kellene, az dobjon rám egy privit. 
- 
			
			  wolandino tag Sziasztok! Van egy MS SQL adatbázisom, amit linux környezetben szeretnék használni és ugyancsak arról a linux szerverről elérni, amin nem mellesleg PHP fut. 
 Windows-os környezetben ugyanezt pofonegyszerűen elértem egy ilyen kóddal:$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};DBQ=". realpath("./teszt.mdb").";", "ADODB.Connection", ""); de linux alatt sehogy sem akar összejönni, pedig már végignyálaztam a netet vagy kétszer ezügyben  Ha tudna valaki segíteni, akkor nagyon hálás lennék. Köszönettel, 
 W.
- 
			
			  Soak veterán válasz  Sk8erPeter
							
							
								#10462
							
							üzenetére Sk8erPeter
							
							
								#10462
							
							üzenetéreTudom, hogy mikent mukodik a foreach, egyszeruen lusta voltam mar szarakodni vele es mukodott, de legfokepp azert mert mar akkor tudtam, hogy szar az egesz, ezert nem figlalkoztam vele.  Dw nem formazza a phpt 
- 
			
			  Sk8erPeter nagyúr foreach($previous as $previous){ 
 foreach($current as $current){
 foreach($next as $next){
 A lényeget cucka már leírta, de nekem a fentiektől nyílt ki legjobban az agyam. Nem is tudom, ez működik-e így egyáltalán, bár valószínűnek tartom, hogy inkább nem, és felmerül, hogy felül is írja a változót... Nem is tudom, ez működik-e így egyáltalán, bár valószínűnek tartom, hogy inkább nem, és felmerül, hogy felül is írja a változót...
 De ezek szerint a foreach használatának logikája sem jött át, vagy nem vágom, ilyet miért toltál be a kódodba.Példa jó használatra: 
 foreach($ezatömböd as $ezazaktuáliskulcs => $ezazaktuálisérték){
 }
 vagy csak
 foreach($ezatömböd as $ezazaktuálisérték){
 }
 De ne legyen már ugyanaz a neve a tömbnek és az aktuális értéknek...(#10461) Soak : annyira rondán van indentálva a kódod, hogy őszintén szólva nem sok kedvem van a végignézésére. 
 Mit használsz PHP-fejlesztésre? Csomó IDE-ben van automatikus formázás, pl. NetBeans-ben Alt+Shift+F.
 DW: [link].========= (#10458) cucka : 
 "Az empty() nyelvi elemet (figyelem, ez nem függvény) érdemes elkerülni"
 Szerintem nem kell kerülni, tudni kell, hol indokolt a használata.
 Akár debuggolásra is jól jöhet.
 És/vagy ha az ember számíthat NULL, 0 vagy false értékekre is valamilyen oknál fogva.
 Persze mielőtt mondanád, azzal egyetértek, hogy jobb szigorú szabályokhoz kötni, adott függvények/metódusok mivel térhetnek vissza, de előfordulhat olyan eset, hogy nem vagy biztos benne, milyen jellegű típus várható az empty()-nek megfelelőek közül, és nincs kedved típusonként ellenőrizni.
 Persze a konkrét esetben valóban nem indokolt, de általános értelemben szerintem nem feltétlenül igaz, hogy kerülni kell.
- 
			
			  Soak veterán ver. 0.2 public function find_previous($id=0, $users_id) { 
 $result_array = self::find_by_sql(" SELECT * FROM `photographs` WHERE id < ".$id." AND users_id = ".$users_id." ORDER BY id DESC LIMIT 1 ");
 return !empty($result_array) ? array_shift($result_array) : false;
 
 }
 
 
 public function find_current($id=0) {
 $result_array = self::find_by_sql(" SELECT * FROM `photographs` WHERE id = ".$id." LIMIT 1 ");
 return !empty($result_array) ? array_shift($result_array) : false;
 }
 
 
 public function find_next($id=0, $users_id) {
 $result_array = self::find_by_sql(" SELECT * FROM `photographs` WHERE id > ".$id." AND users_id = ".$users_id." ORDER BY id ASC LIMIT 1 ");
 return !empty($result_array) ? array_shift($result_array) : false;
 }
 if(isset($_GET['user']) AND (isset($_GET['id']) AND isset($_GET['pic'])))
 {
 global $database;
 $_GET['user'] = $database->escape_value($_GET['user']);
 $_GET['pic'] = $database->escape_value($_GET['pic']);
 $users = User::find_by_id($_GET['id']);
 $users_id = $users->id;
 $previous_photo = Photograph::find_previous($_GET['pic'], $_GET['id']);
 $current_photo = Photograph::find_current($_GET['pic']);
 $next_photo = Photograph::find_next($_GET['pic'], $_GET['id']);
 
 $path = Photograph::photosphp_image_path($current_photo->filename);
 }
 else
 {
 redirect_to("browse.php");
 }
 if($previous_photo)
 {
 
 echo "<a href=\"photos.php?user=$users->username&id=$users->id&pic=$previous_photo->id\" >previous</a>";
 }
 if($next_photo)
 {
 
 echo "<a href=\"photos.php?user=$users->username&id=$users->id&pic=$next_photo->id\" >next</a>";
 }Most kicsit többet gondolkoztam rajta. Biztos nem hibátlan, de szerintem egy fokkal jobb. 
- 
			
			  Speeedfire félisten Nincs valami egyszerű megoldás az ingyenes domain-ek szűrésére? Most fel van sorolva pár, de nem a legjobb megoldás szerintem így.  
 Meg az összeset nem is ismerem. elseif (preg_match("/(uw.hu)|(atw.hu)|(extra.hu)|(blogspot.com)|(blogger.com)|(blog.hu)/", $_POST['url'])) { 
- 
			
			  cucka addikt Elnézést, ha belepofázok, de jól láthatóan nem értetted meg az OOP lényegét: 
 - Az osztályod statikus függvényeket tartalmaz, ami azt jelenti, hogy nem csináltál mást, mint egy névteret globális függvényeknek.
 - A függvényeid globális változókat változtatnak, ahelyett, hogy rendes (matematikai) függvényként működnének: a függvény kap n darab bemeneti paramétert, ami alaján kiszámolja az eredményt. Ennyit csinál, nem többet. Nem módosítja a paramétereit. Nem nyúl ki a globális névtérbe. Sőt, igyekezni kell mellékhatás-mentesre csinálni (nyilván sokszor elkerülhetetlen).A fentiek miatt elkerülheted a rengeteg global deklarációt. Továbbá itt van ez a kódrészlet: 
 $previous = self::find_previous($id, $users_id);
 ...
 foreach($previous as $previous){
 global $previous_pic_id;
 $previous_pic_id = $previous->id;
 }
 - Ciklusban deklarálod a globál változót, biztos ami biztos? 
 - A foreach-ben érdemes kerülni a névütközést.
 - A ciklusod annyit csinál, hogy végigmegy a previous tömbön, majd az utolsó elemnek eltárolja az id-ját egy globális változóba. Minek ehhez végigmenni a previous tömbön?
 - Ha a previous tömb utolsó elemére van csak szükséged, miért nem azt adja vissza a függvényed?
 - Mi van, ha az első képen állsz és nincs previous? Nem kezeled le az esetet, kiírsz egy üres stringet bele a html-be.
 - Ugyanez a foreach megismétlődik a $current változónál, ami viszont nyilvánvalóan nem egy tömb, mert egy aktuális elem van. Ott mi szükség rá? (Vagy mégis tömb? A kódból nem derül ki, és ez nagy baj)Még: 
 - A $_GET['p'] értékét háromszor escape-eled ki, amíg bekerül az adatbázisba. Ha valóban van az értékben egy olyan karakter, amit ki kell escape-elni, akkor a kódod nem fog működni.
 - Az empty() nyelvi elemet (figyelem, ez nem függvény) érdemes elkerülni, jól meg tudod sz*patni magad vele.
 - Mivel a php-ban nem látod, hogy melyik változó milyen típusú, érdemes beszédesebb neveket adni - például ami tömb, az többes szám, vagy a függvény paramétereknél $id helyett $pic_id - így nem kell nyomozni, ha fél év múlva tovább akarod fejleszteni a kódodat, akkor el is fogod tudni olvasni
- 
			
			  Soak veterán Sziasztok ! A pár oldalon keresztül való beszélgetés után, nekiálltam megcsinálni. Sikerült is, viszont egy valamiben nem vagyok biztos, de elöbb itt a kód . Figyelem! Még fejlesztési fázisban van, szóval a külalak és egyéb most még nem az igazi, van más amin fent lehet akadni  . .Tehát : Egyelőre ez van a Class-ban public static function find_relevant_3($id=0, $users_id=0) { 
 global $database;
 global $previous;
 global $current;
 global $next;
 $users_id = $database->escape_value($users_id);
 $id = $database->escape_value($id);
 $previous = self::find_previous($id, $users_id);
 $current = self::find_current($id, $users_id);
 $next = self::find_next($id, $users_id);
 
 foreach($previous as $previous){
 global $previous_pic_id;
 $previous_pic_id = $previous->id;
 }
 
 
 
 foreach($current as $current){
 global $current_pic_id;
 global $photo_users_id;
 global $photo_filename;
 
 $current_pic_id = $current->id;
 $photo_users_id = $current->users_id;
 $photo_filename = $current->filename;
 }
 
 
 foreach($next as $next){
 global $next_pic_id;
 $next_pic_id = $next->id;
 }
 }
 public static function find_previous($id=0, $users_id) {
 global $database;
 $users_id = $database->escape_value($users_id);
 $id = $database->escape_value($id);
 return self::find_by_sql(" SELECT * FROM `photographs` WHERE id < ".$database->escape_value($id)." AND users_id = ".$users_id." ORDER BY id DESC LIMIT 1 ");
 
 }
 
 
 public static function find_current($id=0, $users_id=0) {
 global $database;
 $users_id = $database->escape_value($users_id);
 $id = $database->escape_value($id);
 $users_id = $database->escape_value($users_id);
 return self::find_by_sql(" SELECT * FROM `photographs` WHERE id = ".$database->escape_value($id)." AND users_id = ".$users_id." LIMIT 1 ");
 }
 
 
 public static function find_next($id=0, $users_id) {
 global $database;
 $users_id = $database->escape_value($users_id);
 $id = $database->escape_value($id);
 return self::find_by_sql(" SELECT * FROM `photographs` WHERE id > ".$database->escape_value($id)." AND users_id = ".$users_id." ORDER BY id ASC LIMIT 1 ");
 }Ez pedig magán a pagen: Photograph::find_relevant_3($_GET['p'], $users_id); 
 if(empty($previous_pic_id))
 {
 $previous_pic_id = "";
 $previous_pic_link = "";
 
 }
 else
 {
 $previous_pic_link = "<a href=\"photos.php?user=$users->username&id=$users->id&p=$previous_pic_id\" >previous</a>";
 }
 if(empty($next_pic_id))
 {
 $next_pic_id = "";
 $next_pic_link = "";
 }
 else
 {
 $next_pic_link = "<a href=\"photos.php?user=$users->username&id=$users->id&p=$next_pic_id\" >next</a>";
 }
 
 if($_SESSION['user_id'] == $photo_users_id )
 {
 $delete = "Delete";
 }
 else
 {
 $delete = "";
 }
 $path = Photograph::photosphp_image_path($photo_filename);
 
 echo "<div class=\"photos_pics\" ><a href=\"../$path\" ><img src=\"../$path\" alt=\"\" name=\"start_pic\" class=\"photos_pic\"></a><a href=\"../delete_photo.php?id=$current_pic_id\">$delete</a>";
 
 
 ?>
 </div>
 <div id="pagination"><?php
 echo $previous_pic_link;
 echo $next_pic_link;
 ?>
 </div>Szóval az elsődleges problémám, mint látszik is, 3 funkcióbol jön össze a dolog, magyarul 3szor kell elmenni az adatbázishoz. Saját kútfőből ilyenre sikerült, amit Sk8erPeter irt, nekem nem működik, betettem phpmyadminba magában is, mindig csak az első eredményt adja vissza. Bármiféle építő kritikát szívesen veszek. 
- 
			
			  Soak veterán Keresgettem so-n , és linkelték ott ezt a siteot http://ideone.com/ , ha mindenki ismeri akkor tekintsétek semmisnek a hsz-t, de hasonló a jsFiddle-hez, csak tud php-t is. Megmutatja egy kód eredményét. 
- 
			
			  Sk8erPeter nagyúr válasz  trisztan94
							
							
								#10454
							
							üzenetére trisztan94
							
							
								#10454
							
							üzenetéreHa jól értettem, az eredeti problémád az volt, hogy a képeket NEM TÖLTI FEL, nem a kiíratással volt a para. 
 Tehát a move_uploaded_file() is valami ciklusban kéne, hogy lefusson.
- 
			
			  trisztan94 őstag válasz  Sk8erPeter
							
							
								#10446
							
							üzenetére Sk8erPeter
							
							
								#10446
							
							üzenetéreif ($handle = opendir($dir)) { 
 while (false !== ($file = readdir($handle))) {
 if ($file != "." && $entry != "..") {
 $filecontent = file_get_contents($dir . $file);
 $length = strlen($filecontent);
 $dataArray[$i++] = array(substr($filecontent, 0, $num), substr($filecontent, $num, $length ));
 }
 }
 closedir($handle);
 }
 $totfiles = $i;
 $page = isset($_GET['page']) ? $_GET['page']-1 : 0;
 echo "<br/>";
 for($x=$page*6; $x < $totfiles && $x < ($page+1)*6; $x++) {
 $data = $dataArray[$x];
 ?>
 <div class="visible">
 <?php echo '<p class="ingatlan">' . $data[0] . $data[1] . '</p>'; ?>
 </div>
 <?php
 }Itt a 2 ciklus  érdekes, a képes oldaoon működött. JA, most ilyen 10k+ ismeretlen karaktereket dob be. érdekes, a képes oldaoon működött. JA, most ilyen 10k+ ismeretlen karaktereket dob be.
- 
			
			  Soak veterán válasz  CSorBA
							
							
								#10448
							
							üzenetére CSorBA
							
							
								#10448
							
							üzenetéreSzóval van 1 képed, beolvasáskor nem csak kirakod, hanem feldarabolod, majd a darabokot 3*3as rácsban kirakod divek háttereként, és még fölé mehet egy egész div átlátszó png-s bg-vel. Ha le akarja menteni valaki, az max kifényképezi. Akkor már inkább php-vel megcsinalnam azt, hogy classnak rárakja, hogy a div háttere a kép, ha meg nincs bekapcsolva a funkció akkor meg simán. A direkt elérést nem akarom tiltani, csak "szorgalmazni" nem akarom. 
- 
			
			  CSorBA őstag Most elnézést kérek, mert nem követtem az elejétől fogva. Te gyakorlatilag akarsz egy képnézegetőt, vagyis albumot. Ahol látszik az akutális kép, meg kicsiben mondjuk a körülötte lévő pár. Az lenne a fontos neked, hogy közvetlen ne linkelhessék a képet, azaz más oldalra ne ágyazzák be, vagy közvetlen jobb gombbal ne mentsék le. Ha ezt akarod akkor nekem az lenne az ötletem, hogy: 1, Apachal tiltom a képek közvetlen elérését. 
 2, A képeket csak a galériában lehet megnézni, amit a fentebb említve így töltesz be pl: galeria.php?kepid=id&egyebamitakarsz
 3, megjelenik mellette jobbra balra a kövi, előző kép.
 4, ha a user meg akarja mutatni a képet, akkor fogja az urlt bemásolja, ami erre az OLDALRA (azaz nem közvetlen a képre) mutat.
 5, nah hogy a képet ne mentsék le, én feldarabolnám, és erre írnék valamit, szvsz ez a nehezebb része.
 Pl ha nem is pixelenként, de mondjuk 9 felé, on the fly (lehet ez terheli meg kicsit.)
 Szóval van 1 képed, beolvasáskor nem csak kirakod, hanem feldarabolod, majd a darabokot 3*3as rácsban kirakod divek háttereként, és még fölé mehet egy egész div átlátszó png-s bg-vel. Ha le akarja menteni valaki, az max kifényképezi.Bocsi, tényleg nem volt erőm visszaolvasni az előzményeket, de úgy érzem már elég régóta tárgyaljátok  
- 
			
			  Soak veterán válasz  Sk8erPeter
							
							
								#10445
							
							üzenetére Sk8erPeter
							
							
								#10445
							
							üzenetéreEgyértelmű, hogy adott div-re lenne mondjuk korlátozva, az engem is földhöz vág, ha globálisan le van tiltva a jobb klikk. Nyilván ki lehet kapcsolni, ezért mondtam én is, hogy a legvégén úgyis leszedi aki akarja(illetve tudja), de pl egy átlag user azt se tudja mi az a JS . Pont ilyesmire gondoltam amit irtál, köszi (mármint a kód) . Nem is baj, ha nem középen van, mert ugye ha a végére érsz akkor nincs tovább. Mostmár lassan eljutok oda, hogy csak ezt kell megoldani, hogy a következő nagyobb lépést megtehessem, szóval elszorakozok vele aztán majd leírom mit alkottam. 
- 
			
			  Sk8erPeter nagyúr válasz  trisztan94
							
							
								#10441
							
							üzenetére trisztan94
							
							
								#10441
							
							üzenetéreNem látom, hogy itt lenne bármilyen ciklus is a több fájlmezőn való bejárásra, szóval az lesz a gond így első ránézésre. 
- 
			
			  Sk8erPeter nagyúr "JS jobb klikk védelmet" 
 Na ezt inkább ne. Legalábbis ne globálisan (úgy értem, max. csak akkor legyen érvényes, ha ténylegesen a képre kattintasz jobb gombbal). Vagy akkor már valahogy flash-sel jelenítsd meg a képet, az is nehezíti a dolgot (ehhez képest a jobbklikkes tiltás tényleg nem sokat ér). De ez a jobbklikk-tiltás engem legalábbis megőrjít, utálom, hogy egy oldal még a böngészőmnél is okosabb akar lenni, a felhasználók nagy része számára szintén rendkívül frusztráló lehet. Meg a JS-t akkor kapcsolod ki, amikor akarod."Ez lenne a cél végsősoron amit mondasz, csak egy léptethető, értelmes galériában. Olyan linkel ami nem évül el (kivéve nyilván ha törölve lett a fotó)." 
 Én is erről írtam korábban, hogy a photo_id-s $_GET-paraméter sem évül el... Hacsak nem törölték a képet, ekkor pedig megjeleníted a komplett galériát, és kész. De őszintén szólva még mindig nem világos számomra, ez miért is nem jó neked. Ha oldalakat akarsz megjeleníteni a képekből dátumra szűrve, az megint más. Ettől még én azt mondanám, inkább többféle megjelenítési módra is kellene gondolni: ahol összegyűjtve, galériaszerűen, albumba rendezve akarod megjeleníteni a képet, ahol dátum szerint rendezel (és nem feltétlenül albumba rendezve, hanem mindent megjelenítesz, ami adott időperiódusban készült), ahol user szerint rendezel, aztán tagek szerint, stb., és van egy, ahol csak egy képet jelenítesz meg nagyban, meg thumbnaileket (kisképeket) a nagyobb kép alatt, amire kattintva tovább tudsz menni a többi képre, meg van előző-következő nyíl.Ha az a gond, hogy több query kellene a lekérdezéshez, meg lehet oldani egy query-vel is, biztos van egyszerűbb is, de most hirtelen ez jutott eszembe, egész gyorsan lefut: SELECT *, 'previous' FROM `photographs` 
 WHERE fid < 34
 LIMIT 2
 UNION
 (SELECT *, 'current' FROM `photographs`
 WHERE fid = 34)
 UNION
 (SELECT *, 'next' FROM `photographs`
 WHERE fid > 34
 LIMIT 2)Így összesen 5 kép jelenik meg, a "középső" az aktuális kép. (Persze nem "középső" lesz a 'current', ha az adott id előtt vagy után nincsenek képek.) 
 Most ezt csak példaként írtam, ahogy hirtelen eszembe jutott, nem feltétlenül ez az optimális megoldás.Egyébként lehet, hogy érdemes lenne keresni egy open source galériamodult PHP-hoz, és azt felhasználni, ahol már a legtöbb ilyen problémát kezelték. 
- 
			
			  Soak veterán válasz  Sk8erPeter
							
							
								#10439
							
							üzenetére Sk8erPeter
							
							
								#10439
							
							üzenetéreItt a "direkt link" alatt nem azt értettem korábban, hogy megnyitod a képet külön fülön mondjuk (bár jogos, tulajdonképpen általában erre vonatkozik), hanem arra, hogy közvetlenül a kép id-ja szerint tudod belinkelni, és ezt a felhasználó is el tudja menteni kedvencek közé, elküldheti, stb... Ez lenne a cél végsősoron amit mondasz, csak egy léptethető, értelmes galériában. Olyan linkel ami nem évül el (kivéve nyilván ha törölve lett a fotó). Egyébként ha meg szerzői jogokra hivatkozva nem akarod, hogy megjeleníthető legyen külön, akkor már eleve buktad a dolgot, ami az internetre felkerül, az már csak úgy védhető le, ha föléraksz egy vízjelet, vagy legalább nehezíted a dolgát a júzernek. Viszont az nem megoldás, hogy ne tudjon közvetlenül hivatkozni egy képre, ha az mondjuk tetszett neki, és később is meg akarja nézni, az oldalad keretével együtt; mert ahogy most szeretnéd, úgy első ránézésre nem fogja tudni csak azt a képet megnézni. Már közeledünk, de egyikünk még mindig a holdon áll  . Tisztában vagyok vele, hogy ami egyszer kikerül a netre az szabad préda, de ahogy tudom megnehezítem azoknak a dolgát akik az egyik "userem" képét szó nélkül akarják vinni, amennyiben ő ezt nem akarja. Az első lépés az, ha kerettel linkelnek, mert ott már akinek esetleg tetszik tudja, hogy kié volt a kép és kérhet engedélyt a felhasználásra, lementésre. Plusz, ott akkor már egy JS jobb klikk védelmet is beállíthat magának a user(tulaj),bár ez kicsit olyan mint a légzsák... sok esetben megvéd, de azért nem 100%-os ... meg még pár ilyen dolog. . Tisztában vagyok vele, hogy ami egyszer kikerül a netre az szabad préda, de ahogy tudom megnehezítem azoknak a dolgát akik az egyik "userem" képét szó nélkül akarják vinni, amennyiben ő ezt nem akarja. Az első lépés az, ha kerettel linkelnek, mert ott már akinek esetleg tetszik tudja, hogy kié volt a kép és kérhet engedélyt a felhasználásra, lementésre. Plusz, ott akkor már egy JS jobb klikk védelmet is beállíthat magának a user(tulaj),bár ez kicsit olyan mint a légzsák... sok esetben megvéd, de azért nem 100%-os ... meg még pár ilyen dolog.Amúgy az ötlött fel bennem, így hsz írás közben, hogy simán beteszek egy photoid-t GET-be (de parasztul hangzik ez így  ) , lekérem az összes photot, megjelenitem az aktuális photoid-t, ugy, hogy melléteszek még két kis thumbnailt valahova (amik maguk léptető linkek), ez által ugye a következő photoid már ott lesz mivel a thumbnail az eredetinek csak egy kisebb keretbefoglalása. 3-ra limitálom ezzel az oldalon lévő fotókat (érdemben csak egy, mivel az elfoglal szinte mindent) . Ezzel csak az a baj, hogy miként oldom meg azt , hogy a két kis thumbnail képet nem úgy kérem, le hogy photoid = x, hanem úgy, hogy a táblában a következő. Mivel így nem évül el soha. ) , lekérem az összes photot, megjelenitem az aktuális photoid-t, ugy, hogy melléteszek még két kis thumbnailt valahova (amik maguk léptető linkek), ez által ugye a következő photoid már ott lesz mivel a thumbnail az eredetinek csak egy kisebb keretbefoglalása. 3-ra limitálom ezzel az oldalon lévő fotókat (érdemben csak egy, mivel az elfoglal szinte mindent) . Ezzel csak az a baj, hogy miként oldom meg azt , hogy a két kis thumbnail képet nem úgy kérem, le hogy photoid = x, hanem úgy, hogy a táblában a következő. Mivel így nem évül el soha.Plusz lehet, hogy hülyén hangzik, de szerintem egy link minnél egyszerűbb annál jobban szeretik a userek. Őket nem érdekli mi történik a háttérben, csak a végeredmény. 
- 
			
			  trisztan94 őstag Sziasztok! Van egy kép upload formom, van egy link amire ha kattintasz bejön még egy file input, de a php script a feltöltésre nem tölti fel az összes képet (pl 4 képet akarsz, akkor van ugye egy input, és lesz még 3. És csak az elsőt rakja fel. itt a script <?php 
 session_start();
 if (!isset($_SESSION['user']))
 {
 session_destroy();
 header('location:ingatlan.php');
 }
 // Deklaráljunk változókat
 // lementjük a mostani könyvtárat
 $directory_self = str_replace(basename($_SERVER['PHP_SELF']), '', $_SERVER['PHP_SELF']);
 // hova tölti fel a képeket
 $uploadsDirectory = $_SERVER['DOCUMENT_ROOT'] . $directory_self . 'ingatlan/';
 // upload form helye
 $uploadForm = 'http://' . $_SERVER['HTTP_HOST'] . $directory_self . 'ingatlanfeltoltes.php';
 // sikeres feltöltés oldala
 $uploadSuccess = 'http://' . $_SERVER['HTTP_HOST'] . $directory_self . 'upload_success.php';
 // mivel töltünk fel
 $fieldname = 'file';
 // Feltöltés kezdete
 // Lehetséges feltöltési hibák
 $errors = array(1 => 'php.ini max file méret túlhaladva',
 2 => 'html form max file méret túllépve',
 3 => 'file csak részben töltött fel',
 4 => 'nincs file');
 // biztonsági cucc, megnézi, hogy nem e máshonnan küldtél-e a formot (igazából ide felesleges, de azért na.)
 isset($_POST['submit'])
 or error('Az oldalon kell feltöltened a képet!', $uploadForm);
 // feltöltési hibakeresés
 ($_FILES[$fieldname]['error'] == 0)
 or error($errors[$_FILES[$fieldname]['error']], $uploadForm);
 // megnézzük, hogy http upload vót' é
 @is_uploaded_file($_FILES[$fieldname]['tmp_name'])
 or error('Nem az oldalról töltötted fel a képet', $uploadForm);
 // ellenőrzés.. mivel ez egy képfeltöltés, megnézzük,
 // hogy valóban csak képeket töltöttek-e fel
 @getimagesize($_FILES[$fieldname]['tmp_name'])
 or error('Csak képeket tölthetsz fel!', $uploadForm);
 // egyedi név a filenak és ellenőrizzük, hogy
 // nem e létezik. addig megy ez amíg nem találunk neki egy nevet
 $now = time();
 while(file_exists($uploadFilename = $uploadsDirectory.$now.'-'.$_FILES[$fieldname]['name']))
 {
 $now++;
 }
 // file megy a végső fázisba, hozzárendeljük a files változóhoz
 move_uploaded_file($_FILES[$fieldname]['tmp_name'], $uploadFilename)
 or error('A feltöltőmappának nincs elég jogosultsága!', $uploadForm);
 // Ha eddig eljön a scipt akkor a kép már a szerveren van
 // Elirányítjuk a user-t a sikeres feltöltés képernyőre.
 header('Location: ' . $uploadSuccess);
 // hibatároló, ha van vmi hiba
 function error($error, $location, $seconds = 5)
 {
 header("Refresh: $seconds; URL=\"$location\"");
 echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"'."\n".
 '"http://www.w3.org/TR/html4/strict.dtd">'."\n\n".
 '<html lang="hu">'."\n".
 ' <head>'."\n".
 ' <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">'."\n\n".
 ' <link rel="stylesheet" type="text/css" href="stylesheet.css">'."\n\n".
 ' <title>Feltöltési Hiba</title>'."\n\n".
 ' </head>'."\n\n".
 ' <body>'."\n\n".
 ' <div id="Upload">'."\n\n".
 ' <h1>Feltöltési Hiba</h1>'."\n\n".
 ' <p>Egy Hiba történt: '."\n\n".
 ' <span class="red">' . $error . '...</span>'."\n\n".
 ' </p>'."\n\n".
 ' </div>'."\n\n".
 '</html>';
 exit;
 } // hibaüzenet vége
 ?>Köszi! 
- 
			
			  Soak veterán válasz  Sk8erPeter
							
							
								#10439
							
							üzenetére Sk8erPeter
							
							
								#10439
							
							üzenetéreInkább úgy mondom ,hogy nem hasznosat generál. Közben összeraktam, hogy wis mit mond, elösször félreértettem. Most kicsit visszamegyek a rajz asztalhoz, megprobálok összedobni valami értelmeset. Köszönöm az eddigi eszmefuttatást. wis : Köszönöm szépen, valami hasonlót összedobok. 
- 
			
			  Sk8erPeter nagyúr Nem értem, a direkt link miért generálna felesleges forgalmat, ezt még nem fejtetted ki. A hotlinkelés generálhat felesleges forgalmat, ezt esetleg lehet szűrni .htaccess-szel. Meg lehet írni úgy is a query-t, hogy az előző és utána lévő pár képet is behozza. 
 Viszont a wis által javasolt dátum szerinti rendezés tényleg jó ötlet, egy áthidaló megoldás a problémádra. A query-nél egyszerűen dátum szerint rendezve kéred le a képeket, az adott dátumnál kisebb vagy épp nagyobb sorrendbe rendezve; így az sem gond, ha közben törölték a képet, mert akkor egyszerűen nem fog szerepelni a találatok között, és kész.
 A (#10437)-ben írt kérdésed viszont megint nem világos, hogy miért ne lehetne ugyanezt a címsorból linkelni. Egy újabb $_GET paraméterként a dátumot is megadhatod, aminél előbb vagy később feltöltött képeket szeretnél megjeleníteni.(#10437) szerk. utáni rész: 
 Itt a "direkt link" alatt nem azt értettem korábban, hogy megnyitod a képet külön fülön mondjuk (bár jogos, tulajdonképpen általában erre vonatkozik), hanem arra, hogy közvetlenül a kép id-ja szerint tudod belinkelni, és ezt a felhasználó is el tudja menteni kedvencek közé, elküldheti, stb... Míg ha ilyen nincs, akkor konkrét képre nem tud hivatkozni, csak dátumokra, az meg gáz. Engem legalábbis idegesítene.
 Egyébként ha meg szerzői jogokra hivatkozva nem akarod, hogy megjeleníthető legyen külön, akkor már eleve buktad a dolgot, ami az internetre felkerül, az már csak úgy védhető le, ha föléraksz egy vízjelet, vagy legalább nehezíted a dolgát a júzernek. Viszont az nem megoldás, hogy ne tudjon közvetlenül hivatkozni egy képre, ha az mondjuk tetszett neki, és később is meg akarja nézni, az oldalad keretével együtt; mert ahogy most szeretnéd, úgy első ránézésre nem fogja tudni csak azt a képet megnézni.Remélem azért már kezdünk kevésbé elbeszélni egymás mellett.  
- 
			
			  wis tag Megnéztem a kepfeltoltes.hu-t, de nem tudom mire gondolsz. Gondolom a képek linkelése valahogy így néz ki: 
 http://valami.hu/kep.php?id=65&galeria=4Na most annyi, hogy hozzáadsz egy újabb feltételt: 
 http://valami.hu/kep.php?id=65&galeria=4&datum=20120712Ezt belerakod egy nem írható szövegmezőbe, vagy akárhova ahonnan az user egyszerűen kimásolhatja. 
- 
			
			  Soak veterán A dátumot tárolom. Ez jó ötletnek tűnik, viszont így nem a címsorból lehetne linkelni, hanem kéne egy külön mező a linkeknek (mint pl a kepfeltoltes.hu-nál) jól értem? Szerk: Még az előző hsz.-emhez, továbbá jogvédelem miatt sem szeretném a direkt linket, mert onnan már csak egy lépés a jobb klikk save. Vagy ügyesebbek printscreen + paint  , engem ugyan nem zavarna, de az biztos nem örül neki aki a képeiből él. , engem ugyan nem zavarna, de az biztos nem örül neki aki a képeiből él.
- 
			
			  Soak veterán válasz  Sk8erPeter
							
							
								#10434
							
							üzenetére Sk8erPeter
							
							
								#10434
							
							üzenetéreHát ez azért necces, mert ha bekerülnek újabb képek az adatbázisba, vagy törölsz párat a régiek közül, akkor teljesen megváltozik a sorrend, tehát mondjuk ami addig az 1. oldalon volt, pl. 20 újabb kép után a 2. oldalra tolódik. Erre utaltam mikor azt mondtam, hogy olyan linket szeretnék ami nem évül el. Most így arra gondoltam ,hogy adok neki egy ?gallery=1 -et, ezzel a kép class megváltozik, tehát nagy lesz, plusz style meg minden fasza. Ugye lesz mögötte egy &photoid=3 , ezzel egyedi a link és azt is tudjuk, hogy melyik képről van szó. Esetleg meg írnám úgy, hogy mindig lekérdezze az SQL-t csak az adott képre. Nem pedig egyszer az elején, hogy behozzon minden képet. Erről mi a véleményed? Mennyire hatékony?! . Plusz az elején legkérdezném az összes képét a usernek, azoknak az id-ját egy arrayba tenném, onnan pedig átadnám a linkeknek. (nem tudom, hogy életképes-e, csak hangosan gondolkozom) . De ez hülyeség lenne, mert akkor kétszer kérdezném az adatbázist, holott az elején megvan már minden id?!  A direkt link azért nem jó mert csak felesleges forgalmat generál, plusz bevételt sem termel. Nem akarom letiltani, de nem akarom szorgalmazni 
- 
			
			  Sk8erPeter nagyúr "Na most, ha valaki nézi ezt a nagy képet akkor szeretném ha tudná linkelni is, nem direkt linkként - fehér háttéren a kép-, hanem a konkrét oldalt amin van, mindenestől." 
 Hát ez azért necces, mert ha bekerülnek újabb képek az adatbázisba, vagy törölsz párat a régiek közül, akkor teljesen megváltozik a sorrend, tehát mondjuk ami addig az 1. oldalon volt, pl. 20 újabb kép után a 2. oldalra tolódik.
 Az még esetleg kerülő megoldás lehet, hogy $_GET paraméterként megadod a photo_id-t és még egy egyéb paramétert is, ami jelzi, hogy galériaszerűen akarod megjeleníteni, tehát legyen előtte és utána is kép, vagy csak utána, stb... ekkor adatbázisból ennek megfelelően kérdezed le az eredményeket, hogy mindenképp köztük legyen a megadott photo_id-val jelölt kép is.
 Az előző-következő nyilak kezelése meg nem olyan nehéz, de ahogy elnéztem, ez nálad kezelve is van valahogy a $pagination->has_previous_page() és $pagination->has_next_page() metódusokkal.
 De egyébként ha az adott képet nagyban meg lehet nézni, tehát az van a "középpontban" akkor most hirtelen nem világos számomra, miért nem jó az, hogy a photo_id szerint direkt linkeled be, és akkor attól még felajánlhatod az előző-következő képeket, és lekezeled azt az esetet is, ha azóta a képet törölték: ha ez a helyzet, akkor pl. megjeleníted a teljes galériát (esetleg jelezheted azt is, hogy azóta az adott képet törölték), vagy hasonló.
- 
			
			  Soak veterán válasz  Sk8erPeter
							
							
								#10432
							
							üzenetére Sk8erPeter
							
							
								#10432
							
							üzenetéreSzóval itt még egyáltalán nem jön képbe a képnek a konkrét id-ja... Pont ez a problémám, mert amit a hsz.-ed második részében leírtál meg van csinálva egy másik területen, ahol nem számit melyik képeket jeleníti meg, egyszerűen az össze képet eltördeli page-kre. De akkor ugy mondom, hogy amit te leírtál, kitesz mondjuk 20 képet. Amik egyben linkek is. Ezek a linkek egy "galériába" mutatnak, ahol nagyobb méretben lehet látni a képeket. Akkorában, hogy csak 1 fér el, tehát itt igazából az offsetnek nincs is jelentősége . Na most, ha valaki nézi ezt a nagy képet akkor szeretném ha tudná linkelni is, nem direkt linkként - fehér háttéren a kép-, hanem a konkrét oldalt amin van, mindenestől. Plusz ugyanúgy tudna lépkedni a képek között a gombokkal. A kézenfekvő megoldás, hogy $_GET[photo_id] és akkor egyedi a link és soha nem avul el, viszont ilyenkor hogyan kezelem a léptető linkeket úgy, hogy sorban legyenek - magyarul 10 kép közül, ha az 5-ket nézem akkor balra és jobbra is tudjak menni, de ha a 10.-et akkor csak balra - a képek, vagy inkább a jobb kérdés, hogy miként adom át a léptető linkeknek dinamikusan a fénykép id-ját. 
- 
			
			  Sk8erPeter nagyúr Hát meg kellene különböztetni a kép id-ját és a page-et: a page-dzsel csak megadod, hogy az adatbázisból lekért, korlátozott mennyiségből hanyadik oldalt szeretnéd megjeleníteni. 
 De elvileg hasonlót csinál a kódod is, tehát csak limitálja a lekért mennyiséget, és megad egy bizonyos offsetet is, ahányadik rekordtól meg akarod mutatni az eredményhalmazt.
 Szóval itt még egyáltalán nem jön képbe a képnek a konkrét id-ja...Vegyük azt, hogy pl. van 200 képed. Egy oldalon 20 képet jelenítesz meg, tehát az 1. oldal lekérése így néz ki: 
 SELECT * FROM photographs LIMIT 0, 20
 aztán a 2. oldal megmutatása:
 SELECT * FROM photographs LIMIT 20, 20
 a 3. oldalé:
 SELECT * FROM photographs LIMIT 40, 20
 a 4. oldalé:
 SELECT * FROM photographs LIMIT 60, 20
 és így tovább...(Utóbbi egyébként ekvivalens ezzel: 
 SELECT * FROM photographs LIMIT 20 OFFSET 60
 )A képekhez tartozó linkekbe meg belegenerálhatod a photo_id-t... 
 Remélem szép lassan közelebb kerülünk a megoldáshoz. Kérdezz, ha valami még nem érthető.
- 
			
			  Soak veterán válasz  Sk8erPeter
							
							
								#10430
							
							üzenetére Sk8erPeter
							
							
								#10430
							
							üzenetéreNormális esetben egy képhez egyetlen id tartozik, tehát egyértelműen azonosítja. Igen, ezzel nincs is probléma, csak hogy amikor az aktuális képet nézem ezzel a módszerrel a többi kép id-ját, hogy adom át a linkeknek?A képek alatt mondjuk igy néz ki a link sor previous 1 2 3 4 5 next , itt ugye az utolsó és az első változik a többi elvileg fix. Az offsetnek pedig a címben is megadhatod a kezdetét és végét, vagy ahogy most is csinálod, egyszerűen megadod a page számát, és akkor nyilván nem kell id a címbe. Épp ez a probléma, ha a user letörli az első képet akkor már rossz a link, mert egy másikra mutat, ha page szám van megadva. Lehet, hogy elbeszélünk egymás mellett és egyszerű a megoldás, de nekem most nem világos. Szerk: Azért oldottam meg így mert így a userhez tartozó képekkel dolgozom.A session nem biztos, hogy be van állítva, de ha nincs akkor használja a get[id]-t . Fejlesztési fázisban van a dolog, nem végleges amúgy sem. 
- 
			
			  Sk8erPeter nagyúr Pedig "elég magától értetődő mi történik", épp Te írtad.  "csak hogyan linkelen egy olyan id-t amit elvileg adott környezetben nem látok, mivel minden esetben csak 1 képet kapok" 
 Mi az, hogy "adott környezetben nem látod"? 
 Normális esetben egy képhez egyetlen id tartozik, tehát egyértelműen azonosítja.
 Az offsetnek pedig a címben is megadhatod a kezdetét és végét, vagy ahogy most is csinálod, egyszerűen megadod a page számát, és akkor nyilván nem kell id a címbe.Szerk.: egyébként most látom, hogy itt az id-vel user id-t azonosítasz... nem tudom, milyen rendszert használsz, miért így van megoldva, és ennek mi értelme. Meg van egy ilyen: 
 if(!isset($_GET['id']) AND !isset($_GET['user']))
 
 {
 $id = $_SESSION['user_id'];
 }A $_SESSION['user_id'] biztos, hogy be lesz ezelőtt állítva? Egyébként minél többet nézem, annál kevésbé világos a megvalósítás miértje. 
- 
			
			  Soak veterán válasz  Sk8erPeter
							
							
								#10428
							
							üzenetére Sk8erPeter
							
							
								#10428
							
							üzenetéreIgen, eddig én is eljutottam, csak hogyan linkelen egy olyan id-t amit elvileg adott környezetben nem látok, mivel minden esetben csak 1 képet kapok (mármint a php) . Tehát ha belinkelek egy fotót akkor onnan hogyan generálok php-vel linkeket a többire? Mert ha a limit nem egy akkor ugye több fotót kapok mint kéne. Plusz a ?page=xy mindig benne lesz a linkbe és az meg nem fix. U.i.: Ezt a kódot nem én írtam, azóta már egész máshogy néz ki, nem értem amúgy mi ennek a módszernek a logikája. 
- 
			
			  Sk8erPeter nagyúr A linkbe tedd bele a fotónak mondjuk az id-ját, és aszerint szűrj. 
 Pl. /photos.php?id=123123Így már lesz $_GET['id']-d. 
 De felhasználótól érkező adatot soha ne hagyj ellenőrizetlenül!
 Mielőtt adatbázis-query-t futtatnál, escape-eld - de inkább jobbat javaslok, használj prepared statementeket!
 Ezt muszáj belinkelnem: [link]. Szerk.: 
 echo " <a href=\"photos.php?page={$i}\">{$i}</a> ";
 HELYETT pedig lehetne
 echo ' <a href="photos.php?page='.$i.'">'.$i.'</a> ';
- 
			
			  Soak veterán Sziasztok ! Szeretném a véleményeteket kérni, hogy miként kéne megoldanom azt, hogy úgy tudjak lapozni képek között, hogy mindig 1 van megjelenítve és mindegyiknek egyedi a linkje (tehát nem csak a képet lehet linkelni hanem magát az oldalt ahol megjelenik) . Van egy ilyen megoldásom amit máshol használok, de ebben az a hiba, hogy a linkek nem egyediek, mivel ha változik a sorrend akkor a link alatt a kép is változik. Nem teszek be mindent mert elég magától értetődő mi történik. $pagination = new Pagination($page, $per_page=1, $total_count); 
 
 if(!isset($_GET['id']) AND !isset($_GET['user']))
 
 {
 $id = $_SESSION['user_id'];
 }
 
 elseif (isset($_GET['id']) AND isset($_GET['user']))
 {
 $id = $_GET['id'];
 }
 
 $sql = "SELECT * FROM photographs ";
 $sql .= "WHERE users_id={$id} ";
 $sql .= "LIMIT {$per_page} ";
 $sql .= "OFFSET {$pagination->offset()}";
 $photos = Photograph::find_by_sql($sql);
 if($pagination->total_pages() > 1) {
 
 if($pagination->has_previous_page()) {
 echo "<a href=\"photos.php?page=";
 echo $pagination->previous_page();
 echo "\">« Previous</a> ";
 }
 for($i=1; $i <= $pagination->total_pages(); $i++) {
 if($i == $page) {
 echo " <span class=\"selected\">{$i}</span> ";
 } else {
 echo " <a href=\"photos.php?page={$i}\">{$i}</a> ";
 }
 }
 if($pagination->has_next_page()) {
 echo " <a href=\"photos.php?page=";
 echo $pagination->next_page();
 echo "\">Next »</a> ";
 }
 
 }
- 
			
			  DeltaPower addikt válasz  trisztan94
							
							
								#10425
							
							üzenetére trisztan94
							
							
								#10425
							
							üzenetéreNem kell két külön tábla. 
 Az első beillesztés után lekérdezed a rekord id-jét (pl mysql_insert_id()-vel) és a személyes adatok megadása után updateled ezt a rekordot.
- 
			
			  trisztan94 őstag Van egy regim, 2 részből áll. Az első az alapadatok, bemegy sqlbe, aztán kitöltöd a személyes adatokat akkor az meg megint. Hogy tudom összefúzni a két táblát ?  
- 
			
			  trisztan94 őstag válasz  trisztan94
							
							
								#10423
							
							üzenetére trisztan94
							
							
								#10423
							
							üzenetéreMegvan a megoldás, sry a dupla postért!  echo "<div class='lapozo'><a onclick='story_changepage($page);' href='../html/blog.php#tortenetek?page=$page'>$page</a></div>"; ennyi volt a baj  
- 
			
			  trisztan94 őstag Ahoy elvtársak! Próbálgatok egy lapozót csinálni, képeknél is ugyanezt használtam, de valamiért történeteknél nem működik. Itt lenne az kód: <?php 
 $dataArray = array();
 //Number of chars for the string
 $num = 500;
 $dir = '../php/biralas_tortenetek/';
 $willcount = readdir(opendir($dir));
 $i = -1;
 //Check if </div>DIR e</div>xists
 if ($handle = opendir($dir)) {
 //Loop over the directory
 while (false !== ($file = readdir($handle))) {
 //Strip out the . and .. files
 if ($file != "." && $entry != "..") {
 //Store file contents
 $filecontent = file_get_contents($dir . $file);
 //Split the content and store in array
 $length = strlen($filecontent);
 $dataArray[$i++] = array(substr($filecontent, 0, $num), substr($filecontent, $num, $length ));
 }
 }
 //close the dir
 closedir($handle);
 }
 $totfiles = $i;
 $page = isset($_GET['page']) ? $_GET['page']-1 : 0;
 echo "<br/>";
 for($x=$page*1; $x < $totfiles && $x < ($page+1)*1; $x++) {
 $data = $dataArray[$x];
 ?>
 <div class="visible">
 <?php echo $data[0] . $data[1]; ?>
 </div>
 <?php
 }
 for($page=1; ($page-1)*1 < $totfiles; $page++)
 {
 echo "<div class='lapozo'><a href='../html/blog.php#tortenetek?page='$page''>$page</a></div>";
 }
 ?>Igazából az alja az ami lényeges. Köszi szépen!  
- 
			
			  cucka addikt válasz  DeltaPower
							
							
								#10418
							
							üzenetére DeltaPower
							
							
								#10418
							
							üzenetéreJobban megnézve igazad van, elnéztem a zárójelezést. 
- 
			
			  cucka addikt válasz  fordfairlane
							
							
								#10415
							
							üzenetére fordfairlane
							
							
								#10415
							
							üzenetéreCsak halkan szólok, hogy ez a regexp match-elni fog a "@asd" email címre is, érdemes lenne még dolgozni rajta. 
- 
			
			  fordfairlane veterán Hát akkor nincs ötletem. Próbáld ki, az összes megadott emailre jól működik: <?php 
 $emailcim = "robert.boldi[kukucc]kombiterminal.hu";
 if(preg_match( "/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])+([a-zA-Z0-9])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+([a-zA-Z0-9])+$/" , $emailcim)) {
 echo 'match!';
 }
 ?>Email kukacjelet kicseréltem, nehogy valami crawler szemétláda begyűjtse innen. 
- 
			
			  biker nagyúr válasz  fordfairlane
							
							
								#10413
							
							üzenetére fordfairlane
							
							
								#10413
							
							üzenetéreépp az a bajom, hogy átengedte a szóközt tartalmazó emailcímeket, és azok meg hazavágták random a swiftmailert, az egy dolog, hogy a szóköz miért ment át, de ezeket már kiszedtem sql-ből  
 ezek a teljesen jó címek érthetetlen, hogy mégis kiszállnak.
- 
			
			  biker nagyúr van 800 cím, amiből ezeket a helyes címeket veszi hibásnak, az összes többiről jól dönti el, hogy jó vagy sem. 
 A kérdés az, mi az oka annak, hogy ezek fennakadnak?azért negálom, mert abban az if ágban hajt végre, és azt, hogy nekem így jó, nem ez a kérdés! az adott emailcímeknek NEM kellene fennakadniuk, mégis fennakadnak 
- 
			
			  CSorBA őstag válasz  Sk8erPeter
							
							
								#10410
							
							üzenetére Sk8erPeter
							
							
								#10410
							
							üzenetéreA csudába, tényleg nem jó. Most azért remélem nem akarnak nálam ékezetes emaillel admint regelni  
- 
			
			  Sk8erPeter nagyúr Itt külön-külön tesztelve mindig ad match-et. (#10409) CSorBA : sajnos ez csak első szűrőnek jó, mert amúgy jó címekre nem lesz jó a teszt, pl. pont korábban volt szó róla, hogy az ékezetes neveket tartalmazó domainekre sem jó. (mondjuk akkor FILTER_VALIDATE_URL-ről volt szó, de gondolom egy része közös a függvényeknek) 
 Mondjuk ahogy nézem, a biker által mutatott regexp sem lesz jó ilyenekre. 
- 
			
			  biker nagyúr Magyarázzátok már el, hogy ezeket a címeket a lenti ellenőrző miért tekinti hbásnak? 
 fojtyik@rastyl.hu
 palffy@seawing.hu
 robert.boldi@kombiterminal.huif( !preg_match( "/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])+([a-zA-Z0-9])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+([a-zA-Z0-9])+$/", $emailcim)) símán helyesek ezek a címek, nem? 
- 
			
			  Sk8erPeter nagyúr Hát akkor kicsit túlérzékeny vagy.  Ott volt direkt a "vagy én értem félre a kérdést", mert kicsit túl szarul tetted fel a kérdést, már bocs. Ott volt direkt a "vagy én értem félre a kérdést", mert kicsit túl szarul tetted fel a kérdést, már bocs. Szerk.: zacskó. Szerk.: zacskó. Komolyra fordítva: 
 fordfairlane előttem elég jól megfogalmazta, hogy ha a kérdésedet nem tudod megfogalmazni úgy, hogy mi is értsük, akkor ne várj jobb választ. Hülye kérdésre hülye válasz. És akkor cserébe nem kell visszavágni azzal, hogy "mindenkit kioktatsz", mert akkor ott tartunk, mint az óvodában. Mellesleg ha visszanézel a topicban vagy a többiben, akkor a sok "kioktatás" azért nem egy ember számára segítséget jelentett, szóval lehet, hogy valakik számára hasznosat is írtam, miután megköszönték a kőkemény kioktatást, amit én szoktam tolni. 
 A másik meg az, hogy nem vagyunk porcelánbabák, ne kelljen már szofisztikáltan fogalmazni, hogy ne sértődj meg apróságokon.
- 
			
			  fordfairlane veterán Tehát egy egyszerű szöveges hivatkozással szeretném elpostázni a dolgot. Előtte már utánakerestem, de nem találtam olyan megoldást ami "tetszett" volna, ha meggyőztök, hogy azt így akkor oké'. Hivatkozásként paramétert átadni? <a href="veszemaparameredet.php?paramnev1=paramvalue1¶mname2=paramvalue2"> "Dolgot" "elpostázni" nem túl egyértelmű leírása a problémának, így most részemről ennyi, bár le merem fogadni, hogy nem erre a válaszra vártál. 
- 
			
			válasz  Sk8erPeter
							
							
								#10404
							
							üzenetére Sk8erPeter
							
							
								#10404
							
							üzenetéreHát egy része a hsz. -nek nem esett jól. Szerintem ennyire nem írtam le azért érthetetlenül, nem tudhatok mindent. Mellesleg ott volt egy  is. is. 
- 
			
			válasz  Sk8erPeter
							
							
								#10402
							
							üzenetére Sk8erPeter
							
							
								#10402
							
							üzenetéreEngem meg már nem lep meg, hogy mindenkit kioktatsz... kutyuli!  Lenne rá ötletem, csak feleslegesen nem akarok kalapálni, időt vesztegetni vele. Lényeget kihagytam, hogy javascript nélkül szeretném megvalósítani. Amúgy szerintem szimplán bénán írtam le amit akarok, ezért bocsi! Lenne rá ötletem, csak feleslegesen nem akarok kalapálni, időt vesztegetni vele. Lényeget kihagytam, hogy javascript nélkül szeretném megvalósítani. Amúgy szerintem szimplán bénán írtam le amit akarok, ezért bocsi!De vegyük sorra mégegyszer!  (ha most én értem félre előre bocsi!) (ha most én értem félre előre bocsi!)"Azzal fordulnék hozzátok, hogy lehet megvalósítani azt, hogy egy formot elposztoljak linkel." Tehát egy egyszerű szöveges hivatkozással szeretném elpostázni a dolgot. Előtte már utánakerestem, de nem találtam olyan megoldást ami "tetszett" volna, ha meggyőztök, hogy azt így akkor oké'. A másik megoldás, hogy minden egyes sorba teszek két gombot, amit beformázok mintha hivatkozás lenne és azzal aktivizálom az űrlap küldést. Itt csak az nem világos, hogy az egyetlen információt, az azonosítót hogyan küldöm el. Szerk.: remélem azért nincs harag, így este már fáradt vagyok...  Brájen! Brájen!
- 
			
			  Sk8erPeter nagyúr JavaScript nélkül a szokásos formokkal, bár őszintén szólva már az is meglep, hogy ezt a kérdést felteszed, vagy én értem félre a kérdést... Ha küldtél már el formot valaha, akkor tudnod kéne, hogy küldesz szerveroldalra formadatot. Azonosítót lehet akár hidden mezőként is meg sok egyéb ötlet is lehet rá, de egy ideje PHP-zol, hogy merül fel a kérdés? Vagy esti összezavarodás?  
 JavaScripttel meg pl. a jQuery akármelyik AJAX-os függvényével összepakolhatsz adatokat, formból pl. a .serialize() függvényt használhatod...
- 
			
			Heló! Azzal fordulnék hozzátok, hogy lehet megvalósítani azt, hogy egy formot elposztoljak linkel. Van egy táblázatom, tartalmazza a felhasználókat, és van mindegyik sorban egy "Töröl" és "Szerekeszt" gomb. Azt szeretném megoldani, hogy fixen elposztolom a Törölni és/vagy szerkeszteni kívánt adat azonosítóját, amit egy másik függvény feldolgoz. mobal, 
Új hozzászólás Aktív témák
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Milyen billentyűzetet vegyek?
- Path of Exile (ARPG)
- Vezeték nélküli fülhallgatók
- sziku69: Szólánc.
- S.T.A.L.K.E.R. 2: Heart of Chornobyl
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- VR topik (Oculus Rift, stb.)
- EA Sports WRC '23
- A világűrbe repíti az AI-t az NVIDIA és a Starcloud
- További aktív témák...
- ÚJ HP OmniBook Ultra Flip 14"OLED 2,8 K 120Hz - Ultra 7 256V - 16GB - 1TB - 2,5 év gari - MAGYAR
- Minis Forum Mini PC MS-A2 Ryzen 9955HX RAM és SSD nélkül 1 év garanciával
- HP 14 Elitebook 640 G9 FHD IPS i5-1235U 4.4Ghz 10mag 16GB 256GB Intel Iris XE Win11 Pro Garancia
- AKCIÓ!!! RITKASÁG! Microsoft Surface Pro 11 Qualcomm Snapdragon X Elite 16GB 512GB OLED 120Hz Gar!
- Nintendo Switch 2 // Számla + Garancia //
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
 
								 
							 
								 
							 
								 
								 
							
 
							
 
								 
								 
							 
								 
							
 
								 
								
 A $senders-re vonatkozó részt tényleg félreértettem... hát igen, nem árt, ha normálisan van indentálva a kód....
 A $senders-re vonatkozó részt tényleg félreértettem... hát igen, nem árt, ha normálisan van indentálva a kód....


 
								 
							 
							 Folyamatosan tanulok, nem ez a szakmám, csak hobbi.
 Folyamatosan tanulok, nem ez a szakmám, csak hobbi. Mi a francnak mész végig rajta külön-külön?!
 Mi a francnak mész végig rajta külön-külön?! 
								 
							 
							 
							 
								 
								 
								 
								
 
							 
								 
								 .
 . érdekes, a képes oldaoon működött. JA, most ilyen 10k+ ismeretlen karaktereket dob be.
 érdekes, a képes oldaoon működött. JA, most ilyen 10k+ ismeretlen karaktereket dob be. 
								 
							 
							 
								 
							 
							
