Eenvoudige PHP persoonlijke contact homepage (web3.0!)


Dit project wordt ontwikkeld op Google Code, check out de laatste ontwikkelingen!

Filosofie
Dit is mijn web3.0*-oplossing voor een dode persoonlijke homepage. Ik heb mijn domein al bijna 10 jaar, maar ik gebruik het alleen voor e-mail en als een aanspreekpunt. Dat houdt me niet van het installeren van de nieuwste trendy CMS om de paar maanden--ik meestal doe één post aankondiging van de site, en vervolgens Raak nooit het opnieuw.

Dit keer maakte ik een eenvoudige contact homepage alleen voor mij, en misschien heb je. Het laat mensen contact met u opnemen. Thats it.

Ik voegde een web administratie-interface om te redigeren naar de configuratie vijl (config.inc.php), en een snelle bestandsupload interface voor wanneer u nodig hebt om te delen van een bestand, maar hoeft niet een FTP-client handig.

De bestanden zijn opgenomen in het archief van het project, en u kan Mijn sitebekijken. Voel je vrij om te posten van veranderingen, thema's, of samen te werken aan het project. Ik ben te lui om te beginnen met een project in sourceforge.net of freshmeat, en instructables is een gemakkelijke manier voor het documenteren van de project- en host-bestanden.

* Web3.0 grap: ik schertsend noemen dit web3.0 omdat het is een reactie op de "all-flash-neen-stof" web2.0 stijl Persoonlike webbladsye ik heb geprobeerd in het verleden. Ja, AJAX is geweldig, maar wat goed is het als ik nooit gebruik van de site? Dit is een evolutionaire stap voor mijn persoonlijke homepage, op basis van een realistische inschatting van de functies die ik in de afgelopen 10 jaar, dus 'web3.0 gebruikt heb'.

Functies

  • Eenvoudige contactformulier met javascript en server side adres validatie
  • Alle tekst aanpasbare uit web interface of config bestand.
  • Controleer eventueel of MX-record voor het gegeven e (een echte server bestaat)
  • Indienen limiter voorkomt snelle meerdere inzendingen (ongewenste en spam)
  • Eenvoudig thema systeem
  • "404 file not found" vangen en omleiden zonder vervelende mod_rewrite
  • Werk via agenten zal ingelijst redirect (zoals godaddy.com)
  • Admin configuratie webpage voor eenvoudige updates naar het configuratiebestand
  • Bestand uploaden admininterface
  • Admin MX record selectievakje interface
  • Geen MYSQL vereist.
  • Contactformulier klasse kan worden hergebruikt in aangepaste projecten

Snelle installatie
1. VN-pack en upload de bestanden naar uw server.
2. handmatig configureren config.inc.php en upload het-- of--surf naar admin.php (user/pass: admin/admin) en configureren van het web. Kijk naar opmerkingen en beschrijvingen om te begrijpen van de configuratieopties.
3. (optioneel) maken een /files sub directory als u wilt gebruiken de admin pagina uploader.

Te doen

  • admin interface styling
  • thema mappen scannen en dropdown voor admin maken
  • controleren en corrigeren van /'s in mapingangen te vermijden fouten (/dir/)
  • CAPTCHA
  • Contactpersonen ook naar CVS bestand-- maar hoe te te beschermen (php) schrijven?
  • optie aan zip geüploade bestand?
  • cache?
  • SMTP-bibliotheek voor servers zonder mail() toegang
  • MYSQL verbinding voor contact registratie (en meerdere contact Sitebeheer?)

