- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Szívós, szép és kitartó az új OnePlus óra
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- CMF Phone 2 Pro - a százezer forintos kérdés
- Egyszerre legnagyobb és legkisebb is a Garmin Venu X1
- Mobil flották
- Samsung Galaxy A52s 5G - jó S-tehetség
- Samsung Galaxy A56 - megbízható középszerűség
- Yettel topik
- Motorola Edge 30 Neo - wake up, Jr...
Új hozzászólás Aktív témák
-
Brown ügynök
senior tag
Jobb híján, egyelőre felraktam ezt:SimpleTest
-
Brown ügynök
senior tag
Ez alapján felraktam a PEAR-t. Bemásoltam a PHPUnit könyvtárat a php mappába, Ha futtatni akarok egy egyszerű phpunit -v parancsot ezt írja ki:
Could not open input file: @bin_dir@\phpunit
A leírás szerint ezt a phpunit.php-ban át kell írni a php.exe elérési útvonalára. Ez megtörtént de még mindig fennáll a hiba.
-
Brown ügynök
senior tag
PHPUnit-ot szeretném munkába állítani. Win7 rendszer, EasyPHP IDE.
A PEAR-t külön letöltöttem és beállítottam(?), majd ezt futtattam:E:\easyphp\php\PEAR\scripts>pear install phpunit/PHPUnit
Eredmény:
Warning: require_once(Console/Getopt.php): failed to open stream: No such file o
r directory in System.php on line 21
PHP Warning: require_once(Console/Getopt.php): failed to open stream: No such f
ile or directory in E:\easyphp\php\PEAR\System.php on line 21
Fatal error: require_once(): Failed opening required 'Console/Getopt.php' (inclu
de_path='E:\easyphp\php\pear') in E:\easyphp\php\PEAR\System.php on line 21PEAR nélkül nem lehetne telepíteni? Mert egyébként semmi szükség rá.
-
Brown ügynök
senior tag
válasz
Tele von Zsinór #7572 üzenetére
Miért nem raknál? Grafikus felület miatt?
-
Brown ügynök
senior tag
Fáradj át ide: Debian linux
-
Brown ügynök
senior tag
Ezt most miért nekem írtad? Én ezt egy framework-ből néztem.
@Sk8terPeter: akkor gyorsabb lesz, és kevesebb sávszélt kajál.
Ja, 210 B helyett csak 110 B foglal majd el.
Mellesleg, nem vagyok benne biztos, hogy gyorsabb lesz ha a kliensoldalon végeztetjük a munkát.
"Szerintem tökéletes ahogy csináltam."
Pontosítok: A célnak tökéletesen megfelel a megoldás. -
Brown ügynök
senior tag
válasz
Alukard #7504 üzenetére
Fölösleges ilyen terrorista módszereket bevetni.
Amit alkalmazok:
$uri = $_SERVER['REQUEST_URI'];
if ($uri == '/van-ilyen-oldal/' ){
//oldal meghívása
}
...
else {
header('Status: 404 Not Found');
#vagy 404 oldal meghívása
}Ezt még lehet bővíteni metódus, kapott változók vizsgálatával.
-
Brown ügynök
senior tag
-
Brown ügynök
senior tag
válasz
Sk8erPeter #7493 üzenetére
Szerintem tökéletes ahogy csináltam. Nem hiszem, hogy bonyolítanom kellett volna a dolgokat azért, hogy "szebb" legyen.
@rolandekta: Írtam, hogy mit nézegess: [link] Akkor írok egy példát ajax-ra is.
function changeMenu(szak1) { // szak1: A kiválasztott elem
var $selected = $(szak1).val(); // A kiválasztott elem értéke
var $url = action.php // Az adatbázis műveleteket tartalmazó php fájl
$.post($url, {szak1: $selected}, // Ajax: a php fájlnak átadjuk a változót, ami végrehajtja a benne lévő műveleteket és visszatér a következő menü elemeivel
function(data){
if(data.length > 0) {
$('#NextMenu').html(data); // A megkapott adatokat kiíratjuk.
}
});
} -
Brown ügynök
senior tag
válasz
rolandekta #7487 üzenetére
Jól mondja Alukard kolléga, ezt ajaxal lehet megoldani. Pl. jQuery $.post paranccsal átadod a kiválasztott elem id-jét a lekérdezésnek, majd az adatbázis lekérdezés után visszatérsz a második listával:
$response = '<select id=".$id." onchange="changeMenu(this, '.$id.')" >';
$response .= '<option value="9999">---Válasszon---</option>"';
while ($data = pg_fetch_object($result)) {
$response .= '<option value='.$data->id.'>'.$data->kategoria.'</option>';
}Én ez alapján tanultam meg az ajax-ot: [link].
-
-
Brown ügynök
senior tag
-
Brown ügynök
senior tag
válasz
Brown ügynök #7173 üzenetére
Nos, én azt hittem, hogy a namespace jelöli a fájl helyét és a use pedig a használatát, így a fájlt nem kell beemelni (include). Tehát helyesen:
namespace nevter;
require_once 'A.php';
use nevter\A;
$object = new A;Itt egyébként nem muszáj alkalmazni a use-t mert mindkét fájl azonos névtérben van.
-
Brown ügynök
senior tag
A namespace használatára szeretnék rájönni, de valamiért nem megy. Kód alant:
nevter mappa :
A.php fájl :
namespace nevter;
class A {
function FA() {
return __METHOD__;
}
}
Core.php fájl :
namespace nevter;
use nevter\A;
$object = new A;
Fatal error: Class 'nevter\A' not found in E:\easyphp\www\nevter\Core.php on line 7Egy kis rálátásra lenne szükségem.
-
Brown ügynök
senior tag
válasz
Tele von Zsinór #7169 üzenetére
Valószínű safe_mod van bekapcsolva. Ez esetben kapcsoltassam ki?
Azt olvastam, hogy elavult.
-
Brown ügynök
senior tag
válasz
DeltaPower #7166 üzenetére
Nem kapok ilyesmit. Címsorba írva címet megtalálja pedig.
-
Brown ügynök
senior tag
válasz
DeltaPower #7164 üzenetére
Annyit még megjegyeznék - nem tudom segít-e - hogy ez egy subdomain alatt működő oldal. Tehát a könyvtárszerkezet így néz ki :
/oldal mappája {
/az én oldalam mappája { }
/ide raktam a fájlokat tartalmazó mappát amit el kellene érni { }
} -
Brown ügynök
senior tag
válasz
Tele von Zsinór #7161 üzenetére
Így próbálom kilistázni a "data" mappa tartalmát:
$dir = "../data/".$user."/";
if ($i = is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
$this->return_ = $file;
}
closedir($dh);
}
}Na most, ezzel nem tudok kilépni a public_html mappából és kilistázni a data mappa tartalmát. A hivatkozást rontom el?
@Alukard: Kösz a kódot. A jogosultságkezelés rég kész van.
Csak nem fut le.
-
Brown ügynök
senior tag
válasz
Tele von Zsinór #7158 üzenetére
Ha a weboldal mappáján kívülre helyeztem, attól még ugyanúgy elértem, ha nem voltam bejelentkezve. Megjegyzem, localhoston próbáltam.
@Athlon64+: Erre tudnál esetleg példát mutatni? Vagy kicsit bővebben kifejtenéd?
-
Brown ügynök
senior tag
Fájlkezeléssel kapcsolatban lennének kérdéseim. Bizonyos felhasználónak lenne a szerveren néhány pdf fájl ami a saját névre szóló mappájában kapna helyet. Ezeket a fájlokat így lehetne megtekinteni: www.pelda.hu/tartalmazo_mappa/falj.pdf.
Eddig így ellenőriztem, hogy be van-e jelentkezve a felhasználó:
www.pelda.hu/tartalmazo_mappa/falj.pdf {
isLogged {
megnyitná a fájlt
}
else{
nem nyitná meg
}Az a baj, hogy ellenőrzés nélkül megnyitja,
Az lenne a kérdésem, hogy jó-e így? Ha igen, hogy lehetne megoldani, hogy ilyenkor is ellenőrizze, hogy be van e lépve a felhasználó? -
Brown ügynök
senior tag
Adott egy Latin2 adatbázis. Amikor jQueryvel ajax response-t iratok ki akkor ezt előbb kódolnom kell szerveroldalon utf8-ba. Ha ezt a megjelenített adatot mentem, akkor az is utf8 karakterekkel íródik az adatbázisba, ergo hibásan.
Mit tegyek annak érdekében hogy az adatbázisba megfelelő karakterkódolásban íródjanak az adatok?
-
Brown ügynök
senior tag
válasz
Speeedfire #7095 üzenetére
var_dump()-t akartam én is javasolni. print_r()-rel nem látod a típusát.
-
Brown ügynök
senior tag
Mikor érdemes egy weboldalt teljesen az alapoktól PHP-ban vagy ASP.NET-ben felépíteni?
Nekem nincs (még) nagy tapasztalatom de úgy gondolom, ez munkafüggő. Van ahol jobb ha alapoktól indulsz. Egy játéknak csinálsz weboldalt, oda jó lehet a Drupal is, míg - ahogy írtad is - egy mini közösségi oldal sokkal bonyolultabb ahhoz hogy CMS-sel "bíbelődj".
-
Brown ügynök
senior tag
válasz
Brown ügynök #6979 üzenetére
Még mindig nem az igazi. Chrome-ban a <base>-t veszi alapul és úgy jelentíti meg a css-t js-t, IE-ben és FF-ben viszont nem.
layout.php
<base href="/projekt/" />
<link type="text/css" href="css/css.css" rel="stylesheet" media="screen"/>
layout.php-ba illesztett fájlban: (/projekt/edit)
<script type="text/javascript" src="js/jquery-1.6.1.min.js"></script>Nos, a Chrome a 127.0.0.1/projekt/ útvonalhoz igazítja a css-t, js-t, és mindkettő látszik az oldal forrásában is. Az FF-nél már csak a css, az IE-ben meg egyik sem. Mindkettő a 127.0.0.1/projekt/edit/-hez igazítja, tehát ahhoz a fájlhoz amit a layout-ba illesztünk. Valaki segítene kivezetni ebből a mocsárból?
-
Brown ügynök
senior tag
válasz
DeltaPower #6978 üzenetére
Köszi, ez kellett nekem.
-
Brown ügynök
senior tag
válasz
DeltaPower #6976 üzenetére
Mint egy falat kenyér.
A másik kérdés még fenn áll.
-
Brown ügynök
senior tag
2 kérdésem lenne. Az egyik hogy egy vakbarát honlapnak kellett egy új css-t csinálnom. Ha rákattint a vakbarát linkre, a $_SESSION['blind'] = true; lesz. A stíluslapváltást a következő kóddal oldottam meg:
if ( isset($_SESSION['blind']) ) {
echo '<link type="text/css" href="css/css_blind.css" media="screen" /> ';
}
else {
echo '<link href="css/css.css" type="text/css" media="screen"/>';
}Ez Chrome-ban működik, FF-ben, IE-ben nem. MI lehet a gond? Van erre valami szebb megoldás?
A másik kérdésem pedig: mod_rewrite folytán szép url-t használok. Ha egy cim a rewriteBase-től számítva ( /base/ ) még egy / jelet tartalmaz, akkor a képek elérési útvonalát is meg kell toldjam ../-el. Nem lehet valami "abszolút" útvonalat megadni, hogy ne kelljen mindig megtoldani egy ../ az elérési útvonalat?
-
Brown ügynök
senior tag
@ArchElf : Kösz, így már világos.
@Lacces:Nem muszáj minden fv.-t
megtanulnialkalmazni.Idővel rá fogsz jönni melyikre van szükséged és melyikre nincs. Amíg nincs munkád készíts magadtól egyéb weboldalakat is pl. blogot. Közben nézd meg a fórumokon hogy oldottak meg mások egy-egy problémát. Nézegesd a PHP.net-t is.
Mindent egyszerre nem fogsz tudni megtanulni, csak szépen sorjában.
-
Brown ügynök
senior tag
válasz
DeltaPower #6950 üzenetére
Egyelőre igen.
Erről a sózás dologról tudnál bővebb információt adni / linkelni. Sokszor olvastam róla, de nem tudom mit is takar pontosan.
-
Brown ügynök
senior tag
válasz
Tele von Zsinór #6947 üzenetére
A jelszóra azért van szükség mert azzal kapcsolódik az adatbázishoz minden adatbázis műveletkor.
Az ip-ről és a user-agent-ről is olvastam, de ha a user-agent kevesebb ütközéssel jár akkor azt használom.
Viszont a user-agent megegyezhet egy nem jogosult felhasználóéval aki így könnyen szert tehet adatokra / elhelyezhet rosszindulatú kódokat az oldalon, nem?
-
Brown ügynök
senior tag
Nemrég kezdtem session-nel foglalkozni ezért megkérdezem, hogy mikre kellene még odafigyelni biztonság és hitelesítés szempontjából.
Minden "védett" tartalomnál megvizsgálom, hogy a felhasználó be van-e jelentkezve:
if (isset ($_SESSION['user']) && isset($_SESSION['pswd']) && $_SESSION['online'] && ( $_SERVER['REMOTE_ADDR'] === $_SESSION['ip']) )
Ezek után megvizsgálom, hogy lejárt-e már a munkamenet. Ha lejárt, akkor kiléptetem.
Kellene még ezenkívül mást is figyelni?
-
Brown ügynök
senior tag
Ide is berakom hátha valaki tudja a megoldást: karakterkódolási probléma
-
Brown ügynök
senior tag
válasz
Sk8erPeter #6935 üzenetére
Úgy értettem, minden olyan oldal elején ahol szükség lesz a session-ben tárolt adatokra.
@cucka: Ajánlhatom a doctrine-!. Egy keretrendszer kapcsán kezdtem a tanulásába. Nekem bonyolult volt,( a mapping miatt nem működött egy lekérdezés ), igazából nem is értem mi az a plusz amit egy orm nyújtani tud.
-
Brown ügynök
senior tag
válasz
Brown ügynök #6925 üzenetére
Akkor fussunk neki még egyszer:
class controller {
static $user; // $_SESSION['user']-t tároljuk
static $pswd; // $_SESSION['pswd']-t tároljuk
}
class model {
function connect() {
// Ezekkel az adatokkal kapcsolódunk az adatbázishoz
controller::$user;
controller::$pswd;
...
}
function select() {
$this->connect();
//lekérdezés
...
}
}A bejelentkezés abból áll, hogy indítunk egy munkamenetet, a $_SESSION értékeket eltároljuk a static $user, $pswd változókba, majd lefut a connect() fv. Ha a select() fv.-t szeretném futtatni, akkor meghívódik a connect() fv. ami venné a controller::$user, $pswd változók értékeit és lefutna egy lekérdezés. De ilyenkor a connect() fv. a controller::$user, $pswd értékeit üresnek látja. Miért van ez?
-
Brown ügynök
senior tag
válasz
Brown ügynök #6925 üzenetére
1.osztály::$user;
1.osztály::$pswd;
Tehát ezekkel az értékekkel kapcsolódnék a Postgres adatbázishoz, de nem látja az értékeket. -
Brown ügynök
senior tag
Van két osztály. Az egyikben tárolom statikus változóban a SESSION értékét. A másikban az adatbázis kapcsolódásnál ezeket a statikus változó értékeit kérem le. Illetve kérném ha tudnám.
1. osztály:
static $user; // $_SESSION['érték']
static $pswd; // $_SESSION['érték']
2. ostály:
function connect() {
1.osztály::$user;
1.osztály::$pswd;
...
}
function select() {
$this->connect();
...
}A select fv.-nél már nem tud kapcsolódni az adatbázishoz. Miért lehet ez?
-
Brown ügynök
senior tag
válasz
Tele von Zsinór #6855 üzenetére
A tűzfal engedi. Most már sikerült elérni hogy 127.0.0.1:8080-on bejön a képernyő, a VH nevet még mindig nem látja.
-
Brown ügynök
senior tag
válasz
Alukard #6851 üzenetére
Kösz, kijavítottam. Megpróbáltam a host fájlba berakni ezt:
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
127.0.0.1:8080 a10.local.com # a10 szerver# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1:8080 localhost127.0.0.1:8080 nem elérhető
Az Apache elindul, hibát nem jelez, nincs a log-ban semmi. A host fájlt állítom be szerintem rosszul. Ötlet?
-
Brown ügynök
senior tag
Ha már itt tartunk...
Próbáltam beállítani VirtualHost-t de valamiért nem működött.
Apache httpd.conf :
<VirtualHost *:8080>
ServerName localhost
ServerAdmin opcionális@megadni.hu
DocumentRoot "E:/easyphp/www/A10/
AddDefaultCharset UTF-8
AddCharset ISO-8859-2 .iso8859-2 .latin2 .cenHostnameLookups Off
UseCanonicalName Off
ServerSignature Off
# Könyvtár listázás tiltása:
IndexIgnore *# szerver hiba:
ErrorDocument 500 "Szerver hiba, ne piszkáld!"# Tiltott:
ErrorDocument 403 "Nincs jogosultságod! Ne piszkáld!"<Directory "E:/easyphp/www/A10/">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>Az Apache nem dob hibát erre.
Host fájlt hogy kellene átalakítani?
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost -
Brown ügynök
senior tag
Szerintem majd frissítsd az EasyPhP-t: EasyPHP 5.3.6
A problémához: A header információkat hamarabb küldted el és csak utána állítod be a Cookie-t.
-
Brown ügynök
senior tag
válasz
Brown ügynök #6712 üzenetére
-
Brown ügynök
senior tag
Azt nem tudjátok hova tűnt a symfony2 beta-ból az alul lévő fejlesztői eszköztár? Nem jelenik meg pedig fejlesztési módban vagyok.
-
Brown ügynök
senior tag
válasz
fordfairlane #6706 üzenetére
Jelenleg én is az útvonalakkal vesződöm. Viszont rengeteg előnye van. Tanulni kell.
-
Brown ügynök
senior tag
válasz
fordfairlane #6704 üzenetére
Most én is azzal vesződök. Egy automatikusan generált form mezőibe lehívok id alapján egy ügyfelet, majd szerkesztés után, ezt vissza akarom tölteni az adatbázisba. Tehát nem ujjat akarok írni, csak update-ni. Eddig nem sikerült rájönni...
Egyébként ha belejössz, egy idő után már simán át tudod emelni a régebbi oldalakat is. Csak meg kell szokni a keretet.
-
Brown ügynök
senior tag
Pár embert talán érdekel: megjelent a Symfony2 beta.
Különvélemény: A legjobb dolog amit beletehettek az a doctrine 2. Az egyedekkel való operálás, automatikus függvénygenerálás, a platformfüggetlen lekérdezések hihetetlen kényelmesek! A Twig sem rossz, valóban átláthatóbbá teszik a kódot. Személy szerint maradtam a PHP-nál mert először ezt szeretném minél jobban elsajátítani. Viszont akik designer-kel dolgoznak együtt azoknak hasznos lehet.A Form-okról nem beszélve. Annyi előre generált mezőt raktak bele, hogy még sok is.
-
Brown ügynök
senior tag
válasz
Sk8erPeter #6617 üzenetére
Szerk.: nyilván élesben működő oldalon ne legyenek bekapcsolva a notice-ok,
Én így értelmeztem fordfairlane tanácsát.
A tanácsaidhoz: Bocs, hogy nem ellenőriztem le a $_GET['id'] ahogy csak lehet, (Éppen ezért kértem segítséget). de amit mondtál abból nekem nem jött le a megoldás.
Fordfairlane elmondta, hogy kellene, most már tudom. Részemről lezárva.
-
Brown ügynök
senior tag
válasz
fordfairlane #6615 üzenetére
Erre volt szükségem.
Rendkívül hálás vagyok.
-
Brown ügynök
senior tag
válasz
fordfairlane #6613 üzenetére
Na igen, de jelenleg nincs ennél jobb módszerem. Ha kicsit visszaolvasol, láthatod miért. Másképp nem tudok egy konkrét cikkre hivatkozni, csak ha hozzáfésülöm (.$_GET['id']-t) az url-hez. Isset-tel ez nem működne.
-
Brown ügynök
senior tag
válasz
fordfairlane #6610 üzenetére
Bocs, félreértettél, jó amit mondtál, köszönöm. Értelmezd úgy, hogy valóban lelkesedtem.
-
Brown ügynök
senior tag
válasz
fordfairlane #6608 üzenetére
kapcsolt ki a notice-ok kijelzését.
Jajj ne, ezt túl egyszerű.
Persze javasolták már ezt nekem, nem is tudom miért próbáltam másképp megoldani. Jól értetted, az id csak egy url-nél játszik.
@SK8erPeter: A beérkezett uri-kat vizsgálom, amelyik nem létezik megy a levesbe->404.
-
Brown ügynök
senior tag
.htacces: RewriteRule ^cikk(.*)$ index.php/.../file.php?id=$1 [L]
Hivatkozás: <a href="cikk'.$row['id'].'">
Útvonal:
elseif ($uri == '/blog/cikk'.$_GET["id"])
{ mutató_függvény($_GET['id']); }Mint mondtam, ez így működik. A gond azzal van, hogy másik kért url-nél, amelyben átadok paramétereket, szintén kéri az id-t. Lásd feljebb.
-
Brown ügynök
senior tag
válasz
Sk8erPeter #6603 üzenetére
Mysqli lekérdezéseket használok. A GET['id'] ennél az uri-nál átadódik:
elseif ($uri == '/blog/cikk'.$_GET["id"]) {
mutató_függvény($_GET['id']);
}Csakis ennél az uri-nál alkalmazom a házzfűzési módszert, minden más esetben isset-t használok. Itt azért kell ezt a módszert használnom, mert az egyes cikkeket id alapján kérem le az adatbázisból és az útvonalnál csak így lehet átadni az id-t. Ha van a hivatkozásra más módszer, akkor azt szívesen meghallgatom.
Ha egy másik útvonalnál is adok át változót, akkor azt írja ki, hogy ismeretlen index: id.
Példa egy másik útvonalra:
elseif ($uri == '/blog/upload' && isset($_POST['cim']) && ...) {
beillesztő_függvény(($_POST['cim']),...);
} -
Brown ügynök
senior tag
Hátha valaki tudja: Miért hiányolja az oldal minden egyes adatbázissal kapcsolatos útvonalnál az id-t?
Az index.php-ban vannak az "útvonalak" amelyek alapján érhetőek el a tartalmak.
Hivatkozás: <a href="cikk'.$row['id'].'">
Útvonal:
elseif ($uri == '/blog/cikk'.$_GET["id"]) {
mutató_függvény($_GET['id']);
}Példa egy másik útvonalra:
elseif ($uri == '/blog/upload' && isset($_POST['cim']) && ...) {
beillesztő_függvény(($_POST['cim']),...);
}Tehát, bármely olyan útvonalnál, ahol adatbázissal kapcsolatos tevékenység van, hiányolja az id-t. (Undefined index id in index.php). Na most, az id-t csak egy útvonalnál használom - ugyanis az adott cikket csak így tudom megjeleníteni . Valakinek valami ötlet?
-
Brown ügynök
senior tag
Megoldódott!
.htaccess tartalma:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteOptions MaxRedirects=10
RewriteBase /komment/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^post$ index.php/mappa/cél_fájl.php [L]
</IfModule>Hivatkozás a célra: <a href="post">
Címsorban: localhost/komment/post
Object not found üzenetet azért kaptam mert rosszul hivatkoztam a cél URL-re az index.php-ban.
-
Brown ügynök
senior tag
válasz
Siriusb #6512 üzenetére
Ez nem oldotta meg sajnos.
+Sk8erpeter: Argumentumokat jelenleg is adok át csak azok nem jelennek meg az URL-ben, ezért ezzel már nem kell foglalkoznom a mod_rewrite során. Ami az index.php-ban van az pedig nem véletlenül van úgy ahogy.
Mint mondtam ez egy elülső vezérlő, tehát minden kérést ez a fájl kezel és adja vissza a megfelelő választ:
$uri = $_REQUEST['REQUEST_URI'];
if ($uri == '/komment/index.php' && isset($_GET['id'])) {
show($_GET['id']);
}Az összes lehetséges kérésnek elkészítjük a megfelelő választ (útvonalat a válaszhoz) a többi megy a levesbe (404).
(Ebben a kérésben egy változót is átadtunk ['id'], ekkor végrehajtódik a show() fv. amivel lekérhetünk egy oldalt, írhatunk az adatbázisba, stb.)Ehelyett$uri == '/komment/index.php' szeretnék egy szebb megjelenést :
$uri == '/komment/show' de valamiért még mindig Object not found. -
Brown ügynök
senior tag
Mod_rewrite-ban szeretnék segítséget kérni. Eddig jutottam:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteOptions MaxRedirects=10
RewriteBase /komment/
RewriteCond %{REQUEST_FILENAME} !-f
</IfModule>Komment mappában található az index.php. Az index.php egy elülső vezérlőként funkciónál, tartalma:
$uri = $_SERVER['REQUEST_URI'];
if ($uri == '/komment/') {
index();
}
elseif ($uri == '/komment/index.php') {
funkcio() );
}
...Szeretném a hivatkozás megkönnyítésének érdekében ezt átalakítani : '/komment/index.php' valami ilyesmire: '/komment/show'
-
Brown ügynök
senior tag
válasz
Speeedfire #6485 üzenetére
Hát ekkor még nagyon korai fázisban volt a Symfony 2. Ma már azért jóval kidolgozottabb, szinte kész van. És éppen ezért nincs még rendes tutorial nem hogy magyarul de angolul sem.
Egy jó kiindulópont lesz a Jobeet projekt átültetése Symfony 2-be: [link]. Még csak az első három nap érhető el és az sem működik tökéletesen.
Az utolsó parancsnál doctrine:data:load nekem hibát ír ki:
Fatal error: Cannot redeclare class Job\JobeetBundle\Entity\Category in E:\easyp
hp\www\symfony\src\Job\JobeetBundle\Entity\ORM\Category.php on line .
Jó hír, hogy szinte naponta frissítik tehát előbb-utóbb működni is fog.Illetve készül a knp labs berkein belül egy tutorial, érdemes figyelni az oldalt: [link]
Néhány szolgáltatást összefoglaltak az egyik fórumban: [link]
Symfony 2 csomagok: [link]
Symfony 2 API : [link]
Symfony 2 összetevők: [link]
-
Brown ügynök
senior tag
A PHP5 24 óra alatt jó kiindulási alap. Természetesen ebből a könyvből nem fogod megtanulni teljesen. Kb 20. fejezetig érdemes átnézni + talán még az XML-s részt. Ajánlom hozzá még a http://php.net/, ha valami fv.-re szükséged van vagy nem értesz nagy segítség.
-
Brown ügynök
senior tag
válasz
Speeedfire #6405 üzenetére
Így van.
protected: Csak a tartalmazó osztály és alosztály számára hozzáférhető.
private: Csak a tartalmazó osztály számára hozzáférhető. -
Brown ügynök
senior tag
válasz
Speeedfire #6388 üzenetére
Nincs még PHP 6. A hivatalos oldal szerint a következő verzió az 5.3.6. lesz.
-
Brown ügynök
senior tag
Megújult a Symfony 2 honlapja. Holnaptól pedig tölthető a keretrendszer! Gondolom a honlap a Symfony 2-re épül, így elmondhatjuk, hogy nem kicsit gyors a rendszer.
Symfony
Check this out! -
Brown ügynök
senior tag
válasz
Brown ügynök #6211 üzenetére
Az összes kategóriát! . Tehát az összes hirdetés egy táblában van és a hirdetéseknél a kategória száma is rögzítve van. Ha pl. szállítási hirdetés akkor kategória 1, utazási kategória 2 és így tovább.
-
Brown ügynök
senior tag
Adatbázis: Tegyük fel van benne egy hirdetés tábla. A tábla tartalmazza a kategóriát (num), tárgy, ár, feladás dátuma stb.
Lekérdezés:
"SELECT *, (SELECT COUNT(kategoria) FROM `hirdetes_felad`) FROM `hirdetes_felad` ORDER BY kategoria, keszitesdatuma DESC ;"Táblázat: Ameddig van listázandó sor:
if(count($rows)>0)
for($i=0;$i < count($rows);$i++){
<table>
<tr>
<td> rows[$i]->targy</td> stb. -
Brown ügynök
senior tag
-
Brown ügynök
senior tag
A következő a problémám: Szeretném lekérdezi az adatokat a táblázatból úgy, hogy kategóriánként 3 sort listázzon. Mindegyik kategóriát külön táblázatba kellene listázni.
Tehát: 1. táblázat: szállítás 3 hirdetést listáz 2. táblázat üdülés 3 hirdetést listáz és így tovább.Odáig jutottam, hogy lekérdezésél megszámolom a kategóriákat, majd bekérem az összes adatot kategóriánként rendezve. A táblázatokat php-val generálom, majd egy tömbből töltöm be az adatokat:
1. lekérdezés
2. lekérdezés eredménye-->tömb
3. táblázat generálása php-val, sorok betöltéseA kérdésem, hogy a lekérdezést vagy a táblázat generálását kellene-e átírni ahhoz hogy kategóriánként 3 adatot listázhassak, külön táblázatokba rendezve.
Ha szükség van rá berakom a kódot.
Elsősorban az irányelvre vagyok kíváncsi. -
Brown ügynök
senior tag
válasz
Tele von Zsinór #6186 üzenetére
Kösz!
Illetve volt még benne hiba:
$nev = real_escape_string(utf8_decode ($connect, $nev)) helyett:
$nev = mysqli_real_escape_string ($connect, utf8_decode($nev)); -
Brown ügynök
senior tag
Abszolájt nem tudom miért van benne hiba. Üzenetküldés captcha biztonsági kóddal. Mielőtt nem raktam bele a captcha-t + session, működött.
Hibaüzenet: Call to undefined function update()
session_start();
if(isset($_POST['kod']) && !empty( $_POST['nev'] ) && !empty( $_POST['uzenet']))
{
if ($_POST['kod'] == $_SESSION['captcha'])
{
$nev = $_POST['nev'];
$uzenet = $_POST['uzenet'];
//ellenőrizzük a felhasználó által adott adatokat!
if (strlen($nev) < 3) {
echo "Hosszabb nevet válassz!";
return false;
}
else {
$dbhiba = "";
update();
}
function update ( $nev, $uzenet, &$dbhiba)
{
$db = "pelda";
$connect = new mysqli('localhost', 'felh', jelszo', 'pelda');
if ($connect->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
$nev = real_escape_string(utf8_decode ($connect, $nev));
$uzenet = real_escape_string(utf8_decode ($connect, $uzenet));
if ($connect->query("INSERT INTO uzenofal (nev, uzenet) VALUES ('$nev', '$uzenet')")) {
printf("%d Row inserted.\n", $connect->affected_rows);
}
else {
printf("Error: %s\n", $connect->sqlstate);
}
return true;
} -
Brown ügynök
senior tag
válasz
Tele von Zsinór #6172 üzenetére
Igen, már épp kezdtem megszokni az 1.4-t. Aztán amikor ránézek a 2-re, hát eléggé meglepődtem.
Pl. Az új sablonrendszer a twig számomra elég zavaró. Van egy bizonyos szintű php tudásom erre más nyelvben írjam meg szinte az egészet?...
&Invus &Speedfire: Symphony 2 összetevőiről.
-
Brown ügynök
senior tag
válasz
Tele von Zsinór #6129 üzenetére
Jó, a mappák akkor jó helyen vannak.
Engedélyeztem a plugint.
A plugin:publish-assets lefuttattam de hibát dobott vissza, amit két üzenettel ezelőtt írtam.
-
Brown ügynök
senior tag
válasz
Tele von Zsinór #6126 üzenetére
Nekem a lib/vendor/symfony/data/web/ mappában egy sf mappa van. Ha azt berakom a web mappába vagy az almappákat rakom be sf_defaults, sf_admin... akkor nem változik semmi.
Más:
Az sfDoctrineGuardPlugin-t így raktam a plugin könyvtárba (13. nap) és hibát dobott vissza:Call to undefined method myUser::getUser
Összehasonlítottam a kódot a weben lévővel és nem találtam hibát, igaz ott pear-rel telepítették a plugint. Aztán letöltöttem a teljes 13. napot, akkor működött, viszont a css és a képek ott sem jelentek meg!
-
Brown ügynök
senior tag
válasz
Tele von Zsinór #6015 üzenetére
Symfony: Front&, Back&
A 12. leckében ki kellene adni azt a bizonyos plugin:publish-assets parancsot, hogy kiszolgáló oldalon is elérhetővé váljanak a css-k és a képek.
Hibát kapok, talán valami konfigurációs hiba miatt:
...
PHP Warning: symlink(): Could not fetch file information(error 3) in E:\easyphp
\www\jobeet\lib\vendor\symfony\lib\task\sfFilesystem.class.php on line 224
...
Warning: symlink(): Could not fetch file information(error 3) in E:\easyphp\www\
jobeet\lib\vendor\symfony\lib\task\sfFilesystem.class.php on line 224
...
Dump $_SERVER
Variables in local scope (#9):
$copyOnWindows = TRUE
$finder = *uninitialized*
$ok = FALSE
$originDir = '..\\lib\\vendor\\symfony\\lib\\plugins\\sfDoctrinePlugin\\web'
$targetDir = 'E:\\easyphp\\www\\jobeet\\web\\sfDoctrinePlugin' -
Brown ügynök
senior tag
válasz
Tele von Zsinór #6065 üzenetére
Igen, megnéztem a fv. és rájöttem mi a hiba a limit fv.-nél: 2 paramétert várt és csak egyet adtunk a példa alapján. Ezért így a helyes:
public function getActiveJobs($max = 5)
{
$q = $this->getActiveJobsQuery()
->limit('3',$max);
return $q->execute();
}Másik: Valamiért rosszul képezte le az adatbázist ezért a slugg mező értéke NULL volt. Átírtam az értékét a kategória id-kre, így már megy az oldal lapozás.
Kösz a linket.
-
Brown ügynök
senior tag
Symfony: A hetedik napon
A hetedik nap végére az oldalon meg kellene jelennie az oldalnavigációnak amelynek köszönhetően lapozni tudjuk (következő, ugrás a végére, stb.) a munkákat a Jobeet-en. Probléma már a 6. leckében is volt:
// lib/model/doctrine/JobeetCategory.class.php
public function getActiveJobs($max = 10)
{
$q = Doctrine_Query::create()
->from('JobeetJob j')
->where('j.category_id = ?', $this->getId())
->limit($max);
return Doctrine_Core::getTable('JobeetJob')->getActiveJobs($q);
}Ez így nem működik. A limit fv.-be közvetlenül kell(ett) megh. a max értékét, úgy működött. Ez csak azért jegyzem meg mert a hetedik napon megváltozik a fv bár talán lényegtelen.
Ugorjunk a hetedik nap végére. Itt már meg kellene jelennie a lap alján a navigációnak ehelyett csak a kategóriánkénti munkák száma jelenik meg (6). Itt nincs hibaüzenet viszont ha rákkantintok a 6-ra (hogy listázza ki) akkor a következő hibaüzeneteket kapom(többek közt):
1. Unable to find the JobeetCategory object with the following parameters "array ( 'slug' => 'design',)").
2. sfObjectRoute->getObject()
in SF_ROOT_DIR\apps\frontend\modules\category\actions\actions.class.php line 15A nevezetes 15. sor: $this->category = $this->getRoute()->getObject();
Magyarán se navigáció, se listázás. Átnéztem a kódot és mindent úgy írtam ahogy a tutorialban van kivéve a public function getActiveJobs fv mert különben az nem működne.
Remélem ez elég lesz ahhoz, hogy valami tanáccsal szolgáljatok.
-
Brown ügynök
senior tag
válasz
Tele von Zsinór #6029 üzenetére
Igen, az alapján végeztem a telepítést, a weblabor cikk amolyan segítség volt.
Most már látom, hogy mindegyik projekthez kell a symfony:
Be kell rakni a projekt könyvtár lib\vendor\ mappájába --> generate:project --> ezután a symfony.bat-t közvetlenül a projekt könyvtárból el lehet érni (jobeet\symfony) és onnan kell kiadni az utasításokat.
Egyelőre működik.
Új hozzászólás Aktív témák
Hirdetés
- Thinkpad X230 legenda: i7 CPU, IPS kijelző, 12 GB, dupla SSD, magyar villbill, webcam, fingerprint
- Honor X6b 128GB Kártyafüggetlen 1Év Garanciával
- Apple Watch SE2 / 44mm / Midnight / Black Sport / Cellular (99%)
- Iphone 13 Pro Max 128 GB /// 86% Akku // Számlával és Garaniával
- Iphone 12 Pro Max 128 GB /// 88% Akku // Számlával és Garanciával
- BESZÁMÍTÁS! ASUS ProArt Z790-CREATOR WIFI alaplap garanciával hibátlan működéssel
- Honor X6b 128GB Kártyafüggetlen 1Év Garanciával
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Csere-Beszámítás! Asus Számítógép PC Játékra! R5 1600X / GTX 1080 8GB / 32GB DDR4 / 256SSD + 2TB HDD
- Samsung Galaxy Z Fold5 / 512 GB / 12 GB RAM / 1év Garanciával / Gyári Független
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest