Enkel PHP personlig kontakt hemsida (web3.0!)
Filosofi
Detta är min web3.0* lösning till en död personliga hemsida. Jag har haft min domän för nästan 10 år, men jag bara använda det för e-post och som en kontaktpunkt. Det hindrar inte mig från att installera den senaste trendiga CMS varannan månad - jag brukar göra en post tillkännage webbplatsen, och sedan aldrig röra den igen.
Denna gången gjorde jag en enkel kontakt hemsida bara för mig och kanske dig. Det låter människor kontakta dig. Det var allt.
Jag la ett webbgränssnitt administration om du vill redigera konfigurationsfilen (config.inc.php), och en snabb filöverföring gränssnitt för när du behöver dela en fil, men har inte en FTP-klient händig.
Filerna som ingår i projektet arkivet, och du kan se min webbplats. Känn dig fri att publicera ändringar, teman, eller samarbeta i projektet. Jag är för lat för att starta ett projekt på sourceforge.net eller freshmeat och instructables är ett enkelt sätt att dokumentera projektet och värd filerna.
* Web3.0 skämt: jag skämtsamt kallar denna web3.0 eftersom det är en reaktion på "all-blixt-no-ämne" web2.0 style personliga hemsidor jag har provat tidigare. Ja, AJAX är bra, men hur bra är det om jag aldrig använder webbplatsen? Detta är ett steg i utvecklingen för min personliga hemsida, utifrån en realistisk bedömning av de funktioner som jag har använt under de senaste 10 åren, alltså "web3.0".
Funktioner
- Enkel kontakt formulär med javascript och server side Adressvalidering
- Alla text anpassningsbara från web-gränssnittet eller config fil.
- Du kan också verifiera MX-posten för den givna e (en riktig server finns)
- Lämna in limiter förhindrar snabba flera inlagor (skräp och spam)
- Lätt tema system
- "404-filen hittades inte" fånga och omdirigera utan otäcka mod_rewrite
- Arbetet genom registratorerna kommer inramade omdirigera (såsom godaddy.com)
- Admin konfiguration webbsida för enkel uppdatering till config-filen
- Admin-fil ladda upp gränssnittet
- Admin MX record check gränssnitt
- Nej MYSQL krävs.
- Kontaktformuläret klass kan återanvändas i egna projekt
Snabbinstallation
1. FN-pack och ladda upp filer till din server.
2. manuellt konfigurera config.inc.php och ladda upp det - eller - surf till admin.php (användare/passera: admin/admin) och konfigurera från webben. Titta på kommentarer och beskrivningar att förstå konfigurationsalternativen.
3. (valfritt) skapa en /files sub katalog om du vill använda admin sidan uploader.
Att göra
- admin-gränssnittet styling
- Skanna tema kataloger och skapa dropdown för admin
- Kontrollera och korrigera /'s i Katalogposter undvika fel (/dir/)
- CAPTCHA
- Skriv kontakter också till CVS fil-- men så skyddar (php)?
- alternativ till zip uppladdad fil?
- cache?
- SMTP-bibliotek för servrar, utan åtkomst mail)
- MYSQL-anslutning för kontakt loggning (och flera kontakta Webbplatsadministration?)
Design huvudmän/Notes
- Sida med inline/header javascript och css styling, alla inlägg design. Genom att hålla sig till denna begränsning, sidan fungerar genom domänregistratorer inramade URL omdirigering (som godaddy.com, directnic.com, andra). Osynligt kan du omdirigera din domain.com till en sub-domän eller katalog om din ISP är snål med tillägg domäner. Detta gör det också lätt att underhålla MX-posten med domänregistratorn om du gillar att hop Internetleverantörer eller du saknar e-post eftersom Internetleverantören billigt är ner en hel del. Kan du fortfarande har tillgång till admin.php sidan från din faktiska värdadress om du använder inramade omdirigeringar.
- Ingen AJAX. Lite av javascript e-validering, men thats it. Det är en enda sida, det behöver inte använda objektet xmlhttp!
- Endast e-post krävs godkänd, det är allt jag behöver komma i kontakt.
- Fristående. Ingen DB behövs, så det fungerar på begränsade konton. Det är allt ett kontaktformulär bör behöver. Jag hoppas kunna lägga en lätt att konfigurera-men tillval-mysql loggningsfunktionen i framtiden. Kanske.
- Valfria filen hittades inte omdirigeringar--använder .htaccess för att omdirigera alla inte hittade filer till 404.php, som studsar allt tillbaka den adressen i filen config. Användbart för studsande alla inte grundar överst. Detta använder inte mod rewrite, så det kommer att fungera nästan överallt, och bör inte orsaka dumma mod_rewrite problem.
- I admin-gränssnittet kan du ladda upp filer (till en storleksgräns i config.inc.php filen) till underkatalogen i config-filen (du måste skapa katalogen själv). Detta är den andra funktionen som jag behövde, en snabb ställe att lägga filer. Njuta av. Katalognamnet ska ha ett avslutande snedstreck, men inte ett ledande snedstreck (exempel "filer /"). Observera att för säkerhet resonerar ladda funktioner kan endast aktiveras eller inaktiveras i config.inc.php filen och inte från administrationsgränssnittet. I config.inc.php ändra $admin_upload_enabled = false eller = true och ladda upp till din server. Oroa dig inte, funktionen är aktiverad som standard
- MX check gör kontakt med servern på e-post domain.tld (gmail.com) att se till att den har en e-post. Detta förhindrar fel och sopor inlagor. Om du är på en windows server (IIS), måste du aktivera alternativ (WINDOZ) MX kontroll metod eftersom endast linux stöder metoden "bra".
- Klassen som läser och skriver konfigurationsfilerna för både plats och teman gillar inte kommentarer placeras efter en variabel. Kommentarerna ovan och nedan är fina.
- För extra säkerhet, ta bort admin.php och confedit.class.php när inte i använda.
- Om du inte ' t förstå ett alternativ i webbgränssnittet admin.php, kolla config.inc.php fil kommentarer, som kan innehålla en bättre förklaring.
- Om du bryter webbplatsen genom att skriva in ett felaktigt värde (till exempel en tema plats utan en avslutande /), då du kommer att behöva öppna filen config en fix det för hand.
Teman
Det är möjligt att lägga till olika CSS stilar, och ge CSS stilar konfigurationsalternativ som dyker upp i menyn administration (till exempel textstorlek, färger, etc). Teman är enkla att skapa, kontrollera standardtema, men här är en grundläggande genomgång av processen.
1. skapa din CSS-formatmall för sidan. Något liknande LYSMASK för firefox är verkligen hjälpsam.
2. skapa en ny katalog i katalogen /themes/. Kopiera den nya formatmallen till mappen och kalla den css.css. Kopiera theme.php och config.theme.php från standard tema mappen.
3. CSS-fil, leta upp alla variabler du vill kunna justera från en fil eller administration konfigurationsgränssnitt. Ersätta värdena med lite av php-kod, så här:
- <? php echo $theme_propertyname;? >
och ersätta propertyname med något lätt att komma ihåg. I den förvalda temat gjorde jag header bakgrundsfärgen justerbara:
- bakgrundsfärg: #FFFFFF; / * ursprungliga CSS * /
- bakgrundsfärg: <? php echo $theme_background_color;? >; / * ersättas med PHP koden * /
4. nu rensa config.theme.php filen och lägga till variabler och standardinställningar. I exemplet ovan skulle jag lägga till denna linje i config.theme.php:
- $theme_background_color = "#FFFFFF";
5. Slutligen, registrera de alternativ som du har skapat så att de visar upp i administrationsgränssnittet. Öppna kopian av theme.php standardfilen. Ändra temanamn, författare och version som du vill. Registrera varje alternativ som du har skapat i matrisen i funktionen get_options():
- returnera array)
- array ("des" = > "Färger (Använd CSS Cologne koder)", "typ" = > "break"),
- "theme_background_color" = > array ("des" = > "tema bakgrund färgkod:","typ" = > "text", "val" = > $theme_background_color),
- );
Den första delen:
- array ("des" = > "Färger (Använd CSS Cologne koder)", "typ" = > "break"),
lägger till en rubrik till våra konfigurationsmenyn som säger "Färger (Använd CSS färgkoder)". Ändra texten för dina alternativ. Typ = > break anger en avsnittsrubrik, använda så ofta som du behöver för din meny.
Den andra delen:
- "theme_background_color" = > array ("des" = > "tema bakgrund färgkod:","typ" = > "text", "val" = > $theme_background_color),
registrerar den variabelnamnet utan $ (theme_background_color) och ger det en beskrivning av "tema bakgrund färgkod:" (ändra för din variabel). Typ anger ett textfält (det finns inga andra typer vid denna tid). Slutligen gå in din full variabel namn efter "val" = >, denna tid med $ mappa denna post till den variabel som du skapade i 4. Upprepa vid behov.
6. om du vill använda temat, gå till admin.php och ställa temat katalogen till den katalog du skapade, till exempel "anpassade /". Det avslutande snedstrecket behövs, Använd inte en ledande snedstreck. När du trycker förändring, det nya temat kommer att användas, och de nya Temaalternativ ska visas i området tema konfiguration.