ugrás a tartalomhoz

Archívum - Júl 2010

július 25

PHP keresőmotor és társai

spider666 · 2010. Júl. 25. (V), 18.27
Sziasztok!
Már keresgéltem kicsit a neten, de nem találtam, csak olyat, ami nem működik.
Gondolom biztos van valaki, aki már készített egy PHP keresőmotort, és a hozzá tartozó fájlokat.
Valaki megadna nekem egyet? (ami működik is)
A válaszokat köszönöm!
 

Chatbe BBCode engedélyezése

spider666 · 2010. Júl. 25. (V), 18.17
Sziasztok!
Én letöltöttem ezt a chetet, amit teljesen átalakítottam, és most egy frappáns, jól kinéző chet, és most szeretném, hogy lehessen használni benne BBCode-okat.
Hogyan lehetne őket engedélyezni?
A válaszokat előre is köszönöm!
 

A kifejezés első szava nagy kezdőbetűvel

jeti · 2010. Júl. 25. (V), 16.38
Sziasztok!

Sajnos a fent említett problémát eddig nem tudtam megoldani.
A lényeg, hogy több szóból is állhat a kifejezés, de én csak az első szó első betűjét szeretném nagyra állítani.

Én UTF8-as kódolást használok a meta tagoknál, a fájlok kódolásánál.
Az adat adatbázisból származik, az adatbázis, a tábla, a mező kódolása: utf8_general_ci.
Több dologgal is próbálkoztam, de nem jutottam előrébb.
0.) ucwords(mb_strtolower($row->melsojv, 'ISO-8859-2')); -> kisbetűs marad
1.) ucwords( strtolower($string)); -> kisbetűs marad
2.)
$adat=str_ireplace("á","Á",$adat);
$adat=str_ireplace("é","É",$adat);
$adat=str_ireplace("í","Í",$adat);
$adat=str_ireplace("ó","Ó",$adat);
$adat=str_ireplace("ö","Ö",$adat);
$adat=str_ireplace("ő","Ő",$adat);
$adat=str_ireplace("ú","Ú",$adat);
$adat=str_ireplace("ü","Ü",$adat);
$adat=str_ireplace("ű","Ű",$adat);
-> ez jó, csak minden ékezetes betű nagy betűs lesz
3.)
switch($adat[0])
{
case "á": $adat[0]="Á"; break;
case "é": $adat[0]="É"; break;
case "í": $adat[0]="Í"; break;
case "ó": $adat[0]="Ó"; break;
case "ö": $adat[0]="Ö"; break;
case "ő": $adat[0]="Ő"; break;
case "ú": $adat[0]="Ú"; break;
case "ü": $adat[0]="Ü"; break;
case "ű": $adat[0]="Ű"; break;
}
-> kisbetű marad
4.)
$cst=array("á"=>"Á","é"=>"É","í"=>"Í","ó"=>"Ó","ö"=>"Ö","ő"=>"Ő","ú"=>"Ú","ü"=>"Ü","ű"=>"Ű");
foreach ($cst as $keres => $csere)
{
if ($adat[0]==$keres) $adat=$csere.substr($adat,1);
print("*".$keres."-".$csere."+".$adat[0]."*");
}
-> kis betűs marad
A kimenet a következő: "*á-Á+�**é-É+�**í-Í+�**ó-Ó+�**ö-Ö+�**ő-Ő+�**ú-Ú+�**ü-Ü+�**ű-Ű+�*", ez elvileg az é betű akar lenni ami a böngészőben simán megjelenik.

Van valakinek valami ötlete, hogy mit rontok el?
 

MNB árfolyam lekérdezése

