Enkel PHP personlig kontakt hemsida (web3.0!)



Detta projekt utvecklas på Google Code, kontrollera ut den senaste utvecklingen!

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.

Se Steg
Relaterade Ämnen

Enkel PHP hemsida för kontakter

Hej alla, detta är min första instructable och jag hoppas du gillar det!Jag skulle vilja påpeka att detta projekt gjordes enbart för hobby och lärande språket php. Jag började från noll och det är inte 100% klar ännu. Det är en anpassad webbplats och...

Enkel E-textil-kontakt

Kombinera elektronik och textilier är roligt, men att göra övergången från mjuka textilier till hård elektronik är ofta svårt. Om du har gott om utrymme och bara behöva ansluta några kablar, kan du bli kreativ med snap knappar eller krokar och öglor....

Gör en hemsida

lära sig grunderna till att få din egen hemsida på nätet.Steg 1: Vad du behöver Notepad++En kraftfull ändå lätt anteckningar ansökan.FirefoxDetta är webbläsaren för webbdesigners.PhotoshopÄven om du inte behöver få CS4, är detta definitivt den bästa...

Komma igång med PHP

PHP eller personliga hemsida HyperText Preprocessor, är en server slutet programmeringsspråk för att skapa dynamiska webbsidor. PHP ursprungligen stod för personliga hemsida, men nu på första "P" står för PHP. Förvirrande?? Förmodligen, men abso...

Början webbsida skrapning med php.

Vi har gjort vissa webbsida skrapa med bash och nu vill vi öka kraften i koden med ett webbsida scripting språk kallas PHP. Det är P vanligtvis i (W/M/L) amp stack på en Apache2 webbserver. Jag kommer att visa er resultaten av manus, disect skriptet...

Visa din Instructables på en Wordpress eller PHP baserat sida

Någonsin vill ha en...

Enkel skåp ledde ljus med återvunnet

Alla har makt adaptrar som har ingen mer användning.Från gamla bärbara datorer, bärbara telefoner och alla typer av bärbara maskiner.Kasta dem inte bort!Leta efter 12 och 9 volt adaptrar.Vi kan använda dessa som nätadaptrar med 12 volt ledde ljus rem...

Balkong trädgårdsmästare

Detta är jag bor i hyreshus. Många våningar, en hel del balkonger och en massa människor som har växter.Till exempel mig. Jag är nära aldrig hemma och du kan gissa, mina växter är i ganska dåligt skick.Så, jag bestämde mig för att jag ska göra något...

Styra alla enheter med en Raspberry Pi och en relä modul

Målet med denna kompatibel är att visa hur du kommer igång med att inrätta en relä modul på din pi och kontrollera den. Mitt mål är att lägga till skript i min octopi att slå på och av LED-lampor, men ändå bestämmer dig för att så småningom bestämma...

Felaktiga Data: Waterjet etsning datamängder

"Dålig Data" är en serie av tolv-visualiseringar av data, som jag etsade på aluminium honeycomb paneler använder en högtrycks vattenstråle maskin. De tar form av statiska objekt, som kollapsar tid i en enda synligt utrymme, betonar brusten ytan...

Gut kontrollera en Tweeting och Facebooking kylskåp

jag har ett problem, jag försöker gå ner i vikt men jag älskar småäta sent på kvällen. Och vet ingen att jag även göra det. Det är en av mina största hindren, jag tänkte att varför inte inkluderar alla mina sociala medier vänner och anhängare att hjä...

Styra en arduino projekt genom en anpassningsbar android / Iphone app med Blynk och Wemos D1: 2016 SUPER NOOB VÄNLIGT sätt

Syftet med detta instructable är att lära dig att skapa wifi-anslutna arduino projekterar det enklaste och snabbaste möjliga sätt. Om du vill göra en arduino projekt som du kan styra från din smartphone och som bara kostade 4 eurs i hårdvara, då proj...

Knappen e-post: Ansluter Arduino till IFTTT att skicka e-post, tweets, textmeddelanden och mer

vad om du kunde med en enda knapp, skicka ett e-postmeddelande, en tweet eller ett SMS?Denna tutorial ska show dig hur man ansluter en enkel knapp till dina favoritprogram på internet genom att ansluta den till IFTTT.IFTTTIFTTT.com (om detta sedan de...

Internet kontrollerad elnätet Switcher

Detta är en mycket låg kostnad och basic från för hemautomation så att du kan slå på och av lampor och andra enheter som använder din dator eller mobiltelefon.Det har byggts och testade användning med UK stickkontakter, men samma protokoll som använd...

Crowd-sourced intervallfotografering

Detta projekt använder en billig tecken och några kod att göra en crowd-sourced tid förflutit bild station som kan gå någonstans man kan installera ett tecken. Vi (nördar för naturen) byggt detta för användning på Mount Diablo State Park, öster om Sa...

Intellekten Galileo interaktiva ledde matrisen

Skapa en interaktiv 8 x 8 ledde matrisen och skicka bilder som ska visas från var som helst i världen!I detta projekt använder en Intel Galileos styrelse som Intel har generöst försett oss med (de ger mycket de till unis världen över). Intel-Galileo...

Inkommande Subway lampa

Trött på att rusa till tunnelbanan bara för att se bakljus eftersom det drar från stationen?Jag också. Så jag har skapat en liten Arduino powered lampa som ändrar färg när nästa tåg kommer. Här byggdes med hjälp av BART API men många system har allmä...

Ställa in en dator baserat DVR (med Mythtv för linux).

i flera instructables, jag talar om Mythtv en datorbaserad dvr (Digital video recorder). Inte se någon anledning varför jag ska betala en avgift för uthyrning när det finns billig datorutrustning att göra detsamma. Inte bara det jag kan styra vad med...

Enkelt sätt att anpassa din bärbara dator

någonsin se de stora skinn för bärbara datorer?Inte de ser ut som de skulle vara jättesvårt att få tillbaka av?Det är den huvudsakliga anledningen jag har skyggat dem tidigare, men riktigt vill lägga en personlig touch till min laptop, jag började tä...