ugrás a tartalomhoz

Archívum - 140703 - Fórum téma

június 11

Hibakezelés (try-catch, throw new Exception) -konstrukotrban/destruktorban

H.Z. v2 · 2011. Jún. 11. (Szo), 10.19
Kezdek kiakadni a PHP-re, de nagyon:

Egy külön file-ból betöltött osztály konstruktorában felfedezett hibát szeretnék jelezni egy throw new Exception-nel az objektumot létrehozni akaró programrésznek.
Egyszerűen nem törődik vele, fut tovább, mintha mi sem történt volna...

class DB {
protected $l;
  function __construct(){
    ...
    try {
     $this->l=new Logger("logdir/log.txt");
     $this->l->put("uzenet");
    } catch (Exception $e){
      ---hibaüzenet megjelenítése---
    }
}

class Logger {
  protected $logfile;
  function __construct($fil){ $this->logfile=$fil; }

  private function writeLog($uz){
    if(!$f=fopen($this->logfile,"a")){ throw new Exception("Hiba"); }
    ...
  }
  function put($uz){
    $this->writeLog($uz);
  }
}

Kb. így néz ki a problémás rész (remélem, nem írtam el semmit - az eredeti kódot kiherélni kissé macerásnak tűnik)
A DB konstruktorában a try-catch blokk nem képes elkapni a Loggerben kiváltott Exception-t.

Az tiszta, hogy átírhatom a programot úgy, hogy a konstruktorokban ne legyen hibakezelést igénylő művelet, de ez megint egy olyan dolog, hogy akkor minek a konstruktor, ha nem automatizálhatom a tennivalókat, rajta keresztül?
Másik variáció, hogy a hibakezelést igénylő műveletek hibaága egy die-ban kell, hogy végződjön, ami megintcsak nem tetszik, de kényszermegoldásként lehet, hogy ezt fogom használni.



+1, a fentitől független, de már a tapétát kaparom, annyira nem értem:
<?php
  if(!defined('XXXX')){ exit; }
  /*...
több soros, kikommentezett szakasz
*/
?>

Ennyi a file tartalma és azt bírja mondani, hogy "syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in"
Ezek után töröltem a file-t, újra beírtam a kommentek nélkül, most jó...
Ciki, hogy eredetileg úgy hoztam létre, hogy egy működő php file-t lemásoltam, kikommenteztem a tartalmát és elé írtam a fenti if... sort.
 

június 10

Exe Html-be????

NosnOsnoS · 2011. Jún. 10. (P), 19.24
1Kérdés:
Lehet e beilleszteni exe kiterjesztésű filét 1html filéba?
és ha igen akkor,hogy?
 

Flash:link

NosnOsnoS · 2011. Jún. 10. (P), 19.16
Halló Megint!
Az lenne a kérdésem,hogy,hogyan lehet 1flasba beilleszteni 1Képet(hivatkozás)
És ha arra kattint akkor 1 Url Címre küldi el.
(Azért raktam fel mert ti többet tudtok mint az a sok okosság a neten....)
 

Html, Xhtml tankönyv

Hellhammer · 2011. Jún. 10. (P), 14.23
Szeretném kicsit bővíteni, frissíteni, átismételni a html tudásomat; jobban abszolválni a modernebb, xhtml kódolást. Ehhez keresnék igazán jó tankönyvet, tudna valaki ajánlani olyat, ami tényleg jó?
Illetve: jelenlegi keresgélés alapján ígéretesnek mondott: Virginia DeBolt: HTML és CSS Webszerkesztés stílusosan c. tankönyvét szereztem be; erről valamiknek véleménye, tapasztalata van, hogy mennyire jó, mennyire nem az adott célra?

Köszönöm!
 

június 9

Törlés gomb létrehozása

Qem201 · 2011. Jún. 9. (Cs), 20.05
Sziasztok!

Van egy kódom ami megjeleníti a mappában található képeket, és törlés gombot szeretnék berakni.

próbálkoztam ezzel az unlink-el de nem akar összejönni. href-kódot hogy illesztem be, de szerintem az unlink is rossz

<?php

foreach (glob("*.gif,*.jpg,*.png") as $kep) {
   echo "$kep size " . filesize($kep) . "\n";
   unlink($kep);
}


$konyvtar = 'kepek/';
$kiterjesztesek = 'jpg jpeg png gif';

$kiterjesztesek = '/('.implode('|', explode(' ', $kiterjesztések)).')\z/i';
$filek = opendir($konyvtar);
$kepek = array();
while(($file = readdir($filek)) !== false)
if(preg_match($kiterjesztesek, $file)) {
if(is_file($konyvtar.'/'.$file)) {
$kepek[] = $konyvtar.'/'.$file;
}
}
natsort($kepek);
while(list(, $kep) = each($kepek)) {
echo "<a href=$kep><img src=$kep width=160 height=120></a>\n";


}

?>
 

PHP és biztonság ( :-) )

