Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
"Viszont cserébe nem tudod az összes MySQL feature-t elérni (vagy spec parancsok). (Ez a hátránya)"
Mégpedig?(#8273) Lacces :
mivel még az elején vagy, még most felejtsd el az output bufferinget (ob_start(), stb.). Az esetek 95%-ában megoldható a problémád anélkül is. Vagy lehet, hogy mondhattam volna magasabb százalékarányt is.
Cserébe szebb lesz a kódod.(#8276) Lacces :
"Try / Catch-t ajánlom is, hogy hozzák be a PHP-ba."
Már "behozták", Te is használod."És akkor az E_ALL helyett E_ERROR-t használjak?"
Ezt Te döntheted el, de szerintem érdemes E_ALL | E_STRICT beállítást használni (6-os PHP-nál az E_STRICT már az E_ALL része lesz). Ez a legszigorúbb hibaellenőrzés. De mivel a hivatalos doksi szerint épp ez a default beállítás, legegyszerűbb, ha ezt a második paramétert meg sem adod, aztán megfelelő módon lekezeled a hibákat, persze ez már egyéni döntés kérdése.A set_error_handler-t valahol a "főfájlod" elején, egyfajta inicializálásként add meg. Kukkantsd meg a példákat rá.
-
Sk8erPeter
nagyúr
Nem néztem még meg a korábban bemásolt .htaccess-es cuccot, de előbb kérdés: egyáltalán be van kapcsolva a mod_rewrite Apache-ban? Azt sem árt tudni.
Egy phpinfo() megmondja.====
Szerk.
(#8241) coco2 :
1. OK.
2. Ez hogy jön ide?Kifejthetted volna bővebben, ez miként kapcsolódik a HipHop PHP-hez.
3. Ez a válasz most elég furcsa. Nem értem ezt a "mutassá cash-flow adatokat, ha nem tudsz, akkó' nekem van igazam"-jellegű reakciót. Meg azt, hogy a cash-flow adatok megint csak hogy jönnek ide, amikor arról beszéltünk, milyen létjogosultsága van (van) a C#-nak és Java-nak az alacsonyabb szintű nyelvekhez képest.
4. Wow, nem rossz. Ez mégsem változtat a korábbiakon, hogy attól még az MVC-nek is van létjogosultsága, mert szerinted szemét üzleti érdekek miatt lett ez is felkapott. -
Siriusb
veterán
Talán nem 25 felé irányba kellene elmenni és mindent azonnal akarni, hanem egyszerre egy területre koncentrálni, mondjuk a php-re és azt legalább alapszinten elsajátítani. Az apache beállításokkal stb. ráérsz később is foglalkozni, ha már egy működő weboldalt létre tudtál hozni.
-
CSorBA
őstag
-
CSorBA
őstag
Őszintén nem vagyok teljesen biztos, de esetleg:
RewriteEngine On
<IfModule mod_rewrite.c>
RewriteBase /localhost/EcommercePHP/
# For sales:
RewriteRule shop/sales sales.php [L]
# For the primary categories:
RewriteRule shop/([A-Za-z\+]+)/?$ shop.php?type=$1 [L]
# For specific products:
RewriteRule browse/([A-Za-z\+\-]+)/([A-Za-z\+\-]+)/([0-9]+)$ browse.php?type=$1&category=$2&id=$3 [L]
stb..
</IfModule> -
Sk8erPeter
nagyúr
"Meg furcsa, hogy beadandó, zh, vizsga idején is ha C# volt a téma, akkor megszívtam. De ugyanúgy szeretem azt a témát is. Csak befigyelt, hogy máshogy kell megvalósítani a programokat. (más gondolkodás kell, és a Java-ra jobban ráállt az agyam)"
Már miért kellene más gondolkodás?
Ha a nyelvek közötti differenciákról beszélünk (alacsonyabb szintű, gépközelibb nyelveket is belevéve a körbe), a programozás során lehet, hogy ott valamennyire elválik a dolog, hogy objektumorientáltan vagy "klasszikus" procedurális módszerekkel oldod meg a feladatot (végül is abból a szempontból nem mindegy, hogy objektumokban, azok privát vagy kívülről is elérhető, örökölhető, stb. metódusaiban, tagváltozóiban gondolkodsz, vagy mondjuk globális függvényekben, változókban, stb.), de alapvetően ugyanazt a szemléletet kell követni a tervezés során: megvalósítás szempontjából hogy nézzen ki a dolog - a tervezés az elsődleges lépés, jóval utána jön csak a megvalósítás.
Ha C#-ra és Java-ra szűkítjük a kört, annyiból is egyértelműbb a dolog, hogy nyilvánvaló, hogy mindkettőnél az objektumorientált szemléletet fogod követni. Hogy a megtervezett sémát hogyan valósítod meg kódban, milyen library, framework, plugin, stb. segítségével, az a "gondolkodásmód" szempontjából mellékes, mindkettőben lehet nagyjából egy struktúra és szemlélet szerint írni a programjaidat (ha mondjuk úgy tervezted meg az alkalmazásodat, hogy az MVC-szemléletet fogod követni, akkor mindegy, hogy C#-ban vagy Java-ban állsz neki, mindkettőben megvannak a megfelelő eszközök ennek a megvalósítására).(#8216) Lacces :
"Jogoknál. van olyan, hogy típus:
- globális
- adatbázis-specifikus.
(mindkettő típus jelen van a felhasználónál)
Mi a különbség kettőjük között?"
Itt konkrétan melyik szót nem érted? -
PazsitZ
addikt
Na most, ha az asp.net mvc neked magas, akkor php-ban vagy java-ban miből gondolod, hogy jobban fog menni?
probáltam elhelyezkedni sehova sem kellett tapasztalatlan ember
A PHP24oraalatt könyvet kiolvasot sok scriptkid által is, telített PHP-sok között gondolod, hogy ez nincs meg? -
modder
aktív tag
nem akarok trollkodni, de akkor vedd el addig a jogokat, amíg még működik, és akkor kiderül, hogy melyik jog kell neki. meg ellenőrizd, hogy tényleg arra az adatbázisra adtál-e jogokat, amit használni akarsz vele. van ilyen pl., hogy SHOW DATABASES jog, nem árt, ha ki tudod listázni az adatbázisokat, hogy kiválaszthasd a sajátod.
-
Bencom ™
őstag
"Hát nem tudom, de én alapból úgyszoktam, hogy van az IDE (Fejlesztő eszköz, legyen az NVU vagy bármi...)
Ha ott írok valamit, speciel a HTML-ben, akkor elmentem.
Aztán egy böngészőben megnyitom a fájlt, amit módosítottam, és ott megnézem az eredményt.
Meg szerintem ezt így célszerű is, hogy mindig ott nézed meg, hogy hogyan néz ki "Pontosan ezt csináltam. Ezért nem értettem, miért nem működik? Aztán inkább az NVU-ból kimentettem egy .txt-be, átírtam a kiterjesztést, és láss csodát, utána már megjelent, amit akartam. Előtte is, meg utána is .html-ben mentette (mármint az NVU is abba mentett, meg a .txt-ből is azt csináltam) tehát elvileg ugyanaz a két program, mégis, az egyiket megjelenítette, a másikat nem
XHTML miatt azt olvastam hogy célszerű inkább mindent kis betűvel írni és úgy megszokni mert abban csak az az elfogadott.
coco2: akkor már értem, mi az a másik program amit meg a tanárom küldött nekem, mert az is ugyanezt csinálja úgy látszik, hirtelen nem tudtam, mit kezdjek vele
a másik az appserv win32
És így már értem, hogy miért nem akarta megjeleníteni, azt hitte, hogy én ezeket akartam megjeleníttetni, mindjárt más...
Notepadban viszont nem színez, és ahogy én láttam ilyen kezelőfelületeket ott bizony színezett szépen, ami azért is lenne jó mert egyből látom a színéről, mi micsoda, vagy hogy nem hagytam e véletlenül nyitva valamit valahol.
-
Sk8erPeter
nagyúr
-
Bencom ™
őstag
persze, egyébként meg se nyitotta volna
de kipróbáltam egy trükköt, Nvu-ból kimásoltam mindent txt-be, letöröltem a .txt végződést, átírtam html-be, és láss csodát, amit leprogramoztam, böngészővel megnyitva működött! Pontosan úgy, ahogy vártam tőle... Na akkor most mi van?
szerk.: nem, úgy látszik a programmal van valami, vagy nem arra akarom használni amire való, vagy fogalmam sincs mi baja...
egyébként nagyon egyszerű dolgot "programoztam" csak hogy kipróbáljak 1-2 kódot:
<! doctype html>
<html>
<head>
<title> Teszt oldal </title>
</head>
<body bgcolor="green" background="http://4.bp.blogspot.com/_JboMOxc4Rsc/S9_BhLAa1MI/AAAAAAAAAV8/sSOxoiBhJ5Y/s1600/green_grass.jpg" style="background-repeat:no-repeat; background-attachment:fixed"> </body>
</html>Ennyi az egész, és a várt formában is működik: megjelenik egy háttérkép, és kiírja felül, hogy teszt oldal. Ennyi is volt a célom vele egyelőre. De az Nvu által mentett verzió nem megy, csak magát ezt a kódot mutatja böngészővel, ha meg .txt-ben írom meg és lecserélem a kiterjesztést, egyből megy...
-
fordfairlane
veterán
Most nézegettem a <selected> Html tagot. Néztem itt a könyvben, és a kijelölt értéket az <option> html-ban simán csak egy 'selected' -del jelölte.
Neten meg találtam még ezeket a megoldásokat: selected="selected", illetve selected="yes".
Kipróbáltam mind a 3-at és működik... Mégis melyik opciót célszerű használni az <option>-ben?XHTML szintaxis szerint selected="selected", de tulajdonkép majdhogynem mindegy. A "selected" egy logikai attribútum, ami attól lesz true, hogy az adott tagban jelen van, false pedig, hogy egyáltalán nincs ott.
-
PazsitZ
addikt
A textarea whitespace-t észre se vettem
De az a fura, hogy ha hagysz s whitespace-t a textarea-ban annak meg kellene jelennie, azaz látható az input bevitele során.
A szabvány a selected="selected", de mint írtad, a mai böngészők támogatják más formáját is, azaz gyakorlatilag elég, ha létezik az attributumnév.
-
Tele von Zsinór
őstag
Kezdetnek Yii vagy Kohana - ezeket relatív egyszerű megtanulni, széleskörűen használtak, megfelelően dokumentáltak, és guglival is sok problémádra megoldást találsz.
Később, ha továbbra is webfejlesztőként tervezel előre, érdemes lehet legalább utánaolvasás szintjén megnézni az összetettebb rendszereket, gondolok itt a Symfony2-re és a Zend2-re (utóbbi még csak a béta-fázisnál tart).
Egyébként szabadidődben érdemes néha olvasgatni a választott rendszer kódját, problémamegoldáskor is jó, remek tanulási lehetőség, és szokod, hogy más által írt dolgot kell megértened.
-
Sk8erPeter
nagyúr
Szerintem használd azt, ami neked kényelmesebb. Az Eclipse és a NetBeans egyaránt teljesen jó lehet. Nem hinném, hogy az Eclipse kevesebbet tudhatna a NetBeans-nél PHP-fejlesztéshez, szerintem mindkettő beállítható úgy, hogy hasonló képességű legyen, de majd szól valaki, ha mégis komoly hiányosságot fedezett fel valamelyikben.
... és mindkettő ingyenes... ez eléggé mellettük szól.
-
Sk8erPeter
nagyúr
Szerintem rossz a fájlod (vagy fájljaid) karakterkódolása.
Rakd fel a Notepad++-t, nyisd meg a fájljaidat, és az "Encoding" menüpontban menj rá, hogy "Convert to UTF-8 without BOM". Ennek megfelelően a meta tagekben is legyen UTF-8 karakterkódolás.
Meg nyomathatsz egy ilyen headert a PHP-fájljaid elején:
header('Content-Type: text/html; charset=utf-8');Szerk.: Athlon64+ 16 másodperccel előbb írt.
(#8057) Retekegér: ja, szerkesztettem, mert eszembe jutott, mi van, ha az UW kicsit elmaradt a fejlődésben, és még mindig csak PHP 4 van fent... Mondjuk azért remélem nem.
-
PazsitZ
addikt
Erről eszembe jutott, hogy nekem volt régen ilyen próbálkozásom az sql result gyors ki-extract-olására függvényből global változóként. Persze nem szép. Ma már nem is használom/használnék ilyet, mármint global változót.
(#8038) Lacces: Ennek nincs köze a mutatókhoz. A miértre a magyarázat annyi, hogy ez egy script nyelv.
$fetchResult = mysql_fetch_assoc($localpSQLResult);
if ($fetchResult){
foreach($fetchResult as $var_name => $var_value)
{
$var_name = "q_$var_name";
global $$var_name;
$localGlobalVarsArr[] = $var_name;
$$var_name = $var_value;
}
return true;
}
Így global változóként létrehoztam az sql eredményét egy q_ (query) prefix-es változóként.
De a neveket le is tároltam, hogy egy fajta garbage collect-ként üríteni tudjam őket.
Fetch esetén ugye mindig felülíródott a változó tartalma, következő querynél ez a gc opció default lefutott, de szükség esetén letiltható volt.(#8041) Sk8erPeter : Alapvetően szerintem nem ördögtől való dolog ez, persze azért nem kell túlzásba vinni.
Én pl. Factory pattern esetén szoktam használni.Bár itt nem változóként, használod fel a változóban tárolt sztringet, hanem osztálynévként, de a logika hasonló.
Definiálsz sztring konstans értéket a lehetséges osztályok neveivel, majd azáltal pédányosítod a megfelelő osztályt./**
*
* @param const $SQLLayerType SQLLayer constant
* @param DBObj $db
*/
public function __construct($SQLLayerType=null, DBObj $db=null) {
$list = array(SQLLayer::SELECT, SQLLayer::INSERT, SQLLayer::UPDATE, SQLLayer::REPLACE, SQLLayer::DELETE);
if(is_null($SQLLayerType) || !in_array($SQLLayerType, $list)){
$this->SQLLayerType = SQLLayer::SELECT;
}
else $this->SQLLayerType = $SQLLayerType;
$Class = "SQL" . ucfirst($this->SQLLayerType);
$this->SQLObj = new $Class($this->SQLLayerType, $db);
if(!is_null($db)) $this->SQLObj->table($db->getTableName());
} -
Sk8erPeter
nagyúr
"Főleg, hogy jobb is a konkatenálás, azt a szebb példát, annak külön örülök
Így van egy Java feelingje az egésznek"
Attól lesz Java feelingje, hogy van benne egy konkatenálás?Hmm.
Ja, assign - hozzárendeli egy $temp, vagyis átmeneti változóhoz a $_POST tömb aktuális értékét. Itt a foreach ciklusban ugyanis bejár egy tömböt, vizsgálja a tömb értékeit. De gondolom ezt nem kell magyaráznom, ha csináltál már ilyet Java-ban.
"az expected tömbben található értékek alapján, létrehoz változókat"
Na, akkor elölről. Az első if-nél azt vizsgálja, a $_POST aktuális tömbindexének értéke ($temp-ben van most) nem üres-e és szerepel-e a $required tömbben. Ha a két feltétel teljesül, akkor valamit mondjuk nem töltöttél ki az űrlapon, berakhatjuk a $missing tömbbe, jelezvén, hogy ez a kulcs hiányzik mondjuk, pampogunk a júzernek, hogy töltse már ki legyen szíves az adott mezőt.
Egyébként ha a $temp nem üres, az adott kulcs az $expected tömbben van, (pl. kitöltötte az elvárt mezőt), akkor hozzuk létre az azonos nevű változót (pl. $name)."Ha létrehozza is őket, akkor ezek sima egyszerű változók"
Azok milyenek?Gondolom azt a szót keresed, hogy "lokális" változó.
Attól függ. Ha ez az egész pl. egy függvényben szerepel, akkor csupán lokális scope-ja lesz, a függvényen belül. De lehet akár globális is, ha mondjuk ez egy fájlban "kívül" szerepel ez az egész Onnantól a függvények számára a global kulcsszóval ezek a változók elérhetők, amennyiben nem szüntetted meg azóta pl. unsettel. -
Sk8erPeter
nagyúr
Szerintem meg itt köze nincs a mutatókhoz a dolognak (hogy azt akarná "visszahozni").
Mindenesetre én úgy gondolom, hogy ezzel csak olyan szinten érdemes foglalkozni, hogy tudd, ilyen szintaktika is van, értsd is meg, ha valakinek a kódjában ezt látod, de Te lehetőleg kerüld el messzire. Tök feleslegesen teszi nehezen olvashatóvá a kódodat, nem tudok olyan esetről, ahol ezt ne lehetne kiváltani másik, szebb, átláthatóbb módszerrel. Pl. egy stringnél tök felesleges beleerőszakolni ilyen módon egy összetettebb változót, akkor már inkább válassz alternatívákat.
Pl. konkatenáld:
vegyük az általad említett példát átalakítva:
eredeti:
echo " {$startYear}–{$thisYear} ";
helyette szebb:
echo $startYear . '-' . $thisYear . ' ';
Nem kell szenvedni vele, hol is ér véget a kapcsos zárójel, plusz egy fejlesztőkörnyezetben jobban láthatóan ki van emelve a változónév (persze, felismeri az IDE, ezt is kiemeli, de amennyiben egyedi módon nem állítottad át valami nagyon elütő színre, akkor a stringen belül, a string default színével csupán félkövéríti, vagy hasonló, tehát akkor is nehezebben észrevehető egy ilyen változónév), ez is segíti az átláthatóságot.
A printf, sprintf-hez hasonló behelyettesítős módszerek is ezerszer szebbek ennél a kapcsos zárójeles bohóckodásnál. -
DeltaPower
addikt
Lényegében az történik, amit írtál, így működnek a "változó változók".
$valami='akarmi';
$elso='valami';
// ez a két sor ugyanazt jelenti
echo $valami; // 'valami' nevű változót írja ki
echo ${$elso}; // a $elso tartalmával megegyező nevű változót írja kiA { }-ek el is hagyhatók, csak abban az esetben szükséges, ha enélkül nem egyértelmű a megadás (pl. $$tomb[0] esetén, nem mindegy, hogy a $$tomb nevű tömb 0-ik eleme, vagy a $tomb[0] tartalmával egyező nevű változó)
Az általad hozott példa, a {${alma}} viszont nem biztos, hogy működik, mivel az 'alma' konstans tartalmának megfelelő nevű változót jelenti, konstans használata pedig nem tudom, hogy megengedett-e ilyen kifejezésben.
-
Peter Kiss
őstag
-
Sk8erPeter
nagyúr
Most kezdőként komolyan webáruház fejlesztésével akarsz kezdeni? Szerintem tegyél le róla. Nem azért, mert képtelen lennél megcsinálni, hanem mert olyan szinten komplex, és elképesztő időelkúró tevékenység, de legfőképp azért, mert nagyon jó webshopmotorok vannak készen, amiket folyamatosan foltozgatnak az esetleges felfedezett biztonsági vagy egyéb hibák miatt. Így egyre nehezebb feltörni és megborítani őket.
Ha PHP-t szeretnél tanulni, ne webshoppal kezdd, hanem előbb tanulgasd meg, hogy kell formokat validálni, feldolgozni, adatbázisba tölteni az adatait, onnan lekérni a feltöltött adatokat, aztán jöhetnek a komplikáltabb dolgok is.
Persze ahogy érzed, de én a helyedben tuti, hogy a meglévő igen széles ingyenes webshop-kínálat ismeretében NEM épp webshop kódolásával cseszném el az időt.
De ez igaz szerintem haladókra is, ha nem muszáj, akkor nem elejétől kezdve kellene megírni egy webshopmotort, hanem inkább továbbfejleszteni egy meglévőt. -
Tele von Zsinór
őstag
-
Tele von Zsinór
őstag
Egyrészt amit a kollega mondott az error_reporting beállításáról (meg a notice-ok irtásáról), másrészt mégegy csomagtipp: php5-xdebug. Felrakod, apache-t újraindítod, más dolgod nincs is (azért phpinfo()-ban ellenőrizheted
).
Az xdebug egy borzasztóan jó eszköz fejlesztés közben. Az egyik legalapabb dolog, hogy az el nem kapott exceptionök nem egy egysoros valamik lesznek, hanem egy szép, valamennyire formázott táblázat, amiben ott a stack trace is. Másrészt a var_dump kimenete is sokkal olvashatóbb lesz. De a kedvencem a debugger - én netbeans-zel használom, és működik, amit más (c++, delphi, c#, akármi) nyelvek IDE-jében megszokhattál: step-by-step debug, watch-ek és egyéb finomságok.
-
Sk8erPeter
nagyúr
Ennek semmi köze a XAMPP-hoz! Legfeljebb annyiban, hogy ott alapból a php.ini-ben nem voltak elnyomva a hibajelzések.
De ez nem "debugger", ne keverjük a fogalmakat. Ez csak simán kiírja a hibaüzeneteket.
Kotord elő a php.ini-t, és keresd meg az error_reporting részt.
Nézd meg, hogy jelenleg mi van beállítva.
Én ezt a beállítást javaslom fejlesztésre:
error_reporting = E_ALL | E_STRICT
Ez a "legszigorúbb" hibajelzés, mindent kiír.
Egy igényes programozó megszünteti a hibajelzések okát, nem pedig láthatatlanná teszi őket.
Engem személy szerint kiráz a hideg attól a mentalitástól, hogy "ugyan már, ki nem szarja le a notice-okat, nyomjuk el, nem kell annak látszania, szedjük ki az error_reportingból, azt kész, meg van oldva". Na persze, majd amikor azzal fog a fejlesztő időt elkúrni, hogy rájöjjön, vajon miért nem működik valami (pl. tömbindexelésnél elgépelés miatt), akkor változtat a hozzáállásán.(vagy nem, az a menthetetlen eset)
Aztán keresd meg a display_errors-t:
display_errors = On
Ha még alaposabban szeretnéd:
display_startup_errors = OnViszont fontos hozzátenni, hogy ezek a hibajelzési beállítások csak a fejlesztési fázisra vonatkoznak. Utána szigorúan tilos kiíratni ezeket a hibákat! Többek közt az is egy sebezhetőségi pont. Az éles rendszeren kezeld a hibákat megfelelően, csakis belső naplózást használj a hibajelzések tárolására, ne írass ki belőlük egyet sem.
-
Siriusb
veterán
/var/log/ könyvtár.
Ezt az oldalt láttad már? Esetleg érdemes lenne átnézni.
-
Siriusb
veterán
Próbáld meg így, nálam ezek szerint van beállítva:
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps
Emlékeim szerint nálam csak akkor indult el a phpmyadmin, amikor a webapps könyvtárakat is hozzáadtam. Viszont nálad nem volt semmi megadva, azaz üresen hagyva ezt a sort nem kellene hatással lenni a helyzetre. Hmmmm.Szerk:
esetleg még annyi, hogy a log fájlokat érdemes lenne megnézni, lehet valami jogosultság probléma van. -
Tele von Zsinór
őstag
phpmyadmin: http://localhost/phpmyadmin
Ennek működnie kell, ha nem teszi, valamit elrontottál. Ennek a csomagnak a telepítésekor rákérdez, akarod-e, hogy konfiguráljon webszervert, ott kiválasztottad, hogy igen, az apache-ot?
-
Sk8erPeter
nagyúr
Nincs baj a XAMPP-pal, valóban jó kezdőknek, de mondjuk szerintem ez inkább Windows-nál igaz, mert Linux-disztribúciók esetén ahogy Tele von Zsinór említette, többnyire lehetőség van arra, hogy egyszerre lehúzd az összes függőséget pl. phpMyAdminhoz, ez ugyanúgy telepít is mindent, amire szükséged lehet. Windows-nál meg ez megoldandó kérdés, így ott EasyPHP, XAMPP, AppServ, amit általában elsők között említenek, mert ez egy csomagban felrak mindent, ami egy alapvető webszerverhez kellhet.
Mondjuk IIS-nél is van ilyen függőség-ellenőrzés, erre példa a Drupal vagy Joomla, ha rámész Web Platform Installer használatánál, hogy töltse le őket, akkor eleve függőségként lehúzza a PHP-t és MySQL-t is. (Amúgy érdekes, hogy úgy tűnik, a Microsoft nyit az opensource-dolgok felé is.)"Furcsa mód, itt kérte telepítésnél a mysql, egy felhasználót, és egy jelszót! (úgyhogy így utólag értem már mire gondolsz, ha erre gondoltál)"
Nem, nem erre gondoltam.Amikor telepíted a MySQL-t, kell egy root felhasználó is, aki az egésznek az adminisztrátora, mindenféle joggal. A phpMyAdminnál van egy kontrollfelhasználó is, ami pl. "könyvjelzőzni" tud bizonyos query-ket, naplózni különböző szempontok alapján, stb., ennek nem szabad megadni a root-jogot (ne legyen már mindenhez joga, mi van, ha pl. biztonsági rés vagy egyéb hiba maradt a "rendszerben", akkor ne csinálhasson bármit). Kell a phpMyAdminnak egy külön tábla MySQL-ben (persze ez elvileg nem kötelező), ebbe írogathat, de ahhoz hozzá is kell férnie.
Amúgy egyáltalán nem fértél hozzá a MySQL-hez?"Tudom, hogy a var/www-ben kell lenni a weboldalnak amit kezelni akarok."
Nem, oda rakod, ahova akarod, csak legyen elérhető a webszerver számára, és konfigold úgy a webszervert, hogy az adott domain document rootja ide legyen irányítva."1. HOgyan tudom ezekután a böngészőből elérni a phpmyadmin-t?"
Nem értem a kérdést.
Húzd le az egész csomagot úgy, ahogy Tele von Zsinór mondta.2. kérdésre: a PHP futtatásához webszerver kell (vagy konzolon keresztül is tudod futtatni, de ezt most hagyjuk), különben nem fog futni a PHP interpretere, értelmezője/"fordítója", így a kódod nem fog "lefordulni".
A HTML-kódok megjelenítéséhez ez nem szükséges, azok kódját a böngésző értelmezi és megjeleníti. -
Sk8erPeter
nagyúr
Nem a Linux-disztribúcióval van a baj, hanem a beállításaiddal.
Szerintem épp az a gond, amit ír, hogy nem létezik MySQL-ben a "kontrollfelhasználó".
Van egy ilyen rész a phpMyAdmin config.inc.php-jében (egyáltalán van ilyened?!):
$cfg['Servers'][$i]['user'] = 'phpmyadminkontrollfelhasznalo';
$cfg['Servers'][$i]['password'] = 'ezmegazajelszo';
(nyilván a megfelelő nevet és jelszót változtasd meg, ez csak példa)
Itt eszerint léteznie kell a "phpmyadminkontrollfelhasznalo" felhasználónak MySQL-ben, aki "ezmegazajelszo" jelszóval tud belépni. Legyenek meg a jogosultságai a megfelelő phpMyAdmin táblához.
Egyébként ez kb. 10 perces szívás max., ha használod a phpMyAdminhoz mostanában alapból adott setupot, ezt simán a phpMyAdminon belüli setup könyvtárban éred el.
Ez elkészíti neked a megfelelő config.inc.php konfigfájlt, úgy, hogy Te grafikus felületen pötyögöd be a szükséges adatokat (több fülön kitöltöd, és készen vagy). A folyamat végén le kell tölteni az elkészített konfigfájlt, és berakni a phpMyAdmin gyökérkönyvtárába.
Kérdezz, ha elakadtál. -
Lacces
őstag
Én úgy vettem észre, hogy itt van a probléma:
az application.php fájlban:
// Class constructor
public function __construct()
{
// Call Smarty's constructor
parent::Smarty();
// Change the default template directories
$this->template_dir = TEMPLATE_DIR;
$this->compile_dir = COMPILE_DIR;
$this->config_dir = CONFIG_DIR;
}
}
?>De hogy mit kéne azt nem tudom.
-
Siriusb
veterán
XAMP-ot még nem használtam, de
- a httpd.conf fájlban engedélyezd a virtuális host-ot, amennyiben létezik az alábbi conf fájl:
# Virtual hosts
Include conf/extra/httpd-vhosts.confilletve a
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>részt vagy teljesen kikommenteled, vagy mindenhol specifikusan engedélyezed, amit kell.
- a httpd-vhosts.conf-ban valami hasonlót kellene alkotni, útvonalakat, neveket írd át, valamennyire megpróbáltam rád szabni:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/lampp/srv/http"
ServerName localhost
ServerAlias localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/home/lacce/tshirtshop"
ServerName tshirtshop
ErrorLog "/lampp/var/log/httpd/tshirtshop-error_log"
CustomLog "/lampp/var/log/httpd/tshirtshop-access_log" common
</VirtualHost>- hosts fájl:
127.0.0.1 localhost.localdomain localhost tshirtshopHirtelen ennyi jut eszembe, ami kellhet.
Szerk: kár volt ennyit írni
-
cucka
addikt
Akkor úgy érted, hogy mindig használjak fel CMS-t és azt bővítsem?
CMS-t vagy valamilyen framework-öt.
Persze, ha otthon hobbiból programozgatsz, akkor úgy fejleszthetsz, ahogy akarsz, ártani nem árt.Úgy értem, hogy ha egy PHP-s oldalt megcsinálok, akkor azt annak alapján könnyedén megtudom-e csinálni annak az ASP.NET MVC-s klónját?
Gondolom igen.
(Egyébként [moderálva] is ritkán szoktak kérdezni. Minek megírni, amit már megírtál? Egyáltalán, változtat bármit, ha könnyű/nehéz újra megírni?)[ Módosította: 7 ]
-
cucka
addikt
Azt nagyjából tudom, hogy mi az előnye egy CMS-nek, erről sokat olvastam. De mi a hátránya?
Egy CMS kész rendszer, akkor érzed a hátrányait, ha olyan funkcióra van szükséged, amit nem tud / nem úgy tudja, ahogy neked szükséges.Mikor érdemes egy weboldalt teljesen az alapoktól PHP-ban vagy ASP.NET-ben felépíteni?
Ha az "alapoktól" dolgot úgy érted, hogy mindent magadtól írni meg, akkor soha.Másik kérdésem: PHP-ról ASP.NET MVC-re átmenni mennyire nehéz?
Mit jelent az, hogy átmenni? -
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".
-
PazsitZ
addikt
Ahogy előttem is írták, igen a tömbnek van indexmutatója.
A mutató "manipulálható", a reset, prev, current, next, end függvényekkel többek között. Vannak esetek amikor hasznosak, de sokkal átláthatóbb és könnyebben kezelhető a foreach bejárás, esetleg sima for, ha úgy adódik.Gyorsaságot, lehetne épp méregetni, elég nagy mintánál, több mérési eredménnyel, lehet ki tudnál hozni valakit győztesnek, de nem az egyik vagy másik miatt lesz lassú a kódod.
Egyébként itt a foreach jön ki győztesnek: [link] -
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.
-
Sk8erPeter
nagyúr
"jó az easyphp, mert a komodo edit alatt fut szépen"
Mit értesz azalatt, hogy "fut" Komodo alatt?
Gondolom van valami konzolszerűség, amin megmutatja a kimenetet. Ettől függetlenül nem a Komodo értelmezi és futtatja a PHP-kódodat.
NetBeans-nél is be lehet állítani elvileg valahogy, hogy a konzolszerűségen megmutogassa a kimeneteket, én mondjuk a böngészőben szoktam kipróbálni, mi látszik a weboldalon a kódbeli változtatások hatására, parancssori módban a lehető legritkább esetben használom a PHP-t, de annak is van persze létjogosultsága bőven.
Meg mondjuk PHP debuggoláshoz hasznos lehet, hogy a NetBeans saját konzolán látszik a kimenet. -
cucka
addikt
Az flock() pontosan arra jó, amit a php manual-ban ír: kér az operációs rendszertől egy lock-ot egy file-ra, magyarul zárolja. Hacsak nem vagy benne biztos, hogy erre szükséged van, akkor valószínűleg nincs szükséged rá.
A netbeans pedig nem fogja lefordítani a php-t, mint ahogy más sem, mert ez egy interpretált nyelv.
Új hozzászólás Aktív témák
Hirdetés
- HP EliteBook 855 G8, 15,6" FHD, Ryzen5 PRO 5650U CPU, 16GB DDR4, 256GB SSD, WIN 11, ( olvasd végig )
- Dell Precision 5520, 15,6" 4K/UHD Touch, I7-7820HQ CPU, 32GB DDR4, 512GB SSD, M1200 4GB VGA, WIN 11,
- Dell Precision 3561, 15,6" FHD, I7-11850H CPU, 16GB DDR4, 512GB SSD, T600 4GB VGA, WIN 11, ( olvasd
- Dell Latitude 5520, 15,6" FHD Érintőkijelző, I5-1135G7 CPU, 16GB DDR4, 256GB SSD, WIN 11, ( olvasd v
- Új MSI KATANA 15 Gamer Tervező Laptop 15,6" -35% i7-12650H 10Mag 16/512 RTX 4070 8GB FHD 144Hz
- Telefon felvásárlás!! Honor Magic6 Lite, Honor Magic6 Pro, Honor Magic7 Lite, Honor Magic7 Pro
- Apple Watch SE 2 44mm, Újszerű, 1 Év Garanciával
- Azonnali készpénzes AMD Ryzen 1xxx 2xxx 3xxx 5xxx processzor felvásárlás személyesen / csomagküldés
- AKCIÓ! Microsoft XBOX Series X 1TB SSD fekete játékkonzol garanciával hibátlan működéssel
- Bomba ár! HP EliteBook 830 G5 - i5-8G I 8GB I 256GB SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest