ugrás a tartalomhoz

Archívum - 137651

március 19

PHP - kis refaktorálás

inf · 2012. Már. 19. (H), 18.42
Sziasztok!

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();
    }
    //...
}
Ami történik:
  1. 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
  2. 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)
  3. 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
  4. 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

therest · 2012. Már. 19. (H), 16.15
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?
 

Reklámfelület értéke

stan · 2012. Már. 19. (H), 13.53
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?
 

március 18

Google Webmester oldal elérhetőségének változása

fulton · 2012. Már. 18. (V), 19.55
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?
 

Wampserver gondok

Creative · 2012. Már. 18. (V), 13.58
Ü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.
 

HTML radio gomb elnevezés PHP ciklusban

Devid · 2012. Már. 18. (V), 13.46
Sziasztok!

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>";
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!
 

Különálló JS fájl és php közti kapcsolat, változóátadás

nyakas · 2012. Már. 18. (V), 12.40
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:
<head>
<script type="text/javascript" src="timePage.js"></script>
<body onload='window.setInterval("timeHere()", 100)' onUnload="sayTime()">

<?php	
	print("pamparampampam" ); 
?>
</body>
</head>
A meghívott javascipt a következő:
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)
}
A harmadik php kód meg a javascriptben szereplő finaltime változó értékét kapná meg, és mentené ki egy txt fájlba:
<?php
$time=$_POST['ido']

$f = fopen("textfile.txt", "w");
	
	fwrite($f, $ido ); 
	fclose($f);

?>
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! :)
 

március 17

openVZ konténereknek nem tudok internet hozzáférést adni

Qkac · 2012. Már. 17. (Szo), 15.23
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:
iptables -t nat -A POSTROUTING -s 192.168.0.100/25 -o eth0 -j SNAT --to 192.168.0.105

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!
 

március 17

text markup - ez melyik markup nyelv?

Kubi · 2012. Már. 16. (P), 22.52
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!
 

Bejelentkezési hiba

Laszlo14 · 2012. Már. 16. (P), 21.40
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>