gyrgyvrs · 2010. Júl. 25. (V), 16.20
Sziasztok!
Egy drupal alapú oldalon akarom megjeleníteni egy blokkban pár valuta aktuális árfolyamát. Az mnb soap getCurrentExchangeRates metódusát hívom meg, ez visszaad egy xml-t, amit beolvasok egy tömbbe. Ami megoldásokat láttam azok a tömb adott számú elemére hivatkoznak, csak így az mnb oldalról történő bármilyen változtatás hibás eredményt ad (egy valahonnan szerzett script így ad 21 Ft-ot az USD-ra.)
Nem lenne erre valamilyen normális xml feldolgozási mód?
Így néz ki egyébként az xml kód:
<MNBCurrentExchangeRates>
<Day date="2004-07-16">
<Rate curr="AUD" unit="1">146,3</Rate>
<Rate curr="CAD" unit="1">153,19</Rate>
<Rate curr="CHF" unit="1">163,76</Rate>
<Rate curr="CZK" unit="1">7,97</Rate>
<Rate curr="DKK" unit="1">33,64</Rate>
<Rate curr="EUR" unit="1">250,1</Rate>
<Rate curr="GBP" unit="1">374,97</Rate>
<Rate curr="JPY" unit="100">184,53</Rate>
<Rate curr="NOK" unit="1">29,55</Rate>
<Rate curr="PLN" unit="1">56,38</Rate>
<Rate curr="SEK" unit="1">27,21</Rate>
<Rate curr="SKK" unit="1">6,27</Rate>
<Rate curr="USD" unit="1">202,15</Rate>
</Day>
</MNBCurrentExchangeRates>

Nekem mondjuk ebből kellene a CHF és EUR.
Vagy valakinek kész drupal modul rá? Láttam a drupal.hu-n, hogy valaki foglalkozott ilyennel.
 

Link rövidítése

sEEcher · 2010. Júl. 25. (V), 15.07
Sziasztok!

Van egy n hosszúságú karakterláncom (kommentek), amit egy saját függvénnyel le rövidítek 80 karakter hosszúra. Tekintettel arra, hogy a rövidített szöveg egy oldalsó oszlopban van elhelyezve (legutolsó kommentek), nem engedhető meg, hogy értelmetlenül hosszú (szándékosan elnyújtott) szavak kerüljenek bele, egy

$comment_message = preg_replace('/(\w{20})/','\1 ',$comment_message);

sorral megspékeltem a kódot, így már minden megahosszú szóban a 20. karakter után beszúr egy szóközt. Ezzel meg is lenne oldva a probléma, viszont ha valaki egy hosszú webcímet ír a kommentbe, ez a megoldás nem a legmegfelelőbb. Ugyanis a egy hosszú url esetén - ami tele van / karakterekkel - külön szónak tekinti a két / jel közötti részeket is.

Például:

http://webcim.hu/000/00000/0000000000000000000000/0000/00000

Ebben az esetben csak a leghosszabb 0 sorba fogja beszúrni a szőközt, ugyanis a / jeleket úgy kezeli, mintha szóközök lennének, tehát az 5db 0 sor egyenként külön szavak, így a számolást nem a h betűtől kezdi, hanem a / jelek után mindig újrakezdve. Ez természetesen nem jó, mert a böngésző a / jelet nem szóköznek tekinti ezért nem is töri, így az oldal eléggé szét tud csúszni.

Tehát arra keresnék megoldást, hogy az egész webcímet egy szónak kezelje.

A segítségeteket előre is köszönöm!
 

Extjs DESKTOP

gtoma · 2010. Júl. 25. (V), 11.15
Sziasztok!

Most ismerkedek az EXT JS -el. Az elképzelésem az lenne, hogy a DESKTOP alkalmazását. Azonban én szerver oldalról szeretném az admin felületet kontrollálni.

Első akció az lenne hogy egy belépési formot küld ki a szerver.

július 24

Http státus kódok

micimacska · 2010. Júl. 24. (Szo), 20.10
Segítséget kérek! Regisztráltam egy domain nevet co.cc végződéssel a http://www.co.cc honlapon.
Szerver nevét beállítottam
Name server 1 :YY57.host.com
Name server 2 :YY58.host.com

A tárhelyre feltelepítettem Aardvark toplistát, ahogy a leírása van róla. A szerver fizetős és korlátlan php kódok engedélyezettek, a tárhely mérete is korlátlan. Több Aldoman-t is nyitottam a tárhelyen, szintén raktam fel toplistát. A Cpanelen előtte nyitottam email fiókokat és ftp tárhelyeket elosztottam 100 mb.-okra. Msql adatbázisokat nyitottam meg részükre. A könyvtárak attributma 755 a file-ok 644-re. A telepítésnél 666-ra egy file-t. Majd vissza 644-re. Próba képen telepítetem sikeresen Fantastico felkínált blogot és CMS-t egyebet. Ment mindegyik körülbelül egy hónapig, majd a következő hibaüzenettel találkoztam.