Opdrachtgevers/ontwerpnotities

  • Eén pagina met inline/header javascript en css styling, alle POST ontwerpen. Door het vasthouden aan deze beperking, de pagina werkt via domeinregistreerders ingelijste URL redirect (zoals godaddy.com, directnic.com, anderen). U kunt uw domein.com onzichtbaar omleiden naar een subdomein of map als uw ISP gierig met add-on domeinen is. Dit maakt het ook gemakkelijk te onderhouden uw MX-record met uw domeinregistreerder als u wilt hop ISP's of je e-mail missen uw goedkope ISP is beneden veel. Hebt nog steeds toegang tot de admin.php pagina via uw eigenlijke host-adres als u ingelijst omleidingen.
  • Geen AJAX. Een beetje van javascript validatie e-mail, maar thats it. Het is een enkele pagina, het hoeft niet te gebruiken van het xmlhttp object!
  • Alleen e-mail vereist is en gevalideerd, dat is alles wat ik nodig om in contact te krijgen.
  • Standalone. Geen DB nodig, zodat het werkt op beperkte accounts. Dat is alles wat een contact formulier moet. Ik hoop toe te voegen een eenvoudig te configureren-maar optioneel-mysql logboekfunctie in de toekomst. Misschien.
  • Optioneel vijl niet stichten omleidingen--gebruikt de .htaccess omleiden allemaal niet gevonden bestanden naar 404.php, die alles terug stuitert de het adres dat is ingesteld in het configuratiebestand. Nuttig voor niet stuiteren alle terug naar de top sticht. Dit maakt geen gebruik van mod herschrijven, zodat het bijna overal werken zal, en moet niet dom mod_rewrite problemen veroorzaken.
  • In de admininterface kunt u het uploaden van bestanden (met een maximale grootte is ingesteld in het config.inc.php bestand) naar de submap ingesteld in het configuratiebestand (u moet de map maken zelf). Dit is de andere functie die ik nodig had, een snelle plek om te zetten bestanden. Geniet van. De mapnaam moet een slash, maar niet een leidende slash (voorbeeld "bestanden /"). Merk op dat voor veiligheid de upload-functies redenen kan alleen worden ingeschakeld/uitgeschakeld in het config.inc.php bestand, en niet vanuit de administratie-interface. Wijzig in config.inc.php $admin_upload_enabled = false of = true en uploaden naar uw server. Maak je geen zorgen, de functie is standaard ingeschakeld
  • MX selectievakje maakt contact met de server op de e-mail domain.tld (gmail.com) om te controleren of er een record mail. Dit voorkomt fouten en vuilnis inzendingen. Bent u op een windows-server (IIS), moet u de alternatieve methode van de (WINDOZ) MX selectievakje inschakelen omdat alleen linux de 'goede' methode ondersteunt.
  • De klasse die leest en schrijft de configuratiebestanden voor zowel de site en de thema's houdt niet opmerkingen geplaatst na een variabele. Commentaar boven en onder zijn prima.
  • Voor extra beveiliging verwijderen admin.php en confedit.class.php wanneer niet in gebruik.
  • Als u don' t begrijpen van een optie in de webinterface admin.php, check het config.inc.php bestand opmerkingen, die een betere verklaring kunnen bevatten.
  • Als u de site verbreekt door een slechte waarde (zoals een thema locatie zonder een afsluitende /), dan u moet het configuratiebestand een correctie te openen het met de hand.

Thema 's
Het is mogelijk om verschillende CSS-stijlen toevoegen, en geven van CSS-stijlen configuratie-opties die worden weergegeven in het menu Administratie (bijvoorbeeld tekstgrootte, kleuren, etc). Thema's zijn eenvoudig te maken, check het standaardthema, maar hier is een fundamentele overzicht van het proces.

1. Maak uw CSS-opmaakmodel voor de pagina. Iets zoals firebug voor firefox is echt nuttig.

2. Maak een nieuwe map onder de map /themes/. De nieuwe stijlpagina te kopiëren naar de map en noem deze css.css. Theme.php en config.theme.php van de standaard themamap kopiëren.

3. in het CSS-bestand, ga naar alle variabelen die u wilt kunnen aanpassen van een configuratie-bestand of administratie-interface. Vervang de waarden door een beetje van php-code, als volgt:

  • <? php echo $theme_propertyname;? >

en propertyname vervangen door iets gemakkelijk te onthouden. In het standaardthema maakte ik de achtergrondkleur koptekst verstelbaar:

  • achtergrondkleur: #FFFFFF; / * originele CSS * /
  • achtergrondkleur: <? php echo $theme_background_color;? >; / * vervangen door PHP code * /

4. nu duidelijk het bestand config.theme.php en voeg uw variabelen en standaardinstellingen. In het bovenstaande voorbeeld zou ik voeg deze regel toe aan config.theme.php:

  • $theme_background_color = "#FFFFFF";

5. ten slotte, het registreren van de opties die u hebt gemaakt zodat ze in de administratie-interface opdagen. Open de kopie van het standaardbestand voor de theme.php. De themanaam, auteur en versie wijzigen als u nodig hebt. Registreren van elke optie die u hebt gemaakt in de array in de functie get_options():

  • retourneren van de array)
  • matrix ("des" = > "Colors (gebruik CSS kleurcodes)", "type" = > "break"),
  • "theme_background_color" = > array ("des" = > "thema achtergrond kleurcode:","type" = > "text", "val" = > $theme_background_color),
  • );

Het eerste deel:

  • matrix ("des" = > "Colors (gebruik CSS kleurcodes)", "type" = > "break"),

voegt een kop aan onze configuratiemenu dat zegt "Colors (gebruik CSS kleurcodes)". De tekst voor uw opties te wijzigen. Type = > break geeft een sectie met de kop, zo vaak als u voor uw menu wilt gebruiken.

Het tweede deel:

  • "theme_background_color" = > array ("des" = > "thema achtergrond kleurcode:","type" = > "text", "val" = > $theme_background_color),

registreert de variabele naam zonder de $ (theme_background_color), en geeft het een beschrijving van "thema achtergrond kleurcode:" (voor uw variabele wijzigen). Type geeft aan een tekstveld (er zijn geen andere typen op dit moment). Tot slot Voer je volledige variabele naam na "val" = >, dit keer met de $ dit bericht toewijzen aan de variabele die u hebt gemaakt in 4. Herhaal indien nodig.

6. Als u het thema, ga naar admin.php en stel de thema map naar de map die u hebt gemaakt, bijvoorbeeld "aangepaste /". De slepende schuine streep nodig is, een leidende slash niet gebruiken. Nadat u raakt de verandering, het nieuwe thema zal worden gebruikt, en de nieuwe thema-opties moeten worden weergegeven in het thema configuratie gebied.

Gerelateerde Artikelen

Eenvoudige PHP website voor contactpersonen

Eenvoudige PHP website voor contactpersonen

Hallo iedereen, dit is mijn eerste instructable en ik hoop dat het u bevalt!Ik wil erop wijzen dat dit project puur voor de hobby en leren php taal werd gemaakt. Begon ik vanaf nul, en het is nog niet 100% voltooid. Het is een aangepaste Website en h
Eenvoudige en intuïtieve web-interface voor je Raspberry Pi

Eenvoudige en intuïtieve web-interface voor je Raspberry Pi