H.Z. v2 · 2011. Jún. 9. (Cs), 19.26
Tudom, antagonisztikus ellentét, de... :-)
Azon gondolkodtam, hogy ha végre eljutok odáig, hogy összerakjak egy működő lapot, akkor az nem egyetlen file-ból fog állni. Ezen file-ok egy része (elméletileg) tartalmazhat olyan kódot, aminek a végrehajtása jogosultsághoz kötött.
Ilyenkor mi a korrekt módszer?
Minden egyes file elejére tegyem be az ellenőrzést, akkor is, ha az őt hívó oldal egyébként elvégzi? Kicsit túlzásnak érzem.
Mennyire gázos/hibás/stb. az az elképzelés, hogy a site gyökérkönyvtárában lévő valamennyi lap végez ellenőrzést, az alkönyvtárakban (mondjuk ilyenek, mint lib/, classes/ stb.) lévők nem, viszont... a .htaccess-be teszek egy RewriteRule-t, amivel ezen könyvtárakba irányuló kéréseket átirányítom a főoldalra, hibára stb.
Az include/require nem megy át a rewrite-on, tehát működőképes marad a program, viszont ha valaki bele akar nézni ezekbe a file-okba/futtatni próbálja őket, akkor kapásból átirányítom egy semleges oldalra.
 

Flash átalakítása:Ne nyomd meg a piros gombot!

NosnOsnoS · 2011. Jún. 9. (Cs), 18.54
Hali 1 Játékot akarok magyarosítani és folytatni.
http://milliojatek.fw.hu/nenyomdmegapirosgombot.htm
Na Ennek a kódja nem fért föl ezért ide raktam föl:
http://milliojatek.fw.hu/1.txt
Na az lenne a kérdésem,hogy hogyan?
 

Keresés - Találatok kilistázása

fmateka · 2011. Jún. 9. (Cs), 18.36
Sziasztok!
Volna egy problémám. Van egy weboldal, amin lehetősége van a látogatóknak nyelvtan szabályok, irodalmi fogalmak között keresni. (Erről a weboldalról lenne szó) A találatok kilistázását így oldottam meg:

// ELSŐ OLDAL
if (($_GET['oldal'] == "") || ($_GET['oldal'] == "1")) {
	$elso_sql = "SELECT * FROM tartalmak WHERE tartalom LIKE '%{$_GET[kif]}%' LIMIT 0,6";
	$elso_eredm = mysql_query($elso_sql,$ossz) or die(mysql_error());
	while ($list = mysql_fetch_array($elso_eredm)) {
	    $talalatok .= "<tr><td id='myObject".$list['id']."' valign='top'>".$list['tartalom']."</td></tr>";
	}
	$talalatok .= "</table>";
}
Ez csak az első oldal, a többi oldalt ugyanígy oldottam meg, csak persze apró eltérések a számoknál... Tulajdonképpen működik a dolog, csak nem túl praktikus. Tud valaki valamilyen egyszerűbb megoldást erre?
 

Avi beillesztése htm-be

NosnOsnoS · 2011. Jún. 9. (Cs), 16.45
Avi beillesztése htm-be
Hogy lehet?
 

Érintőképernyős információs ponthoz webes felület

bidala · 2011. Jún. 9. (Cs), 15.08
Sziasztok

Szabadtéren elhelyezendő érintőképernyős információs ponthoz szeretnénk kezelőfelületet kialakítani, nyílt forráskódú CMS segítségével.

Az első felmerülő probléma ezzel kapcsolatban megakadályozni a felhasználóknak hogy a böngésző ablakot betudják zárni ill. hogy ne is lássák azt. Az alkalmazás (weboldal) teljes képernyős módban fusson és abból ne is lehessen kilépni. Gyakorlatilag a felhasználó ne is tudja ne is érzékelje, hogy egy böngészőablakban navigál

Szerintetek ez megoldható valahogyan?