HTTP Error 500 Internal server error
Introduction
The Web server (running the Web Site) encountered an unexpected condition that prevented it from fulfilling the request by the client (e.g. your Web browser or our CheckUpDown robot) for access to the requested URL.
This is a 'catch-all' error generated by the Web server. Basically something has gone wrong, but the server can not be more specific about the error condition in its response to the client. In addition to the 500 error notified back to the client, the Web server should generate some kind of internal error log which gives more details of what went wrong. It is up to the operators of the Web server site to locate and analyse these logs.
500 errors in the HTTP cycle
Any client (e.g. your Web browser or our CheckUpDown robot) goes through the following cycle when it communicates with the Web server:
• Obtain an IP address from the IP name of the site (the site URL without the leading 'http://'). This lookup (conversion of IP name to IP address) is provided by domain name servers (DNSs).
• Open an IP socket connection to that IP address.
• Write an HTTP data stream through that socket.

űrlapadat mentése fájba

bence04 · 2010. Júl. 24. (Szo), 15.12
sziasztok
egy olyan problémám lenne hogy csináltam egy űrlapot
<form action="mailto:e-mail cím" method="post">
 Név:
<input type="text" name="nev"><br>
E-mail:
<input type="text" name="email"><br>
<input type="submit" name="kuldes" value="Feliratkoás">
</form>
és azt szeretném ha valaki kitölti akkor az adatott mentse el egy .txt fájlba.
kerestem googlen de mivel nem értek a php-hoz ezért nem értettem meg :S aki tud az kérem segítsen
 

JQuery képbetöltés IE-ben

eMeLA · 2010. Júl. 24. (Szo), 10.25
Írtam egy szkriptet:
$(document).ready(function(){
$('a.keplink').bind('click', kep_tolt);
});
function kep_tolt (e) {
cim = $(this).children().attr('src');
$(this).children().fadeOut("fast");
$(this).children().fadeIn("fast");
$('.keplink').removeClass("kiemelt");
$(this).addClass("kiemelt");

$('#nagykep').fadeOut('slow', function() {          
                   
kep = new Image();
kep.src = cim.replace("imagecache/kiskep/", "");
kep.onload = function () {

$('#nagykep').attr('src', kep.src, "").ready(
function () {
$('#nagykep').fadeIn("slow");
});
};
});
return false;
}

Itt lehet megnézni működés közben (katt a bal oldali kis képekre, a honlap Drupal-lal készült):
http://tajrajz.hu/index.php?q=munkak/magankertek/budafok-magankert

Röviden a szkript: a kisképnek megfelelő képpel lecseréli a középső nagy képet. Míg töltődik a nagy kép, addig "eltünteti" az előzőt.
FireFox-ban jól működik. IE-ben, Operá-ban, ha olyan kisképre kattintok ami már egyszer be lett töltve, akkor ott nem jelenik meg a nagykép.

Mivel nem vagyok programozó, itt el is akadtam. Sejtésem szerint valahogy azzal lehet a gond, hogy a már korábban betöltött képeknél nem működik az .onload, mivel a IE és az OPERA a cache-ből tölti be ???
 

július 23

Ajax biztonság?

mahoo · 2010. Júl. 23. (P), 17.08
Sziasztok!

Először fordul elő, hogy úgy kell elkészíteni egy honlapot, hogy a javascript támogatás kötelező, ha nincs, akkor nincs honlap használat.
Emiatt úgy döntöttem, hogy a különböző formok küldését, mentését - php-val -, ill. a visszaigazoló üzeneteket Ajax segítségével oldanám meg.
Vagyis nem akarok semmit varázsolni - nem is ismerem ilyen szinten a js-t -, csak form küldés és a kapott válasz vagy eredménylista megjelenítése.
A kérdésem az, hogy milyen biztonsági megoldásokat kell megvalósítani a kódban, mire kell felkészíteni a js kódot ahhoz, hogy ellenállóbb legyen a támadásokkal szemben.
PHP oldalról ugye a szokásos adatbázismentéshez mysql_real_escape_string, megjelenéshez htmlspecialchars, stb. Ugyanezek az apróságok érdekelnének engem a js oldaláról.
Ezen felül bármilyen jótanácsot, javaslatot szívesen veszek, amire oda kell figyelni.