De Raspberry Pi is een verbazend 35 dollar mini computer. Zo kunt u alles doen die u kon doen met een gewone Linux-computer (verbinding maken met het internet, het bekijken van video's, lancering van toepassingen,...) maar ook om te communiceren met
Begin webpagina schrapen met php.

Begin webpagina schrapen met php.

We hebben sommige webpagina schrapen met bash gedaan en nu willen we aan het intensiveren van de macht van de code met een webpagina-scripttaal genaamd PHP. Dat is de P meestal in de stack versterker (W/M/L) van een webserver Apache2. Ik zal u tonen
Ying Yang LED plafond eiland

Ying Yang LED plafond eiland

Toen mijn slaapkamer werd herontworpen besloot ik dat ik wilde toe te voegen een beetje persoonlijk contact met een LED verlicht plafond eiland, met behulp van Sketchup ik met vele verschillende vormen experimenteerde, totdat ik op het idee struikeld
Hoe geworden Vegan: 10 stappen van een verward Carnivore naar een vraatzuchtige Vegan

Hoe geworden Vegan: 10 stappen van een verward Carnivore naar een vraatzuchtige Vegan

Hallo daar!Welkom bij de hartige Vegan: 10 stappen van een verward Carnivore naar een vraatzuchtige Vegan! Dit is een instructable die ik heb ontwikkeld om mensen die proberen om de moeilijke overgang naar veganisme een beetje gemakkelijker te helpen
Internet gecontroleerde Mains Switcher

Internet gecontroleerde Mains Switcher

Dit is een zeer lage kosten en basic van van Domotica, zodat u kunt inschakelen en uitschakelen van verlichting en andere apparaten met behulp van uw computer of mobiele telefoon.Het is gebouwd en getest met behulp van de stekkers van de UK, maar het
Het gebruik van The Red Letter stam

Het gebruik van The Red Letter stam

dus, u wilt worden een regelmatige affiche op staat Radio's message board, hè?Het is niet zo eenvoudig als je misschien denkt. Als u een fout maakt, kon u worden neergeschoten en verbannen van de planken. maar wees niet geïntimideerd. De meeste mense
Een professionele website bouwen: deel 3 CSS

Een professionele website bouwen: deel 3 CSS

CSS (Cascading Style Sheets) zijn als het brood in een PB & J sandwich. Tuurlijk, tabellen zijn oke, maar de code is veel schonere en meer doelmatige met CSS.CSS is een eenvoudige methode om stijl (bijv lettertypen, kleuren, afstand) aan Web-document
Balkon tuinman

Balkon tuinman

Dit is ik woon in flatgebouw. Een heleboel verdiepingen, een heleboel balkons en een heleboel mensen die hebben planten.Bijvoorbeeld, mij. Ik ben dicht bij nooit thuis en u kunt raden, mijn planten zijn in een vrij slechte conditie.Dus, heb ik beslot
RaspberryPi web gordijn controller

RaspberryPi web gordijn controller

De Somfy afstandsbediening systeem is een gesloten, propriëtaire systeem. Dit Instructable toont hoe te hardwire de afstandsbediening om de RaspberryPi (RPi) en vervolgens schrijf een eenvoudig PHP web pagina om te controleren van de gordijnen. Elke
Gut controleren een Tweeting en Facebooking koelkast

Gut controleren een Tweeting en Facebooking koelkast

ik heb een probleem, ik ben proberen om gewicht te verliezen maar ik hou van snoepen laat in de avond. En geen mens weet dat ik zelfs doen. Dat is een van mijn grootste hindernissen, ik dacht waarom niet omvatten al mijn sociale media vrienden en vol
Stille Heuvel 2 verpleegkundige

Stille Heuvel 2 verpleegkundige

de mal van klei voor mijn masker gebeeldhouwd bovenop een piepschuim hoofd (ik zou aanraden plastacine of iets dergelijks. Ik gebruikte enkel wat ik had bij de hand, maar een plastacine zou werken het beste). Vloeibare latex werd toegepast in lagen,
De knop e-mail: Arduino verbinden met IFTTT voor het verzenden van e-mails, tweets, tekstberichten en meer

De knop e-mail: Arduino verbinden met IFTTT voor het verzenden van e-mails, tweets, tekstberichten en meer

wat als u kon met een enkele knop, stuur een e-mail, een tweet of een SMS-bericht?Dit leerprogramma zal u tonen hoe een eenvoudige knop verbinden met uw favoriete internet apps door het te koppelen aan IFTTT.IFTTTIFTTT.com (als dit dan dat.) is een v