- Poco M3 - felújított állomás
- Térerő gondok, tapasztalatok
- iPhone topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Egy szenzor, két zoomkamera: újraírta a Huawei a mobilfotózás történetét
- Google Pixel topik
- Milyen okostelefont vegyek?
- Honor Magic6 Pro - kör közepén számok
- One mobilszolgáltatások
- Olcsó Galaxyk telepíthetik a One UI 7-et
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
TomyLeeBoy #15699 üzenetére
Két probléma van:
1. sprintf()-et használsz, ami UTF-8-as karakterekre nem működik megfelelően
2. a regexpben az "u" modifiert kellene használnod:
http://php.net/manual/en/reference.pcre.pattern.modifiers.php
"u (PCRE_UTF8)
This modifier turns on additional functionality of PCRE that is incompatible with Perl. Pattern strings are treated as UTF-8. This modifier is available from PHP 4.1.0 or greater on Unix and from PHP 4.2.3 on win32. UTF-8 validity of the pattern is checked since PHP 4.3.5."Röviden a megoldás: a külön $pattern változó helyett a cikluson belül így nézzen ki a $regex változód, hogy egyből be is helyettesíted az értéket, így kikerülöd az sprintf() használatát:
$regex = '/(?!<.*?)('.$needle_s.')(?![^<>]*?>)/iu';
Így már működni fog. (Ugyanazt csinálja, mint a korábbi kódod, csak össze van fűzve a string a %s behelyettesítése helyett, és elláttam az u modifierrel (lásd a case insensitivity-t jelölő i modifier után).)
Még egy fontos dolog: a font tageket ma már nem használjuk (nagyon régóta deprecated), szóval azt cseréld le span-re, és ugyanúgy működni fog.
-
TomyLeeBoy
tag
Sziasztok!
A következő script-el próbálkozok:
<?php
header('Content-Type: text/html; charset=utf8');
function str_highlight($text, $needle, $highlight = null)
{
$ekezet=array("(í|Í)","(á|Á|A|a)","(é|É)","(ö|Ö)","(ü|Ü)","(ó|Ó)","(ő|Ő)","(ú|Ú)","(ű|Ű)");
$rep_reg=array("[Íí]{1}","[ÁáAa]{1}","[Éé]{1}","[Öö]{1}","[Üü]{1}","[Óó]{1}","[Őő]{1}","[Úú]{1}","[Űű]{1}");
if ($highlight === null) {
$highlight = '<font style="background-color:#fff447; color:#000000";>\1</font>';
}
$pattern = '/(?!<.*?)(%s)(?![^<>]*?>)/i';
$needle = (array) $needle;
foreach ($needle as $needle_s) {
$needle_s = preg_quote($needle_s);
$needle_s = preg_replace($ekezet,$rep_reg,$needle_s);
$regex = sprintf($pattern, $needle_s);
$text = preg_replace($regex, $highlight, $text);
}
return $text;
}
$handle = "Árvíztűrő tükörfúrógép";
$valami = array('árv');
echo str_highlight($handle,$valami);
echo "<br>".$handle;
?>Ami teljesen jó lenne, ha a kiemelt szövegben is megmaradnának az ékezetes karakterek. Ha a stringet kiíratom jó, ha $valamiben van ékezetes karakter, és talál is kiemelendőt, akkor ott már. Miért lehet ez?
Oldal is utf-8-ba mentve.
-
Doctor46
csendes tag
válasz
Sk8erPeter #15690 üzenetére
Még nem álltam neki majd jövő héten fogok de ciklust hát nem igazán ..:/ a FOR ciklusra gondolsz?
-
biker
nagyúr
válasz
DeltaPower #15696 üzenetére
Ez is suhoshinnel fut...
-
biker
nagyúr
válasz
Tele von Zsinór #15694 üzenetére
értem.
Most visszaváltottam a kiszolgálón 5.2-re, szerencsére választható, 5.2, 5.3, 5.4, 5.5
de ha megemelik 1000-ről 3-4.000-re, már nincs gond, vagy a kedves ügyfél egy címre nem vesz fel 30nál több berendezést
és lesz a cím/a cím/b stb -
Tele von Zsinór
őstag
Ez a "feature" egyébként ennek mitigálására került be: CVE-2011-4885
Röviden: triviális módon lehetett DoS-elni a szervert úgy, ha olyan inputot adtál neki (mondjuk postban), ahol a tömb kulcsainak ugyanaz a hash-e így arra kényszerítve, hogy ugyanabba a láncolt listába nagymennyiségű adatok tegyen - ez pedig abból jön, ahogy belsőleg a php kezeli a tömböket.
Úgy rémlik, ugyanakkor több nyelv is belefutott ugyanebbe (java és c# rémlik határozottan).
-
biker
nagyúr
válasz
Peter Kiss #15692 üzenetére
miért is nem az?
annyi ilyet hallok, már kezdek eret vágni
egy form nem csak 3 mező lehet, szerintem, van élet a login formon túl is, nem?de kérlek, tényleg, meséld el, miért nem "ésszerű" ennyi adatot átadni? (azon kívül, hogy üzemszerűen tényleg nem ennyire lett tervezve, az esetek 90%-ában 2 klíma van (kültéri, beltéri) tehát 68 form mező, 8% a VRV vagy multi kiépítés, fancoilok, folyadék hőcserélők, ahol lehet egyszerre 6-8 is, ez volt a tervezési limit, de megnyerték a megye összes iskoláját, és egy fenntartóhoz tartozik akár száz klíma is. amit lekér és szerkesztés után továbbít. Küldje egyesével??? nem, szeretné egyben elküldeni, nem 90-100 kattintással
Gondolom ez nem égbekiáltó bűn.Hadd ne tegyem már egy b...i nagy tömbbe az egészet és nyerjem ki újra a másik oldalon, bár ez is egy megoldás...
-
biker
nagyúr
már megint szívtam, mire kiderült, nem én vagyok a hülye. olyan hiba, ami előtt nézek mint a birka az újkapura, hogy ilyen nincs...
az megvan mindenkinek, hogy php 5.3 óta van egy input_max_var opció, ami default 1000, de nem úgy működik, mint a post max size limit, 2M, hogy ha nagyobb ,mint 2M akkor nem tölt fel, hanem 1000 kulcs lehet a post/get vars-ben, és ha ennél több, akkor eldobja(!!!!) a plusz értékeket, és meghagyja a többit.
Van egy crm rendszerem, amibe az egyik ügyfélhez a szokásos 3-5-10 klíma berendezés helyett 93 klíma került fel, és csak az első 34-re tudtunk munkát szervezni.
Akármennyi ügyfél akármennyi klímája jó, ennél nem, mondom ilyen nincs
Debugolás közben észreveszem, hogy a post var számolása mindig 1000-nél megáll, holott klímánként 27-28 form mező kerül küldésre (munka, dátum, ki megy, stb stb) és 34-35 klímáig elmegy, onnan semmit nem nyomtat ki. mert ELTŰNT a post végeAzért ez elég hülye működés, hogy nem hibát dob, hanem csendben levág.
Ja, és ini_set-el nem módosítható -
Doctor46
csendes tag
Sziasztok!
Egy kis segítséget szeretnék kérni az év végi beadandó munkámhoz.
NetBeans-ben kellene csinálnom egy weblapot ami megy is, csak kell bele tenni PHP programkódot amit annyira nem értek.
Annyit szeretnék,hogy egy képet többször jelenítsen meg egymás mellett, ezt szeretném php-ban megírni. -
coco2
őstag
Egy ideig nem kísértem figyelemmel, mik történtek a mysql környékén, és most fogadott egy meglepetés.
Ezeket találtam:
http://www.mysql.com/oem/ (A classicból eltűnt az InnoDB?)
http://www.mysql.com/products/ (Üzleti célra fizetős lett a mysql?)Valamikor 2 évvel ezelőtt ezek nem így voltak. Mikor változtak meg?
-
moltam88
tag
válasz
Speeedfire #15682 üzenetére
Amiket írsz, azok futás közben keletkezett hibák (notice, warning, stb.), nem kivételek. A try-catch blokk csak a futás közben keletkezett kivételeket kapja el (Exception osztály, és azok leszármazottai).
Olvasd át a php.net-en levő leírást, és kódrészleteket a kivételkezeléssel kapcsolatban, biztos hogy sokat fog segíteni: [link]
Ha a hibákat akarod eltüntetni, akkor ajánlott azokat kijavítani, és nem csak a megjelenítést kikapcsolni. Természetesen van lehetőség a hibák megjelenítésének kikapcsolárása is: a php.ini-ben kell kikapcsolni a megjelenítésüket, vagy php-ben az ini_set() függvénnyel. Ebben az esetben a display_errors és az error_reporting opciókra lesz szükséged.
-
norby10
csendes tag
Bocsánat, hogy az elöző problémáim megoldásának kifejtésével nem törödtem, de ismét lenne egy ami nem tudom,hogy mért áll fenn.
-
Speeedfire
félisten
válasz
Tele von Zsinór #15681 üzenetére
Azt szeretném megkérdezni, hogy miért nem kapja el.
Van egy nagy try blokk a végén egy catch (Exception $e)-vel és van, hogy egy sima undefined index, vagy nem megfelelő property-nek akarok átadni értéket már nem kapja el. Van az is lehet, hogy a framework kapja ezeket el korábban?
-
Tele von Zsinór
őstag
válasz
Speeedfire #15680 üzenetére
Nem értem, mit akarsz kérdezni. Ha van egy try blokkod, azon belül ha (akármennyi függvényhívással beljebb) létrejön egy exception, akkor el fogja kapni, ha:
- nincs beljebb másik try blokk, ami elkapja
- van az exceptionnek megfelelő catch ágad -
Speeedfire
félisten
try{}catch{}-el kapcsolatban érdeklődnék, hogy mekkora blokkokra lehet, illik tenni ezeket?
Pl ha van egy nagyobb blokk, amiben vannak egyéb függvényhvások, akkor már nem kapja el. Ezzel kapcsolatban vannak hiányosságaim. Valaki fel tudna világostani? -
Sleed
aktív tag
válasz
PumpkinSeed #15678 üzenetére
Köszi a gyors választ!
-
Sleed
aktív tag
sziasztok!
van egy kódom, ami minden betöltésnél egy véletlenszerű képet dob háttérnek
<?php
$bg = array('bgimage1.gif', 'bgimage2.gif', 'bgimage3.gif' );
$i = rand(0, count($bg)-1);
$selectedBg = "$bg[$i]";
?><style type="text/css">
#picture{
background-image: url(img/<?php echo $selectedBg; ?>);
}
</style>át lehet valahogy írni úgy hogy a lap betöltése után mondjuk 3 másodpercenként új képet töltsön be?
vagy phpval nem tudom real-time módosítani a html kódot?előre is köszi
-
norby10
csendes tag
válasz
DeltaPower #15672 üzenetére
JA ez volt
-
Sk8erPeter
nagyúr
válasz
DeltaPower #15674 üzenetére
Hú basszus, látszik, hogy rohadt fáradt vagyok, pont ott van a lényeg, abban, amit én magam idéztem, hogy "The default value is the current directory that the cookie is being set in", és így már összeállt, hogy miért mondtad, amit mondtál.
-
DeltaPower
addikt
válasz
Sk8erPeter #15673 üzenetére
Ha pl. path kinézetű nice url-t használ az ember, akkor erősen meg tudja szopatni magát azzal ha nem állít cookie path-t. Tudom mert nekem sikerült
-
Sk8erPeter
nagyúr
válasz
DeltaPower #15672 üzenetére
Na várj, de a path pont opcionális paraméter:
http://www.php.net/manual/en/function.setcookie.php
bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )"path
The path on the server in which the cookie will be available on. If set to '/', the cookie will be available within the entire domain. If set to '/foo/', the cookie will only be available within the /foo/ directory and all sub-directories such as /foo/bar/ of domain. The default value is the current directory that the cookie is being set in." -
DeltaPower
addikt
válasz
Sk8erPeter #15671 üzenetére
Tippelek a kódrészlet alapján, nem állított cookie path-t.
-
norby10
csendes tag
válasz
Sk8erPeter #15669 üzenetére
sikerült megoldani..
-
norby10
csendes tag
Nem akarja létrehozni a cookiet!
TIPP? -
coco2
őstag
Létezik valahol olyan topic, ami facebook webapi hívásokkal foglalkozik? Például ha C# alól több szálasan fb graph hívásokat kellene végrehajtani, létezik olyan irányú dokumentáció valahol, vagy a maximum, amit tehetek, hogy az fb php libjéből magam kotrom elő, amit használni akarok?
-
Tele von Zsinór
őstag
válasz
trisztan94 #15653 üzenetére
Tippre ez a gond, igen. Mélyebb belenézés nélkül:
vagrant ssh
sudo -i
vim /etc/php.ini
service httpd restartHa a centos 6.5 úgy működik, mint emlékszem, ennyi elég lesz.
-
norby10
csendes tag
1p most megprobálom cookieval is
-
trisztan94
őstag
válasz
trisztan94 #15657 üzenetére
Megoldva, nem volt telepítve a php-xml
-
DNReNTi
őstag
válasz
norby10 #15656 üzenetére
"Mi módon ellenőrizem,hogy van belépve valaki?.."
Azt írtad "Készítettem egy honlapot ahol szükség volt regisztrációs felületre", gondolom akkor ez kész. Lehet regisztrálni, be és kilépni ésatöbbi.
Hát ööö... amikor belép valaki hogy ellenőrzöd?Amikor valaki helyes adatokkal kitölti a bejelentkező felületet és belép, akkor indítasz egy munkamenetet (session), vagy tárolsz róla sütiket (cookie). Akármelyik módszert is használod célszerű írni egy függvényt, vagy ha oop, akkor a felhasználó osztályban egy "gettert" ami ellenőrzi hogy van e érvényes felhasználói munkamenet, ha van kigyűjti annak szükséges adatait, ha nincs akkor meg hibát/kivételt dob. Ezt a függvényt, vagy metódust minden olyan oldalon meghívod ahol te belépett felhasználót vársz. Ha a visszatérés hamis, nincs felhasználó, visszairányítod a főoldalra. Röviden ennyi.
-
trisztan94
őstag
Még egy kérdésem lenne, PHPExcel-el kapcsolatban.
A következő kódot próbálom használni egy xlsx írásához:
$data = $_POST["data"];
try {
require('PHPExcel.php');
$objPHPExcel = new PHPExcel();
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->setOffice2003Compatibility(true);
$objSheet = $objPHPExcel->getActiveSheet();
$objSheet->setTitle('Profiútvonal letöltés');
for ($i = 1; $i <= count($data); $i++) {
$cella = "A".$i;
$cellb = "B".$i;
$cellc = "C".$i;
$objSheet->getCell($cella)->setValue($data[$i-1][0]);
$objSheet->getCell($cellb)->setValue($data[$i-1][1]);
$objSheet->getCell($cellc)->setValue($data[$i-1][2]);
}
$objWriter->save("valami.xlsx");
echo json_encode(Array("Result" => "OK", "data" => $data));
}
catch (Exception $e)
{
echo json_encode(Array("Result" => $e));
}De elszáll ezzel a hibával:
Fatal error: Class 'XMLWriter' not found in /vagrant/php/PHPExcel/Shared/XMLWriter.php on line 44
Most szedtem le egy friss PHPExcelt. Mit rontottam el?
-
norby10
csendes tag
Mi módon ellenőrizem,hogy van belépve valaki?..
Megnézem, hogy ha van a cookienak értéke..? -
DNReNTi
őstag
válasz
norby10 #15654 üzenetére
A vissza gomb probléma:
Oldalbetöltéskor ellenőrizni kell, hogy van e felhasználó belépve, ha nincs kidobod hibával a login felületre, még mielőtt bármi betöltődne.Az "emlékezz rám":
Ha be van pipálva a checkbox, akkor sütibe tárolod, hogy van munkamenet, így a böngésző bezárása után is tudható, hogy van belépett felhasználó. Fontos: ha használsz sütiket arra a felhasználók figyelmét fel kell hívni. -
norby10
csendes tag
Helló..
Készítettem egy honlapot ahol szükség volt regisztrációs felületre...
Egy dologban akadtam el, hogy ,hogy lehet megoldani azt a problémát,hogy ha logoutolok akkor ne tudjak visszalépni a back gombbal..?+még a remember me gomb műkődése...?
Vki segítene vmi ötletekkel..?
-
trisztan94
őstag
Hali
Vagrantot használok PHP fejlesztéshez. A box a tárhelypark blogjából letöltött box, mert elsősorban az a célkörnyezet.
Na most az a problémám, hogy hibákat nem ír. Akármi szintaktikai, kutyfosnyi hiba van, rögtön 500 Internal Server Error-t kapok, ami nem túl jó debugolásra. Gondolom a PHP.ini-ben van letiltva a hiba megjelenítés, viszont nagyon nem vágom, hogy hogyan kell SSH-zni.
Tudna nekem valaki ebben segíteni? Hogyan tudom terminalból átírni (bessh-zva a boxba) a php.init?
Vagy ha nem az a probléma, mitől lehet ez?
Koszi!
-
PiXeL90
tag
Sziasztok!
Egy olyan kéréssel fordulok hozzátok hogy tudnám pdf illetve doc fájlból kivenni a szöveg részt php segítségével?
Segítségeteket előre is köszönöm! -
lesaux
veterán
válasz
Sk8erPeter #15650 üzenetére
Eszembe nem jutott anyázni a tárhelyszolgáltatóval, csak érdeklődtem volna. Gondolom, több Apache-ot konfiguráltak már fel, mint én.
Az elérési utak mikéntjét vágom, de szerintem itt véget is ért azon tételek listája, melyeket vágok.
Van ugye a gyökér. Ebből nyílik több könyvtár: .php, .spamassassin, domains, imap, maildir. A .php-be másoltam a class.phpmailer.php-t, a class.pop3.php-t, a class.smtp.php-t. Hogy miért? Mert phpmailer könyvtáram nincs, és ebben legalább vannak php-mail kezdetű fájlok. Hasonló a hasonlónak örül.
A domainsben rejtezik egy xxxxxxxxx.hu könyvtár, majd abban egy public_html. Szóval vissza kell lépni hármat, majd be a .php-be: /../../../.php/class.phpmailer.phpEgyébként hihetetlen, de tettem egy próbát, és működik, elküldi a levelet. Ugyanígy jártam tegnap este is. Úgy küldte a leveleket, mint a kisangyal. Reggelre meg elkezdett hibaüzeneteket dobálni. Most az van, hogy megvárom a reggelt, és visszatérek, ha megint nem jó. Köszi a törődést, Brian!
-
Sk8erPeter
nagyúr
válasz
lesaux #15649 üzenetére
Na várjál, mielőtt anyáznál a tárhelyszolgáltatódnál, azért előtte próbálkozz kicsit, vagy írd körül nekünk jobban a helyzetet, mert úgy tűnik, nem vágod az elérési utak mikéntjét.
"A mostaninál három darab /../ is van, ami mondjuk eleve gyanús, de hát egyszer vissza kell lépnem a public_html mappából, utána a domainnevemet leíró mappából, majd a domains nevűből, és ott figyel egy .php mappa, amiben 5 db php-mail.log fájl sorakozik, de mind 0 bájt hosszú."
Heh?
Most hogy jönnek ide a logfájlok? Te a phpmailer könyvtárban lévő class.phpmailer.php fájlt szeretnéd elérni, ennek kell a megfelelő elérési útja.Na, tehát hogy is van ez nálad?
Van a public_html könyvtárad, gondolom ebben van valahol a phpmailer könyvtár, nem eggyel vissza a public_html-től, na de kérdés, hogy konkrétan a public_html-en belül melyik könyvtárban van. Vagy ömlesztve van a public_html-be? Vagy hogyan?
Írd körül a könyvtárstruktúrát légyszi, és akkor szerintem a szolgáltató bevonása nélkül is meg tudjuk oldani a problémát. Persze az jó, ha ők is gyorsan válaszolnak. -
lesaux
veterán
válasz
Sk8erPeter #15648 üzenetére
Köszi a választ.
Az elérési út nem a valóságot tükrözi, csak ez a régebbi kódrészlet akadt a kezembe. A mostaninál három darab /../ is van, ami mondjuk eleve gyanús, de hát egyszer vissza kell lépnem a public_html mappából, utána a domainnevemet leíró mappából, majd a domains nevűből, és ott figyel egy .php mappa, amiben 5 db php-mail.log fájl sorakozik, de mind 0 bájt hosszú.
Ide másoltam be a fent elmített három fájlt, amiről szintén nem tudom, hogy normális dolog-e. Már hogy alapból nincs-e valahol, kell-e őket másolgatni, és van-e esetleg a DirectAdmin felületen egy egyszerű kapcsoló, hogy ne kelljen ennyit görcsölni. Ha egyébként az elérési út stimmel, akkor az egyik ilyen fájlban jelez hibát.
Lehet, hogy holnap felhívom a Netmaskot, magyarázzák el, hogy lehet levelet küldeni. -
Sk8erPeter
nagyúr
válasz
trisztan94 #15644 üzenetére
"Hát mivel DOM-ot manipulálsz, ezért ez javascripttel kellene csinálni."
Sehol nem írta, hogy kliensoldalon szeretné manipulálni a DOM-ot. Szerveroldalon is lehet különböző feltételektől függően class-t generálni egy kódból kreált HTML-elembe.(#15647) lesaux :
"Szóval egy sima PHP-s levélküldéshez tényleg kell ekkora cirkusz, vagy valamit alapból rosszul csinálok?"
Egyáltalán nem nagy cirkusz, főleg PHPMailerrel vagy SwiftMailerrel. Valószínűleg VALAMIT te rontasz el, például éppen az elérési utat, mivel konkrétan az a hiba.
Amúgy nem a "mail() függvényeid" nem működnek most, hanem konkrétan nem található a PHPMailer osztály az általad megadott elérési úton.A kódodban ez van - ja, és légyszi használd legközelebb a "Programkód" gombot a kódod kijelölése UTÁN! Köszi! -:
$phpmailer_path = $_SERVER['DOCUMENT_ROOT'].'/../phpmailer/class.phpmailer.php';itt tehát a kellős közepén van egy /../, ami azt jelenti, hogy a rootkönyvtárhoz képest még visszafelé lépsz egyet. Ergo az előző tárhelyeden mások voltak az elérési utak, mint az új tárhelyen.
Próbáld ki azt, hogy ezt kiszeded belőle, így:$phpmailer_path = $_SERVER['DOCUMENT_ROOT'].'/phpmailer/class.phpmailer.php';
Persze ismerni kéne a tárhelystruktúrát.
De első próbának jó lesz, vagy nem.
-
lesaux
veterán
Sziasztok!
Annyi kérdésem van, nem is biztos, hogy jó topicban járok.
Röviden: regisztrátor- és tárhelyváltás miatt a mail() függvényeim nem működnek. A Netmaskhoz költöztem át, ha ez segít konkretizálni a problémát.
PHP-ből sajnos nem vagyok egy Bill Gates, a pár soros kódot, ami a régi tárhelyen működött, egy itteni lelkes fórumozó írta. Elküldés előtt ugyebár ellenőrzi, hogy minden oké-e. Na most az új helyen dob egy errort: Nem elérhető a PHPMailer osztály! Ez a kódrészlet a felelős érte:function send_email( $to, $toName, $from, $fromName, $subject, $message ) {
$phpmailer_path = $_SERVER['DOCUMENT_ROOT'].'/../phpmailer/class.phpmailer.php';
if(!file_exists($phpmailer_path)){
throw new Exception('Nem elérhető a PHPMailer osztály!');Az előző tárhelyemről még leszedtem három fájlt: class.phpmailer.php, class.pop3.php, class.smtp.php. Ezeket a megfelelő könyvtárba pakoltam, de így másfajta errort dob valamelyik fájl valahányadik sorában, én pedig nem vagyok róla meggyőződve, hogy jó úton indultam el. Kicsit gyanús, hogy nem nekem kéne a levélküldő fájlokat összemókuskodni az internetről.
Szóval egy sima PHP-s levélküldéshez tényleg kell ekkora cirkusz, vagy valamit alapból rosszul csinálok? -
DeltaPower
addikt
válasz
helpmepls88 #15645 üzenetére
Ha a $valami-ben levő valami helyesen lett lekérdezve, akkor ennek működnie kellene. Természetesen 4 sor kódból nem lehet látni, ha máshol van a hiba.
trisztan94: na? na? mit mondtam?
-
helpmepls88
csendes tag
válasz
DeltaPower #15643 üzenetére
Köszi a választ!
Ezzel próbáltam, ha jól látom /értelmezem te is valami ilyesmit linkeltél. Nem működött. Elírtam volna valamit?
if (mysql_num_rows($valami) > 0)
{
echo "<div class=\"egy\"></div>";
}
else
{
echo "<div class=\"ketto\"></div>";
} -
trisztan94
őstag
válasz
helpmepls88 #15642 üzenetére
Hát mivel DOM-ot manipulálsz, ezért ez javascripttel kellene csinálni.
(#15643) DeltaPower
-
DeltaPower
addikt
válasz
helpmepls88 #15642 üzenetére
-
helpmepls88
csendes tag
Sziasztok,
Remélem jó helyen járok.
Segítségeteket kérném az alábbiakban, de kérlek vegyétek figyelembe, hogy kezdő vagyok.
Olyan megoldást keresek amivel logikai alapon tudok DIV-et válta(t)ni.
Pl.:
Ha a boltban 5-nél több kenyér van raktáron, akkor:
használja a div class1-et
különben
div class2-t.
Köszönöm előre is!
-
Sk8erPeter
nagyúr
válasz
DNReNTi #15636 üzenetére
"Egy kérdésem még így is maradt: Miért? Tehát mi a gyakorlati funkciója ennek?
"
A kérdésed teljesen jogos, feltételezem, a feladat valami fos tanfolyamon/számonkérésen lett kitalálva, és tipikus esete annak, amikor a magát tanárnak képzelő embert jól fel kéne képelni, hogy talán gondolkozzon már el azon, hogy a diákjai milyen feladatokból fognak tanulni - hát nem ilyenekből. Kezdők számára tök feleslegesen komplikált feladat, ahelyett, hogy valami gyakorlati haszonnal bíró miniwebalkalmazást fejlesztetnének velük, és így némi kedvet is adnának a szakmához, meg olyat gyakoroltatnának velük, aminek még valami értelme is van. -
DNReNTi
őstag
válasz
DeltaPower #15639 üzenetére
A feladat nem kötötte ki hogy egy karakter csak 1x szerepelhet.
Pl van egy szóközök nélkül 75 karakter hosszú stringed amiből 1000 db random karakter kell.
Mi az akadálya? Semmi.Csomó karakter majd többször szerepel, a második paraméter csak azt adja meg hányszor fusson le a for() ciklus.
Arra pedig hogy a random szám ne legyen nagyobb mint a string hossza kitértem.
-
DNReNTi
őstag
válasz
minimumgame #15637 üzenetére
No akkor, hogy tanuljunk is leírom a dolog lépéseit a felhasználandó függvényekkel:
1. ellenőrzöd a két paraméter meglétét például empty()-vel, ha valamelyik is üres, máris eldobod az egészet: return false;
2. a paraméterben megadott szövegből eltávolítod az összes szóközt str_replace()-el.
3. strtolower() függvénnyel kisbetűssé alakítod a már szóközmentes szöveget.
4. megvizsgálod a szöveg hosszát strlen() függvénnyel, ez adja meg a véletlen szám maximum értékét, értelem szerűen nem lehet több mint maga a szöveg hossza.
5. indítasz egy for() ciklust amely a második paraméterben megadott alkalommal fut le.
5.1. a cikluson belül generálsz egy random számot a rand() függvénnyel, maximum értéke a 4. pontban meghatározott érték.
5.2. a substr() függvénnyel kivágod a random karaktert majd hozzáfűzöd a visszatérő string-hez.
6. kész, visszatérsz az új szöveges változóval.bónusz:
- típusellenőrzés a paraméterekre
- megoldható, hogy a paraméterben megadott szövegből kivedd a kiválasztott random karaktert, így az csak egyszer fordul elő, ennek feltétele viszont, hogy minden körben csökkentsd a maximum random értéket, és meg kell vizsgálni azt is hogy a szöveg hosszához képest a második paraméter ne legyen nagyobb.Jó munkát
-
DNReNTi
őstag
válasz
minimumgame #15635 üzenetére
El kellett olvasnom vagy ötször mire felfogtam pontosan mi is a feladat.
Egy kérdésem még így is maradt: Miért? Tehát mi a gyakorlati funkciója ennek?
-
minimumgame
tag
Sziasztok! Kérem, valaki ebben tudna segíteni, megírni ezt a kis progit ?
Egy függvény egy paraméterként megadott szövegből, paraméterként megadott darabszámú random karaktert belehelyez egy új stringbe. Ha a kiválasztott karakter szőköz, azt vegye figyelmen kívűl, és helyette egy másik random karaktert helyezzen az új stringbe. Az új stringben az összes karakter kisbeűssé legyen alakítva. A függvény visszatérési értéke az új string. -
stigma
addikt
Szaisztok szeretnék segítséget kérni egy progblémában, ami az alábbi lenne.
Adott egy szerver, amin található egy Access 2007-es adatbázis (mdb vagy accdb kiterjezstésse), illetve az adatbázis, amiből szeretnék adatokat kinyerni és egy weblapra kiíratnia tartalmát.
A PHP fájlok az adatbázis mappájában van, illetve a connecction sztring-em az alábbi:
<?php
try {
$conn = new PDO("odbc:Driver={Microsoft Access Driver(*.mdb,*.accdb)} ;Dbq=adatbazis.accdb;Uid="";Pwd="");
}
catch (PDOException $e) {
echo $e->getMessage();
}
?>Ennek elvileg működnie kell, találtam egy leírást, amit megnéztem és phpinfo()-val ellenőriztem milyen driverek vannak a szerverre telepítve, és mysql,odbc,sqlite is volt közöttük.
Ilyenkor sajnos valami olyasmi hibaüzenet jött ki:
"[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified"Ez nem lehetséges sajnos, de van valami ötletetek mit tudunk kezdeni vele?
Segítséget előre is köszönöm. -
Frenky89
addikt
Hali!
Egyszer csak kaptam egy tonna ilyen üzenetet a weblapomtól: "Unknown table engine 'InnoDB'" és "session_start(): open(/tmp/..., O_RDWR) failed: Permission denied (13)"
Semmit nem módosítottam már egy ideje. Mi okozhatja ezeket és vajon nálam, vagy a szolgáltatónál lehet a hiba?
-
norby10
csendes tag
válasz
DeltaPower #15623 üzenetére
kösz, mükszik
-
fordfairlane
veterán
Meg voltam róla győződve, hogy ezért akasztás jár komolyabb fejlesztői körökben, de akkor mégsem.
Nem jár akasztás. Azokon a platformokon, ahol nem létezik sem push message, sem permanens kétirányú adatkapcsolat (socket jó darabig nem volt, és a régi böngészőkben ma sincs), csakis a polling marad. A kliens kénytelen rendszeresen a szerverhez fordulni, és lekérdezni, van-e változás, mivel a szerver nem tudja értesíteni erről.
-
válasz
supercow #15626 üzenetére
Kössz!
Akkor marad a router. TP-Link 3600-asom van, de akkor megy is fel rá az openwrt, meg valami dinamikus dns cucc, meg php, meg mysql.
Ez tovább fog tartani, mint a socketes móka.mod: Meg voltam róla győződve, hogy ezért akasztás jár komolyabb fejlesztői körökben, de akkor mégsem.
Módosítani mindenképp kell rajta, mert másodpercenkénti sql lekérdezést egy webszolgáltató sem szeret, pláne ha majd többen fognak játszani egyszerre, és szükségem is lesz később ennél jóval sűrűbb kommunikációra.
Kössz az infót. -
supercow
őstag
egyébként amit csináltál nem "gáz megoldás" hanem long polling.
-
supercow
őstag
Tesztelésre én is a saját routeremet állítottam fel, USA-ból csatlakoztak hozzá tegnap, a szerverem még mindig fut, majdnem 24 órája. Port forward routerről saját gépre, 25/2 Invitel DSL kapcsolat és nincs vele gond, instant mennek az adatok. TP-Link 1043ND a router.
Websocketen kívül nem tudom van-e olyan technika ami nem terheli a hálózatot/szervert az állandó kapcsolódással. Ez a baj az X másodkercenként történő lekérésekkel, ahogy mondod favágó de máshogy nem megy. -
válasz
supercow #15624 üzenetére
Kössz!
Esetleg bármimás technika, ami nem olyan favágó, mint amit csináltam, de azért műxik webhostingon?
Van egy weboldalunk, azt hazsnálhatom erre is, de emiatt kissé drága lenne VPS-t venni.Ha nincs más használható módszer, akkor megpróbálom az otthoni routeremet felkészíteni erre a feladatra.
-
supercow
őstag
-
Sziasztok!
Pár régi többjátékos Flash-es játékomat át szeretném írni HTML5-re és mobil / desktop appokra.
Eddig a többjátékos mód az Adobe szerverein keresztül működött, amit most meg kell változtatnom.Átlag webhosting esetén van olyan technológia, amivel meg tudom oldani a kommunikációt?
Első körben két játékosról lenne szó, mert a jelenlegi játékok ilyenek.Csaináltam egy gyors félmegoldást: MySQL-be elmentem PHP-val az egyik fél lépését, majd a másik fél 1 mp-enként megkérdezi a szervert, hogy változott-e valami, és ugyanez fordítva.
Ez - gondolom - elég gáz megoldás, de valahogy tesztelni kellett a játékok többi részét.Milyen megoldásra érdemes váltanom?
Olvastam a socketekről, websocketekről, de sajna elég kezdő vagy e téren, így nem tudom, hogy egyáltalán lehetséges-e egy mezei hoszting segítségével.Bármilyen tanácsot szívesen fogadok.
Kössz!
-
norby10
csendes tag
Sziasztok, ebben a topicban most aktiválok először és már is egy problémával...
Tehát mikor lekérem az adatbázistól vmit akkor kiirja, hogy empty query...
-
válasz
Sk8erPeter #15618 üzenetére
Azzal gond nincs, nem kap annyi kérelmet. A PHP a lassú.
-
pumatom
aktív tag
Sziasztok!
Van valakinek tapasztalata sms-gprs adat átalakításában?
Az lenne a cél, hogy egy sms/gprs-ben érkező adatot, egy online felületen megjelenítsek.
Lehet vannak ilyen oldalak, de egyéniben gondolkodom.
-
válasz
Sk8erPeter #15615 üzenetére
Naja, fastcgi php van most is
-
Sk8erPeter
nagyúr
Web Platform Installer segítségével pár kattintás összehozni, a pár másodperces telepítés után pl. pötyögd be, hogy WordPress vagy Drupal, hogy ez behúzza a számára szükséges függőségeit, telepít mindent egy-két perc alatt, aztán max. az átmenetileg felrakott CMS-eket letörlöd.
IIS+MySQL+FastCGI PHP
http://prohardver.hu/tema/weblap_keszites/hsz_11089-11089.html -
Windowson (csak ez lehet) mi a legjobb alternatíva PHP szempontjából? Apache + PHP-FCGI? A lehető leggyorsabb működés elérése a célom.
mobal,
-
Sk8erPeter
nagyúr
válasz
TomyLeeBoy #15612 üzenetére
Még mindig nem értem, miért lenne "kézenfekvő".
Amúgy nem kötekedésből írom, hanem hogy nehogy valaki fejében rossz infók maradjanak meg véletlenül.
-
TomyLeeBoy
tag
válasz
Sk8erPeter #15611 üzenetére
Nem mondtam hogy nem lehet, csak hogy nekem kézenfekvőnek tűnt elsőre, most is ajaxos, postal, és jó lett.
-
Sk8erPeter
nagyúr
válasz
TomyLeeBoy #15610 üzenetére
"A get-et igazából csak azért használtam, mert frissítés nélkül mentődik ez a tartalom, szóval ajaxos és így kézenfekvő volt."
A kettő között még csak minimális összefüggés sincs, AJAX-szal is tudsz mind POST-, mind GET-metódusok segítségével kommunikálni. Attól még, mert AJAX-szal küldöd el az adatokat, esetedben ugyanúgy a POST-metódus használata a kézenfekvő, és nem a GET, mivel nem egy keresőt vagy ahhoz hasonlót készítesz. -
TomyLeeBoy
tag
válasz
Sk8erPeter #15609 üzenetére
Szia!
Igen, próbáltam megnézni phpmyadmin-al, illetve csak simán a feldolgozó php-val kiíratni különböző módokon mentés nélkül de akkor sem voltak már sortörések. A get-et igazából csak azért használtam, mert frissítés nélkül mentődik ez a tartalom, szóval ajaxos és így kézenfekvő volt. Most átdolgoztam, post-al küldöm, és minden jó lett, megvannak a sortörések mindenhol különösebb trükkök nélkül is.
-
Sk8erPeter
nagyúr
válasz
TomyLeeBoy #15608 üzenetére
A sortöréseket GET-metódussal is lehet továbbítani természetesen (ez platformfüggő, pl. Windows esetén CRLF (vagyis carriage return-line feed): %0D%0A a query stringben), de ilyen formok esetében, ahol pl. már textarea van, tehát valószínűleg nagyobb tartalmakat fogsz továbbítani, nem indokolt a GET-metódus, sőt, ha túl hosszú a tartalom, az URL/query string hosszának limitáltsága miatt problémákat is okozhat, tehát használj POST-metódust. De pl. egy kereső esetén GET-metódus indokolt, így az URL kimásolható, elküldhető, könyvjelzőzhető.
Tehát esetedben érdemes lenne inkább POST-metódust használni (nem mintha ez okozná a problémádat, ez inkább csak javaslat).
A problémádra rátérve: azt írtad, "Ha a textarea-ban van sortörés, mentés és megjelenítés után már nincsen", hogyan mented el? Nem szeded ki a sortöréseket véletlenül? Megnézted már az elmentett tartalmat mondjuk tök egyszerűen phpMyAdminnal vagy valami másik adatbázis-kotorászóban? Debuggoltad már a tartalmat elküldés után?
-
TomyLeeBoy
tag
válasz
Tele von Zsinór #15560 üzenetére
Így:
while($noticia_notes = mysql_fetch_array($result_notes))
{
$note = $noticia_notes["text"];
echo nl2br($note);
}De úgy néz ki, mintha már lementésnél sem jelölné semmi a sortöréseket a stringben. Lehetséges hogy azért, mert get-el adom át és nem post-al?!
-
Phvhun
őstag
válasz
fordfairlane #15600 üzenetére
Jah vissza kéne követni a call stack-ot manuálisan, vagy félautomatán ideiglenesen, kb így:
function foo($bemenet, $stack)
{
$stack[] = "foo";
naplohoz_hozzácsap(json_encode($stack));
sql_táblába_írkálás_pdo_függvénnyel( $bemenet + 12 );
}
function bar($stack)
{
$stack[] = "bar";
foo( rand(0,10) );
}
$tem = array();
foo(10, $tem);
bar($tem);Aztán így meg látszik naplovacskában hogy egyszer innen egyszer meg onnan lett meghívódva az sql táblába irás.
Szerk: A kutya vigye el hogy új oldalra ment már közben a társalgás és nem láttam.
-
biker
nagyúr
válasz
Sk8erPeter #15605 üzenetére
Az már a kínteszt volt, hogy nem hiszem el, hogy a pdo rossz, és kipróbáltam így is
-
Pikaa
aktív tag
A Football Pool-ról van szó,mint bővítmény.
Egyenlő pont esetén,a gólkülönbséget szeretném ha nézné (pl. Szentábrahámnak van 32-59,az ugye -27 és Fiatfalvának van 32-47 és az = -15, így Fiatfalva kellene előrébb legyen) . Ami van kicsi zárójelben az utolsó oszlopban. Szűrőt nem látok sehol sem,hogy lehetne beállítani. Ezt szeretném " kiküszöbölni " . Ja,és még egy számozást,a csapatok elé ( # ).
-
biker
nagyúr
<link rel="shortcut icon" href="#" type="image/png">
Hogy a rohadás vigye el
ez duplikálta az oldaltöltést
elnézést a szemetelésért -
biker
nagyúr
Érdekes, ilyet még nem láttam, nem tudom, hogy tehet ilyet, de...
kétszer fut le az index.php (jelen esetben index.tpl.php a template miatt a neve)
ebben a sablonban (Adminex from themeforest) hibás, ugyanez a script máshol működik, ezen a táron másik sablonnal is jóMost debugoltam, és az időnézetben találtam egy ilyet, hogy ugye indul a lekérési folyamat az index.tpl.php-vel, majd jönnek a css-ek, js-ek, stb, és a sor végén ismét az index.tpl.php lefut újra valamiért
Ez mi a frászért lehet? (kivágtam a többi sort, hogy kiférjen)
[link] -
biker
nagyúr
válasz
fordfairlane #15600 üzenetére
már ennyire lefaragtam a "kódot" hogy lássam, hol hibázik, tehát nehéz ennél többet kiírni.
a microtime eltérés és az új id azt mutatja, kétszer fut le a query, holott egyszer írom le.ha csak ennyit írok a config.php-be, amit egyszer includeolok a lap alajén
$kapcsolat = mysql_connect( "$host", "$sql_felhasznalo", "$sql_jelszo" );
mysql_select_db( $adatbazis, $kapcsolat ) or die (mysql_error());
mysql_query("set names 'utf8'");
mysql_query("INSERT INTO log (l_ID,l_time,l_uid,l_text,l_dump,l_ip) VALUES ('',CURRENT_TIMESTAMP, '12', '".basename($_SERVER['PHP_SELF']).microtime()."', 'nincs dump', 'nincsip')");akkor is két sor jelenik meg a táblában
ID 7
SQL idő 2014-05-03 14:48:40
12
index.tpl.php: microtime: 0.50981100 1399121320
nincs dump
nincsip8
2014-05-03 14:48:40
12
index.tpl.php: microtime 0,4 s eltéréssel: 0.97117400 1399121320
nincs dump
nincsip
Új hozzászólás Aktív témák
Hirdetés
- Lenovo V130-15IGM laptop (Pentium Silver N5000/8GB/256GB SSD
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- 121 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 (48 hónap garancia!)
- ÁRCSÖKKENTÉS Lenovo ThinkPad P51s, P52s, T570, T580 eredeti Lenovo, belső akkumulátor eladó
- Lenovo ThinkPad L16 Gen 1 - 16" WUXGA IPS - Ultra 5 135U - 16GB - 512GB - Win11 - 2,5 év gari
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest