ugrás a tartalomhoz

Archívum - Május 2010

május 25

php include

ventee · 2010. Május. 25. (K), 16.02
Üdv!

Adott a következő kis összetétel:
<?php  
	$x = isset($_GET['x']) ? $_GET['x'] : 'index';  
	$file = $x . '.php';  
	if (is_readable($file) && in_array($x, array('index', 'doc/file1', 'doc/file2', 'doc/file3', ... 'doc/file20'))){  
	include $file;  
	}  
	else
  	header('Location: 404.php');
?>
Azt szeretném elérni, hogy a "doc" nevű mappa tartalmában lévő fájloknak az elérési útját ne kelljen külön-külön megadni (mint a fenti kódban), mert sok van. Gondoltam, ha egyszerűen csak megadom a könyvtár nevét ('doc/ '), akkor sikerül majd meghívnom a fájlokat, de nem jött be. :) Van esetleg vmi megoldás? Előre is köszi!
 

Kapcsolódó oldalak adatbázisból és nevek linkelése

netfox · 2010. Május. 25. (K), 16.01
Sziasztok!

Gyakorlott PHP fejlesztőnek tartom magamat, ezért elsősorban a véleményetekre, megoldási javaslatokra lennék kiváncsi két dologgal kapcsolatban, amely a munkám során felmerült és korábban még nem találkoztam hasonlókkal:

1. Adott egy hirek tábla az adatbázisban, a hir.php?id=XY hatására a böngésző ebből behozza az adott hírt. Ehhez szeretnék egy olyan blokkot készíteni, ahova adminfelületen más híreket lehet kapcsolni, de több lehetőség is felmerült és nem tudom melyek mellett tegyem le a voksom. Az első, hogy létrehozok egy másik táblát, ami tárolja a kapcsolódásokat, egyesével, hírenként (pl. hír ID-ja, kapcsolódó hír ID-je, hír címe), de ígykönnyen több ezer rekord születhet. A másik, hogy dedikálok a hirek táblában egy kifejezett mezőt a kapcsolódó oldalaknak, ahova csak beírom az adott hírek ID-it, vesszőel elválasztva, ennek azonban hátránya, hogy külön címet (ha esetleg azt akarom, hogy eltérjen a hír eredeti címétől) nem adhatok meg. Egyrészt feltétel, hogy ha 10 vagy 1000 oldal kapcsolódik az adott hírhez akkor se szöszmötöljön sokat az adatbázislekérdezés, másrészt, hogy legyen valami opciója az egyedi névnek, sőt esetleg linknek, ha mondjuk nem egy másik hírt, hanem pl. egy külső weboldalt linkelnék a hírhez.

2. A másik problémám teljesen más: adott egy Írók mező egy táblában, rekordonként felsorolva nevekkel, mint pl. "Kiss Géza, Nagy Béla, Kovács Imre". Na már most azt szeretném, hogy ez a weboldalon úgy jelenjen meg, hogy amelyik szerzőhöz van adatlapunk az automatikusan belinkelődjön. Gondolom az, hogy a külső oldal betöltéskor vesszőnként különválassza a neveket, majd egyesével végigpörgesse a több ezer rekordból álló szerzők táblában eleve halál. Esetleg mentésnél pörgetné végig, majd komplett linkké alakítaná a neveket, és úgy tárolná az adatbázisban, aztán szerkesztésnél látszólag levenné róla a linkeket, módosításnál pedig megint ugyanez a kikeresős-linkelős procedúra?

Oldalon eltöltött idő

gtoma · 2010. Május. 25. (K), 12.50
Egy elméleti kérdésem lenne.

Valakinek van ötlete, hogy a google, a piwikstat, s egyéb statos cuccok, hogyan mérik az oldalon eltöltött időt?

Köszi az 5leteket.
 

Mustache.js

Török Gábor · 2010. Május. 25. (K), 09.29
Kimeneti nyelv és kód jobb elkülönítését igérő sablonmotor
 

május 24

május 23

Kész HTML Email küldése PHP.ban

cszlak · 2010. Május. 23. (V), 14.54
Ennyi van meg:

/* HTML levél küldés a Content-type fejléc megadásával */
$fejlec = "MIME-Version: 1.0\n";
$fejlec .= "Content-Type: text/html; charset=UTF-8";

/* továbító fejlécek Itt beállíthaqtod mit írjon feladónak */
$fejlec .= "From: \"Androméda-galaxis\" ";
$email = $_POST["register_email"];
$targy = ('Az Androméda-galaxis üdvözöl!');
$tartalom = stripslashes($_POST['tartalom']);
$uzenet = $tartalom;

mail( $email, $targy, $uzenet, $fejlec);

Kérdéses rész:
$tartalom = ("hirlevel/udvozol.html";) -> ezt nem tudom, hogyan kell ide beírni.

A többi adat jó és működik is.

A válasz jöhet ide is: cszlak##kukac##gmail.com-ra
 

Közösségi játékom

Totti 1986 · 2010. Május. 23. (V), 10.48
Először is bocs a címért, jelen kérdésem csak egy "Javascript fgv. késleltetése az AJAX lefutásáig" lenne, de valószínűleg később lesz más kérdésem is és szeretném, ha az egész egy témában lenne.

A mostani problémám a következő:
Épp a játék bejelentkezés; szoba - és ellenfél-adatok folyamatos frissítése AJAX-szal részénél tartok, és ez még tökéletesen fut is.

Most egy Kilépés gombot csinálnék, ami kilépteti a játékost, majd lefuttat egy fgv.-t, ami beállítja a kezdőadatokat és behozza a kezdőoldali menüt.
function logout() {
	show_over_msg('logout', 'info');
	// call player_update setting logout var
	player_update('&logout=1');
	// call start
	start();
}

function player_update(update_string) {
	xmlhttp = GetXmlHttpObject();
	if(xmlhttp == null) {
		alert ('Browser does not support HTTP Request');
		return;
	}
	nocache = Math.random();
	var url = 'player_update.php?player_id=' + overall_vars['player_id'] + '&player_type=' + overall_vars['player_type'] + '&nocache=' + nocache + update_string;
	xmlhttp.open('GET',url,true);
	xmlhttp.send(null);
}

function start() {
	// ez eleg hosszu nem masolom be, ez allitja be a kezdoadatokat
	hide_over_msg();
}

Ezzel ugye az a baj, hogy a player_update() után rögtön lefut a start() és felülírja a requestet, vagyis nem fut le a játékos kiléptetésének php fájlja.

Lehetne az a megoldás, hogy a player_update-be teszek egy onreadystatechange-et, és abba a start()-ot, de az a baj, hogy a player_update fgv.-t sok már fgv. is meghívja, mindig, ha vmit épp át kell írni (megnyert meccs, beállítások).

Azt akarom elkerülni, hogy az onreadystatechange-et szét kelljen ifezni, hogy ha a logout hivta meg, akkor ezt csinálja, ha egy másik fgv. akkor meg azt.

Kipróbáltam, hogy return-nel visszaadok egy 1-est, ha lefutott a request, de a logout fgv.

május 22

70 Unique Examples Of 404 Error Pages For Your Inspiration

Joó Ádám · 2010. Május. 22. (Szo), 20.39
További 404-es ötletek
 

kétszintes menü + include

Batka1985 · 2010. Május. 22. (Szo), 19.39
Sziasztok!
Kérdésem a következő lenne. 2 szintes menü van egy weboldalon. Include fg-el szeretném a content div-be betölteni a tartalmat. Egy szintes menünél semmi gond nincs viszont a kétszintesnél valami miatt nem töltődik be az oldal. Én így csináltam meg, de nem jó. Mi lehet a hibám?

A menü egy részlete:
<li><a href="#">Információk</a>
      <ul>
         <li><a href="index.php?x=bemutatkozas.php">Bemutatkozás</a></li>


A content div-ben elhelyezkedő include fgv:
<div id="content">
<?php
        $x = $_GET['x'];
if(!isset($x)) {
$x = "main";
}
$file = $x . ".php";
if (is_readable($file) && in_array($x, array('main', 'bemutatkozas'))){
include("$file");
}
?>
</div>