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.