Archívum - 137651
március 19
PHP - kis refaktorálás
Sziasztok!
Van egy iteratorom, amiben a next-et szeretném szebb formára alakítani:Ami történik:
Nekem nem állt össze fejben, hogy ebből hogy lehet tömörebb és érthetőbb kódot csinálni, az elnevezésekkel szintén gondban lennék, bármi ötlet ezzel kapcsolatban?
■ Van egy iteratorom, amiben a next-et szeretném szebb formára alakítani:
class TreeIterator {
public function next() {
if ($this->isBranch())
$this->addBranchIterator();
else
$this->stepCurrentIterator();
while ($this->hasIterator() && !$this->isIteratorValid()) {
$this->removeCurrentIterator();
$this->selectParentBranchIterator();
if ($this->hasIterator())
$this->stepCurrentIterator();
}
if ($this->hasIterator())
$this->updateVisitor();
}
//...
}
- ha az előző elem ág volt, akkor hozzáadjuk az iterátorát (és közben meghívjuk a rewind-ot rajta), ellenkező esetben léptetjük az aktuális iterátort a következő elemre
- ezek után teszteljük, hogy az aktuális iterátorunk valid e, szóval hogy létezik e rajta a következő elem (vagy ha rewind-olt iterátor-ról van szó, akkor létezik e első elem)
- ha nem létezik a következő elem, akkor töröljük az aktuális ág iterátorát, és átlépünk a szülő ág iterátorára, azt léptetjük a következő elemre, és megnézzük, hogy azon létezik e a következő elem, és így tovább, amíg egy olyan szülő ágat nem találunk, amin létezik a következő elem, vagy el nem fogynak az iterátorok
- ha létezik a következő elem (szóval nem fogytak el az iterátorok), akkor frissítjük a visitor-t (ez a bejárás adatait tárolja, egyelőre nem tudtam jobb nevet kitalálni neki)
Nekem nem állt össze fejben, hogy ebből hogy lehet tömörebb és érthetőbb kódot csinálni, az elnevezésekkel szintén gondban lennék, bármi ötlet ezzel kapcsolatban?
Php css, és js összfűzés
Mostanság arról olvasgattam, hogy célszerű a javascript és css fájlokat összefűzni egy-egy fájlba, hogy minél kevesebb kérés legyen a kliens és s szerver között.
Mivel egy MVC rendszeren dolgozom, ahol a controllerben kerül meghatározásra a model alapján, hogy milyen javascript illetve css fájlokat kell használni, arra gondoltam, hogy célszerűbb lenne egy php szkript ami összevágná a kért css fájlokat egy fájlba, és azzal térne vissza.
Mivel a kapcsolt fájlok nem mindig ugyanazok egy adott oldalnál, a manuális megoldás nem jöhet szóba.
A kérdés, hogy mi a gazdaságosabb: szerver oldalon megcsinálni a fenti összefűzést, és esetleg van plusz htacces szabály is, vagy ez túl nehézkes ahhoz képest, amit a több css/js fájlból fakadó kérés növekedés jelent?
■ Mivel egy MVC rendszeren dolgozom, ahol a controllerben kerül meghatározásra a model alapján, hogy milyen javascript illetve css fájlokat kell használni, arra gondoltam, hogy célszerűbb lenne egy php szkript ami összevágná a kért css fájlokat egy fájlba, és azzal térne vissza.
Mivel a kapcsolt fájlok nem mindig ugyanazok egy adott oldalnál, a manuális megoldás nem jöhet szóba.
A kérdés, hogy mi a gazdaságosabb: szerver oldalon megcsinálni a fenti összefűzést, és esetleg van plusz htacces szabály is, vagy ez túl nehézkes ahhoz képest, amit a több css/js fájlból fakadó kérés növekedés jelent?
Reklámfelület értéke
Lassan két éve dolgozom egy projekten. Sikerült elérni azt, hogy most már stabilan havi 15.000 egyedi látogatója van, és hónapról hónapra növekszik.
Arra is rájöttem, hogy a Google Adsense-el egyszerűen nem lehet jól keresni ekkora látogatottság mellett. Kiszámoltam, hogy ahhoz, hogy minimálbért megkeressek az Adsense-el, úgy hogy az adókat is befizetem, havonta 500.000 látogatóra lenne szükségem, amit nem valószínű, hogy egyhamar elérek. Ezért úgy döntöttem, inkább megpróbálom én magam értékesíteni a reklámfelületeket.
Mennyi a reális piaci ára egy bannernek egy hónapra egy 15.000 egyedi látogató / hónap látogatottságú weboldalon?
Érdemes-e megpróbálni, illetve mennyire nehéz bannert eladni a mai világban?
Email-ben, telefonon, postai levél útján, vagy kizárólag személyesen érdemes megpróbálni a bannerhelyek értékesítését?
■ Arra is rájöttem, hogy a Google Adsense-el egyszerűen nem lehet jól keresni ekkora látogatottság mellett. Kiszámoltam, hogy ahhoz, hogy minimálbért megkeressek az Adsense-el, úgy hogy az adókat is befizetem, havonta 500.000 látogatóra lenne szükségem, amit nem valószínű, hogy egyhamar elérek. Ezért úgy döntöttem, inkább megpróbálom én magam értékesíteni a reklámfelületeket.
Mennyi a reális piaci ára egy bannernek egy hónapra egy 15.000 egyedi látogató / hónap látogatottságú weboldalon?
Érdemes-e megpróbálni, illetve mennyire nehéz bannert eladni a mai világban?
Email-ben, telefonon, postai levél útján, vagy kizárólag személyesen érdemes megpróbálni a bannerhelyek értékesítését?
március 18
Google Webmester oldal elérhetőségének változása
Sziasztok
Szeretném a régi *.atw.hu oldalamat az új *.hu címre költöztetni. A google webmester azt irja webhely címének változtatásakor a *atw.hu ra hogy: Csak gyökérszintű domainekre vonatkozhat. Most ilyenkor mit tudok tenni? hogy tudom a webmesterben átirányítani a *.atw.hu -t a *.hu ra?
■ Szeretném a régi *.atw.hu oldalamat az új *.hu címre költöztetni. A google webmester azt irja webhely címének változtatásakor a *atw.hu ra hogy: Csak gyökérszintű domainekre vonatkozhat. Most ilyenkor mit tudok tenni? hogy tudom a webmesterben átirányítani a *.atw.hu -t a *.hu ra?
Wampserver gondok
Üdv,
Az alábbi a problémám: mivel .NET fejlesztést is űzök az új laposomon, így szükséges az iis a gépen,eből a hetes fut. Mellé viszont -s főleg mert utálom a pici és puha kft termékét- a php-fejlesztéshez mindenképp kellene valami. Az eddig használt XAMP -on töprengtem, mikor belefutottam a Wampserverbe, mondom teszek egy próbát. Feltelepült rendben, majd mivel az IIS is fut, rögtön jött az apache átlövése, hogy localhost:8080 -t listenelje. Apache resi s azóta fut. Belőttem php.ini -ben az ext mappát is a helyére, beállítotam passwordöt, config.inc.php -ban az AllowNoPassword mezőt false -ra állítottam ahogy szoktam és a password mezőt is kitöltöttem. A phpmyadmin -t mégse tudom elérni, 1045 -ös hibát ad :S
Ötlete valakinek?
C.
■ Az alábbi a problémám: mivel .NET fejlesztést is űzök az új laposomon, így szükséges az iis a gépen,eből a hetes fut. Mellé viszont -s főleg mert utálom a pici és puha kft termékét- a php-fejlesztéshez mindenképp kellene valami. Az eddig használt XAMP -on töprengtem, mikor belefutottam a Wampserverbe, mondom teszek egy próbát. Feltelepült rendben, majd mivel az IIS is fut, rögtön jött az apache átlövése, hogy localhost:8080 -t listenelje. Apache resi s azóta fut. Belőttem php.ini -ben az ext mappát is a helyére, beállítotam passwordöt, config.inc.php -ban az AllowNoPassword mezőt false -ra állítottam ahogy szoktam és a password mezőt is kitöltöttem. A phpmyadmin -t mégse tudom elérni, 1045 -ös hibát ad :S
Ötlete valakinek?
C.
HTML radio gomb elnevezés PHP ciklusban
Sziasztok!
Szeretnék egy kis segítséget kérni a következő php-ban felbukkant problémámra:Tehát így van 10 db radio-gombom, amiknek a nevüknek szeretném: 0 1 2 ... 9
Valahogy szeretnék rábukkani, hogy melyik van bejelölve, csak épp gyanúm szerint a nevezésnél is valami baj van.
Esetleg egy kereső algoritmus példát is szívesen fogadnék.
Előre is köszönöm!
■ Szeretnék egy kis segítséget kérni a következő php-ban felbukkant problémámra:
print "<table border=\"2\">";
for($i=0; $i<10; $i++){
print "<td><input type=\"radio\" name=\"cb\" value=$i></td></tr>";
}
print "</table>";
Valahogy szeretnék rábukkani, hogy melyik van bejelölve, csak épp gyanúm szerint a nevezésnél is valami baj van.
Esetleg egy kereső algoritmus példát is szívesen fogadnék.
Előre is köszönöm!
Különálló JS fájl és php közti kapcsolat, változóátadás
Sziasztok!
Egy olyan problémám lenne, hogy egy javascriptben lévő változót szeretnék átküldeni a php-nak, hogy az mentse ki a tartalmát a szerveren egy textfile-ba. Az első php fájl nem valami nagy egyelőre, egy kiíratás és meg van benne hívva egy javascipt:A meghívott javascipt a következő:A harmadik php kód meg a javascriptben szereplő finaltime változó értékét kapná meg, és mentené ki egy txt fájlba:A kérdésem tehát az lenne hogy hogy érem el, hogy a javascript elküldje a php-nak a finaltime változó értékét, és lementse a szerveren egy fájlba? Esetleg ha a példára vonatkozó kódrészletet tudnátok írni, azt nagyon megköszönném. Bocs, tudom hogy eléggé kezdő kérdés, de sajna eléggé kezdő szinten vagyok még ezzel kapcsolatba.
Köszönöm előre is a segítségeteket!
További szép napot! :)
■ Egy olyan problémám lenne, hogy egy javascriptben lévő változót szeretnék átküldeni a php-nak, hogy az mentse ki a tartalmát a szerveren egy textfile-ba. Az első php fájl nem valami nagy egyelőre, egy kiíratás és meg van benne hívva egy javascipt:
<head>
<script type="text/javascript" src="timePage.js"></script>
<body onload='window.setInterval("timeHere()", 100)' onUnload="sayTime()">
<?php
print("pamparampampam" );
?>
</body>
</head>var time=1;
var usertime=0;
function timeHere() {
time = time + 1;
finalTime = time / 10;
}
function sayTime() {
finalTime = time / 10;
alert("Thank you for coming to my site! \n You have been here " + finalTime + " seconds!");
function sm(id)
}<?php
$time=$_POST['ido']
$f = fopen("textfile.txt", "w");
fwrite($f, $ido );
fclose($f);
?>Köszönöm előre is a segítségeteket!
További szép napot! :)
március 17
openVZ konténereknek nem tudok internet hozzáférést adni
Sziasztok!
Kezdő linuxos vagyok és sulis beadandómhoz készítek webszerver környezetet, de elakadtam egy pontnál, ehhez kérném a segítségeteket:
Van egy telepített debian 6.0.4.
Két hálókártya van, az egyik eth0, ezen dhcp kezeli a NAT-ot (így kapok internetet, de ez csak ahhoz kell, hogy tudjak telepíteni)
A másik eth1 itt statikusan állítottam be az ip-ket 192.168.0.100
Ezután telepítettem openVZ-t és létrehoztam 5 konténert. (ezek lesznek később a különböző szerverek, pl. apache, mail, db szerver, dns szerver ...)
A konténerek ip címei:
192.168.0.105
192.168.0.106
192.168.0.107
192.168.0.108
192.168.0.109
Eddig teljesen jól ment minden, mindegyik gépet tudom pingelni, sőt az eth1-es ip tartományban szereplő külső windows géppel is látják egymást, ssh is működik stb. szóval eddig nem volt problémám, most kezdeném el telepíteni az apache-t az 1. openVZ konténer alá.
A gond az, ha belépek a konténerbe (pl. vzctl enter 101) akkor ott már nincs internet, ezért semmit nem tudok telepíteni.
Gondolom az lenne a megoldás, hogy a fő gép eth0 kártyáról valahogy át kellene irányítani a netet a vgépek felé, de ez nem igazán akar sikerülni. Úgy sejtem az iptables lesz a megoldás, de rengeteget próbálkoztam nem akar összejönni.
Itt találtam leírást, hogy elviekben hogyan kellene megcsinálni:
http://wiki.openvz.org/Using_NAT_for_container_with_private_IPs
Ezeket a lépéseket tettem:
ip forwardingot beállítottam, az IP conntracktot is beállítottam (de ezt annyira nem értem mit csinál)
Majd a következő kódot adtam meg:
Nem vagyok benne biztos, hogy jól adtam meg az ip címeket és sajnos csak annyit tudok, hogy miután végig csinálom a leírásban található lépéseket nem működik. Nem tudom hogyan lehetne ellenőrizni, hogy mit rontok el ezért kérném a segítségeteket!
Előre is köszönöm!
■ Kezdő linuxos vagyok és sulis beadandómhoz készítek webszerver környezetet, de elakadtam egy pontnál, ehhez kérném a segítségeteket:
Van egy telepített debian 6.0.4.
Két hálókártya van, az egyik eth0, ezen dhcp kezeli a NAT-ot (így kapok internetet, de ez csak ahhoz kell, hogy tudjak telepíteni)
A másik eth1 itt statikusan állítottam be az ip-ket 192.168.0.100
Ezután telepítettem openVZ-t és létrehoztam 5 konténert. (ezek lesznek később a különböző szerverek, pl. apache, mail, db szerver, dns szerver ...)
A konténerek ip címei:
192.168.0.105
192.168.0.106
192.168.0.107
192.168.0.108
192.168.0.109
Eddig teljesen jól ment minden, mindegyik gépet tudom pingelni, sőt az eth1-es ip tartományban szereplő külső windows géppel is látják egymást, ssh is működik stb. szóval eddig nem volt problémám, most kezdeném el telepíteni az apache-t az 1. openVZ konténer alá.
A gond az, ha belépek a konténerbe (pl. vzctl enter 101) akkor ott már nincs internet, ezért semmit nem tudok telepíteni.
Gondolom az lenne a megoldás, hogy a fő gép eth0 kártyáról valahogy át kellene irányítani a netet a vgépek felé, de ez nem igazán akar sikerülni. Úgy sejtem az iptables lesz a megoldás, de rengeteget próbálkoztam nem akar összejönni.
Itt találtam leírást, hogy elviekben hogyan kellene megcsinálni:
http://wiki.openvz.org/Using_NAT_for_container_with_private_IPs
Ezeket a lépéseket tettem:
ip forwardingot beállítottam, az IP conntracktot is beállítottam (de ezt annyira nem értem mit csinál)
Majd a következő kódot adtam meg:
iptables -t nat -A POSTROUTING -s 192.168.0.100/25 -o eth0 -j SNAT --to 192.168.0.105Nem vagyok benne biztos, hogy jól adtam meg az ip címeket és sajnos csak annyit tudok, hogy miután végig csinálom a leírásban található lépéseket nem működik. Nem tudom hogyan lehetne ellenőrizni, hogy mit rontok el ezért kérném a segítségeteket!
Előre is köszönöm!
március 17
text markup - ez melyik markup nyelv?
Sziasztok!
Doctrine 1.2 doksija kisssé megváltozott, kérdésem az lenne, hogy ez milyen markup-ot használ, mi a neve és létezik e hozzá valami megjelenítő vagy konverter html-be.
https://github.com/doctrine/doctrine1-documentation/blob/master/manual/en/behaviors.txt
a fenti linken tudjátok megnézni.
Átkutattam már netet, wikin néztem a markup listát de ehhez hasonlót nem láttam, az viszont rémlik hogy máshol is láttam már ezt a formátumot, csak nem tudom hol.
előre is köszi!
■ Doctrine 1.2 doksija kisssé megváltozott, kérdésem az lenne, hogy ez milyen markup-ot használ, mi a neve és létezik e hozzá valami megjelenítő vagy konverter html-be.
https://github.com/doctrine/doctrine1-documentation/blob/master/manual/en/behaviors.txt
a fenti linken tudjátok megnézni.
Átkutattam már netet, wikin néztem a markup listát de ehhez hasonlót nem láttam, az viszont rémlik hogy máshol is láttam már ezt a formátumot, csak nem tudom hol.
előre is köszi!
Bejelentkezési hiba
Van egy login rendszerem. A hibája az, hogy ha valaki rossz adatot ír be (pl nincs az adatbázisban olyan felhasználónév) és ezt a rossz adatot elküldi, akkor kiírja a hibát, de ha még egyszer elküldi, akkor beengedi az oldalra. Ezt hogy lehetne kiküszöbölni? Ez a kódom:
■
<?php
if($_POST['login']){
$name=mysql_real_escape_string(trim($_POST['name']));
$pass=mysql_real_escape_string(md5($_POST['pass']));
$login=true;
if(!$name){
echo "<div id='error2'>Add meg a felhasználóneved</div>";
$login=false;
}
if(!$pass){
echo "<div id='error2'>Add meg a jelszavad</div>";
$login=false;
}
if($login){
$result=mysql_query("SELECT * FROM user WHERE name='$name' AND pass='$pass'");
while($row=mysql_fetch_array($result)){
$name=$row['name'];
$acti=$row['acti'];
}
if(mysql_num_rows($result)!=1){
echo "<div id='error2'>Hibás felhasználónév és/vagy jelszó</div>";
$login=false;
}elseif($acti!=2){
echo "<div id='error2'>Nincs megerősítve regisztrációd</div>";
$login=false;
}
if($login){
$_SESSION['name']=$name;
$_SESSION['login']=true;
?><script>window.location=window.location;</script><?php
}
}
}
?>
<form method="POST">
<input type="text" name="name" placeholder="Felhasználónév" />
<input type="password" name="pass" placeholder="Jelszó" />
<p><input type="submit" name="login" value="Belépek" id="submit" /></p>
<p><a href="register.php">Regisztráció</a><br />
<a href="forgottpass.php">Elfelejtett jelszó</a></p>
</form>



