Hogy kell telepítőt csinálni egy saját tartalomkezelőnek?
Próbálok leírni mindent, ami ahhoz kell, hogy egyáltalán segíteni tudjatok nekem, de ha hiányzik valami, kérlek, szóljatok. Van egy nem objektum orientált, saját, nagyon kezdetleges, fapados kis cms-em, egyetlen admin userrel, adatbázissal, pár mappával, admin felülettel. Hogy tudnék ehhez olyan telepítőt készíteni, mint mondjuk a wordpress 5perces telepítője, hogy az adatbázishoz nem hozzáférő felhasználó is tudja -pár adat beírásával, pár kattintással- a remélhetőleg pucér tárhelyére telepíteni. Mi kell ehhez? Hogy kell csinálni? Az a baj, hogy a wordpress vagy az egyéb tartalomkezelők telepítőjének a leírását sem tudom, hogy hol keressem,mert mindenhol csak tutorialok vannak,hogy hogy kell telepíteni,de magáról a háttérfolyamatról semmi. (bár gyanítom,hogy ha megtalálnám, sem sokat értenék belőle, jó lenne, ha valaki részletesen elmagyarázná). Nem kell valami nagy,összetett dologra gondolni, a lényeg, hogy egy szakdolgozat erejéig működjön.
Az eddigi gondolataim alapján van egy zip,amit a tárhelyre ftp-n fel kell tölteni kicsomagolva. Ez tartalmaz mindent. Ebben van egy telepítő fájl (hova kell tenni? mi legyen benne?) ami egyből elindul, ha még nem futott le (már van egy index.php-m, hogy csináljam,hogy előbb induljon el,mint az?) és miután lefutott és megcsinálta a dolgát, törölje le magát. (hogyan?)
Közben: gondolom, az adatok, amiket be kell kérni az elején, azok a következők:
az oldal címe,
az admin neve,
jelszava,
az adatbázis neve,
felhasználója,
jelszava
Milyen adatok kellenek még? Volt szó valami verziószám ellenőrzésről, hogy egyáltalán megengedje telepíteni, ilyet hogy tudok csinálni? Egyáltalán hogy állapítsam meg az innen-onnan összeszedett, iskolában szerzett összevissza tudásom alapján megírt tartalomkezelőmről,hogy mik azok a verziószámok,amik kellenek hozzá? Honnan tudom,hogy milyen verziószámú, milyen összetevők jelenlétében nem működik megfelelően? Le lehet ezt egyáltalán ellenőrizni valahogy?
Aztán, ha bekértem az adatokat,akkor azt hova tárolom le és melyek azok a fájlok, amikbe bele kell tennem ezeket az adatokat és hogyan?
Van egy mysql.php-m,amiben az adatbázis kapcsolat van, gondolom, ez az egyik,ami kelleni fog.
Ha jó a gondolatmenetem, akkor kell egy kiexportált adatbazis.sql fájl is,ami az adatbázist tartalmazza, és ez is kelleni fog.
A telepítőnek valahogy úgy kellene működni, hogy
-elindul
-bekéri az adatbázis adatokat
-beleteszi a mysql.php-ba, és az adatbazis.sql-be
-lefuttatja a adatbazis.sql fájlt,így bekerülnek az adatbázisba az adatok
-bekéri az admin nevét, jelszavát
-ezeket beleteszi a user táblába
-bekéri az oldal nevét
-ezt valahogy beteszi az index.php-ban lévő <title></title> és a szintén ugyanott lévő <header id="mainheader"></header> tagek közé
-kiír egy gombot,hogy arra kattintva törölhesse önmagát.
Nagyon lelkes vagyok,de eléggé letör, hogy a mondataimban több a kérdőszó,mint kellene. Tudnátok segíteni? Előre is köszönöm.
■ Az eddigi gondolataim alapján van egy zip,amit a tárhelyre ftp-n fel kell tölteni kicsomagolva. Ez tartalmaz mindent. Ebben van egy telepítő fájl (hova kell tenni? mi legyen benne?) ami egyből elindul, ha még nem futott le (már van egy index.php-m, hogy csináljam,hogy előbb induljon el,mint az?) és miután lefutott és megcsinálta a dolgát, törölje le magát. (hogyan?)
Közben: gondolom, az adatok, amiket be kell kérni az elején, azok a következők:
az oldal címe,
az admin neve,
jelszava,
az adatbázis neve,
felhasználója,
jelszava
Milyen adatok kellenek még? Volt szó valami verziószám ellenőrzésről, hogy egyáltalán megengedje telepíteni, ilyet hogy tudok csinálni? Egyáltalán hogy állapítsam meg az innen-onnan összeszedett, iskolában szerzett összevissza tudásom alapján megírt tartalomkezelőmről,hogy mik azok a verziószámok,amik kellenek hozzá? Honnan tudom,hogy milyen verziószámú, milyen összetevők jelenlétében nem működik megfelelően? Le lehet ezt egyáltalán ellenőrizni valahogy?
Aztán, ha bekértem az adatokat,akkor azt hova tárolom le és melyek azok a fájlok, amikbe bele kell tennem ezeket az adatokat és hogyan?
Van egy mysql.php-m,amiben az adatbázis kapcsolat van, gondolom, ez az egyik,ami kelleni fog.
Ha jó a gondolatmenetem, akkor kell egy kiexportált adatbazis.sql fájl is,ami az adatbázist tartalmazza, és ez is kelleni fog.
A telepítőnek valahogy úgy kellene működni, hogy
-elindul
-bekéri az adatbázis adatokat
-beleteszi a mysql.php-ba, és az adatbazis.sql-be
-lefuttatja a adatbazis.sql fájlt,így bekerülnek az adatbázisba az adatok
-bekéri az admin nevét, jelszavát
-ezeket beleteszi a user táblába
-bekéri az oldal nevét
-ezt valahogy beteszi az index.php-ban lévő <title></title> és a szintén ugyanott lévő <header id="mainheader"></header> tagek közé
-kiír egy gombot,hogy arra kattintva törölhesse önmagát.
Nagyon lelkes vagyok,de eléggé letör, hogy a mondataimban több a kérdőszó,mint kellene. Tudnátok segíteni? Előre is köszönöm.
Ha van mar egy kezdetleges
Leirtad, hogy mikent kellene mukodnie a telepitonek, ami valojaban egy urlap adatainak feldogozason alapulna. Es ahogy olvasom, zip kicsomagolason, fajlszerkesztesen, SQL lekerdezeseken es fajl torlesen kivul mast nem kell megvalositanod.
Szoval en csinalnek a zip-en kivul egy install.php-et amivel bekernem az adatokat es vegrehajtanam a szukseges muveleteket. Vagy hol akadtal el?
A kezdetleges cms-t órán
Szerintem csináld úgy, hogy
Ebben kérd be az adatbázis nevét, felhasználót, jelszót.
Majd létrehozod az adatbázis szerkezetét. Az ehhez szükséges utasításokat a már meglévő adatbázis alapján is létre lehet hozni. A normálisabb fejlesztőeszközökben keres valami olyasmi funkciót, hogy "generating DDL" vagy hasonló.
wiki
Ezután kérd be az adatokat, majd egy insert-el a megfelelő helyre told be az adatbázisba.
Továbbá ha pl. feltöltött fájloknak akarsz egy mappát akkor a PHP idevonatkozo része: Filesystem Functions
Ebből pl. olyanok érdekesek mint a "mkdir, chgrp, chmod, chown".
Előfordulhat, hogy nem tudsz írni a fájlrendszerre, ebben az esetben a ssh-n, vagy ftp kliensen kell engedélyt adnod a php-t futtató usernek, hogy tudjon könyvtárat létre hozni.
Az install.php-t hogy
Hogy kell olyan php-t írni,ami "oldalakból" áll? Szóval,hogy
az elején kiír egy formot,
ha létezik a submit,akkor lementi az adatbazis.sql-t,
aztán ha elvégezte(de csak akkor), kiír mégegy formot(az előző form már nincs ott),
ha létezik a submit,akkor insert into az adatbázisba,
ha ez megvolt(de csak akkor) kiír mégegy formot,
ha létezik a submit,beleír az index.php-ba,
ha ez megtörtént(de csak akkor) kiír egy gombot,
ha létezik a submit, törli önmagát.
Ezt hogy lehet egyetlen fájllal megcsinálni? Sok-sok if-else kell bele?
Az install.php hogy írja bele az űrlapból átvett adatokat az adatbazis.sql-be? .sql fájlba lehet php kódot írni? Vagy egy változóba beleteszem az egész sql fájl tartalmát, hozzáfűzögetem az űrlapról átvett adatokat és valahogy lementem adatbazis.sql néven?
Ha ez valami csoda folytán összejön, hogy importálja be az adatbázisba az install.php az adatbazis.sql-t?
Az install.php-t hogy
Pl require_once, abban az esetben ha nincs konfigurálva adatbázis kapcsolat.
Pl az adatbázis eléréséhez az adatokat egy fájlban tárolod. (javaslom ez legyen PHP) ha fájl nem létezik, vagy nem hivatkozik érvényes adatokra akkor berántod a install.php-t és annak adod át a vezérlét ellenkező esetben építed az oldalt.
A további kérdések számomra alapvető hiányosságokról árulkodnak. Javaslom ásd bele magad a PHP-be önszorgalmi alapon, mert fogalmam nincs milyen iskolában tanulsz, de ha felmerülnek benned ezek a kérdések ott komoly gondok vannak. Segíteni már csak ugy tudnék ha megírnám helyetted kb. Az meg nem segítség.
Határidő?
2, Folyamatot megvalósító index.php-t például a hirek.php mintájára írhatsz.
A php-nek tudnia kell, a weboldal melyik lépésnél tartott amikor ő meghívódott, és lehetőség szerint indítja majd a következő lépést, vagy ismétli az előzőt. Feltételekkel most ne foglalkozzunk, nézzük mit lehet tenni általában. Használjunk mondjuk egy "lepes" nevű változót. Ez fogja tárolni hol tartunk éppen.
Az első oldalunk így néz ki:
3, Az adatbazis.sql üres táblákat tartalmaz, vagy van benne minta adat?
Köszönöm :)
A határidő március 25.
Mi a helyzet akkor, ha az index.php-t a lépések végén,a törlés előtt gyártatom le az install.php-val? Ez egynek megoldás lehet? Gondolom, olyan opció létezik,hogy egy php egy másik php-t tartalommal együtt lementsen. Vagy már előre megvan az index.php,de mondjuk atnevez.php néven és csak átneveztetem a telepítés végén index.php-ra, Viszont akkor hogy indítom el egyből az install.php-t...
Az adatbázis fel van töltve mintaadatokkal az egyszerűség kedvéért.
Eddig csak olyat csináltam, hogy kiexportáltuk phpmyadmin-ból gyors exportálással a .sql-t és aztán kézzel beimportáltuk. Ezt hogy tudom kóddal megoldani? Mármint addig oké,hogy
CREATE TABLE IF NOT EXISTS
meg
INSERT INTO
de ahogy belenézek a .sql fájlba, van még benne sok más egyéb is. Azokból mi kell még nekem?
Local help
(Nem ismerem az iskolai anyagokat, de amin tanulsz azt öröm volt látni. "<?php", így kezdődik a program és nem "<html>" mint sok esetben. Meghatározó különbség.)
Ha rajtam múlna, nem javasolnám az install.php-ból az index.php előállítást. Inkább ellenőrizném, indulhat-e a telepítés. Például, ha valami beimportálta az adatbázist akkor ellenőrizni lehet ott van-e vagy sem. Ha ott van akkor nincs újra telepítés, ki lehet írni "telepítve van", a törlés pedig felesleges.
Nem értem az elgondolást. Felsoroltad: valahol kimenteni a táblákat, bekérni az adatbázis nevét, importálni a mentett táblát, ugyanott gyártani index.php-t, de ebből csak egy lehet. Nem arról van szó, a mentés egy minta helyen történik, a telepítés egy másik helyen?
Ragadozó madárnak igaza van, itt nem fogsz elég segítséget kapni erre a határidőre. Azt hiszem jobban teszed, ha helyben keresel valakit, aki több időt tud rád szánni.
Megtaláltam,amit kerestem,