Philosophie
Il s’agit de ma solution de web3.0* à une page d’accueil personnelle morts. J’ai eu mon domaine pendant près de 10 ans, mais je l’utilise seulement pour le courrier électronique et comme un point de contact. Qui ne m’empêchera pas d’installer le CMS dernière tendance tous les quelques mois--je fais habituellement un message annonçant le site et puis jamais toucher à nouveau.
Cette fois, j’ai fait une page d’accueil contact simple juste pour moi et peut-être vous. Il permet aux gens de vous contacter. C’est tout.
J’ai ajouté une interface d’administration web pour modifier le fichier de configuration (config.inc.php), et un upload de fichier rapide interface pour quand vous avez besoin de partager un fichier, mais n’est pas un client FTP très pratique.
Les fichiers sont inclus dans l’archive du projet, et vous pouvez voir mon site. N’hésitez pas à poster des changements, des thèmes, ou collaborer sur le projet. Je suis trop paresseux pour démarrer un projet sur sourceforge.net ou freshmeat et instructables est un moyen facile de documenter les fichiers projet et hôte.
* Web3.0 blague : J’appelle en plaisantant cette web3.0 parce que c’est une réaction à la pages d’accueil personnelles style web2.0 « tout-flash-non-substance » j’ai essayé dans le passé. Oui, AJAX est grand, mais à quoi sert il si je n’utilise jamais le site ? Il s’agit d’une étape de l’évolution de ma page personnelle, basée sur une évaluation réaliste des fonctionnalités que j’ai utilisé au cours des 10 dernières années, donc « web3.0 ».
Caractéristiques
- Formulaire de contact simple avec validation d’adresses côté serveur et javascript
- Tout le texte personnalisable de fichier de config ou de l’interface web.
- Vérifiez éventuellement enregistrement MX pour l’e-mail donné (un vrai serveur existe)
- Soumettre le limiteur empêche rapide des présentations multiples (ordure et spam)
- Système de thème facile
- « 404 fichier non trouvé » attraper et redirige sans mod_rewrite méchant
- Sera travaux par l’intermédiaire des bureaux d’enregistrement encadré redirection (par exemple, godaddy.com)
- Admin configuration page Web pour les mises à jour faciles vers le fichier de config
- Interface de téléchargement de fichiers admin
- Interface de vérification du casier de admin MX
- Aucun MYSQL requis.
- classe contactForm peut être réutilisé dans des projets personnalisés
Installation rapide
1. ONU-pack et télécharger les fichiers sur votre serveur.
2. manuellement configurer config.inc.php et télécharger il--ou--surf sur admin.php (utilisateur/pass : admin/admin) et configurer à partir du web. Regardez les commentaires et des descriptions pour comprendre les options de configuration.
3. (facultatif) créer un sous-répertoire / Files si vous voulez utiliser l’uploader de page admin.
À faire
- style d’interface admin
- scanner les répertoires de thème et créer la liste déroulante pour admin
- Vérifiez et corrigez / ' s dans des entrées de répertoire pour éviter des erreurs (/dir/)
- captcha
- Écrire contacts également dans le fichier CVS--mais comment protéger (php) ?
- option pour compresser le fichier téléchargé ?
- mettre en cache ?
- bibliothèque de SMTP pour les serveurs n’ont pas accès de la fonction mail()
- Connexion MYSQL pour la journalisation contact (et plusieurs sites contact administration?)
Principes de conception/Notes
- Seule page avec javascript inline/en-tête et d’un style css, tous les POST design. En adhérant à cette contrainte, la page fonctionne par le biais de redirection d’URL encadrée des registrars de domaines (comme godaddy.com, directnic.com, autres). Vous pouvez rediriger invisiblement votre domaine.com à un sous-domaine ou répertoire, si votre FAI est avare avec les domaines de l’Add-on. Cela rend également facile à entretenir votre enregistrement MX avec votre registraire de domaine si vous aimez hop FSI ou vous manquez email parce que votre fournisseur d’accès à bas prix est en baisse beaucoup. Encore, vous devrez accéder à la page admin.php de votre adresse de l’hôte actuel si vous utilisez des redirections encadrées.
- Pas AJAX. Un peu de javascript e-mail de validation, mais c’est tout. C’est une page unique, il n’a pas besoin d’utiliser l’objet xmlhttp !
- Courriel suffit et validées, c’est tout j’ai besoin d’entrer en contact.
- Standalone. Aucune DB nécessaire, pour qu’elle fonctionne sur les comptes limités. C’est tout un formulaire de contact si besoin. Je souhaite ajouter un facile à configurer-mais la fonctionnalité d’enregistrement facultatif-mysql à l’avenir. Peut-être.
- Fichier facultatif introuvable redirections--utilise le .htaccess pour rediriger tout introuvable fichiers à 404.php, qui rebondit tout le l’adresse définie dans le fichier config. Utile pour rebondir tout ne fonde pas vers le haut. Il n’utilise pas mod rewrite, donc ça va marcher presque partout et ne devrait pas causer de problèmes stupides mod_rewrite.
- Dans l’interface d’administration vous pouvez télécharger des fichiers (jusqu'à une limite de taille définie dans le fichier config.inc.php) dans le sous-répertoire défini dans le fichier de config (vous devez créer le répertoire vous-même). C’est l’autre caractéristique j’avais besoin, un endroit rapide pour mettre les fichiers. Profitez. Le nom du répertoire doit avoir une barre oblique, mais pas un leader slash (exemple "fichiers /"). Note que, pour la sécurité, les fonctionnalités de téléchargement des raisons peut uniquement être activée/désactivée dans le fichier config.inc.php et non à partir de l’interface d’administration. Dans config.inc.php changer $admin_upload_enabled = false ou = true et télécharger sur votre serveur. Ne vous inquiétez pas, la fonctionnalité est activée par défaut
- Enregistrement MX fait contact avec le serveur à l’e-mail domain.tld (gmail.com) pour s’assurer que c’est un enregistrement mail. Cela empêche les erreurs et présentations d’ordures. Si vous êtes sur un serveur windows (IIS), vous devez activer la méthode alternative de cocher MX (WINDOZ) car seul linux prend en charge la méthode de « bonne ».
- La classe qui lit et écrit les fichiers de configuration pour le site et les thèmes n’aime pas les commentaires placés après une variable. Commentaires au-dessus et en dessous sont très bien.
- Pour plus de sécurité, supprimez admin.php et confedit.class.php quand pas en service.
- Si vous n ' t comprendre une option dans l’interface web de admin.php, vérifier les commentaires de fichier config.inc.php, qui peuvent contenir une meilleure explication.
- Si vous cassez le site en entrant une valeur incorrecte (par exemple un emplacement de thème sans fin /), alors vous aurez besoin ouvrir le fichier de config un correctif il à la main.
Thèmes
Il est possible d’ajouter différents styles CSS et donner des styles CSS des options de configuration qui apparaissent dans le menu d’administration (par exemple, la taille du texte, couleurs, etc.). Thèmes sont simples à créer, vérifier le thème par défaut, mais voici un aperçu de base du processus.
1. Créez votre feuille de style CSS de la page. Quelque chose comme firebug pour firefox est vraiment utile.
2. Créez un répertoire sous le répertoire /themes/. Copiez la nouvelle feuille de style dans le dossier et nommez-le css.css. Copiez theme.php et config.theme.php du dossier du thème par défaut.
3. dans le fichier CSS, recherchez toutes les variables que vous voulez être capable de s’adapter à partir d’une interface de configuration file ou l’administration. Remplacez les valeurs avec un peu de code php, comme ceci :
- <? php echo $theme_propertyname; ? >
et remplacez propertyname par quelque chose de facile à retenir. Dans le thème par défaut, j’ai fait la couleur d’arrière-plan en-tête réglable :
- background-color : #FFFFFF ; / * CSS d’origine * /
- background-color : <? php echo $theme_background_color; ? > ; / * remplacé par PHP code * /
4. maintenant effacer le fichier config.theme.php et ajoutez vos variables et paramètres par défaut. Dans l’exemple ci-dessus, je voudrais ajouter cette ligne à config.theme.php :
- $theme_background_color = "#FFFFFF" ;
5. Enfin, enregistrer les options que vous avez créé afin qu’ils apparaissent dans l’interface d’administration. Ouvrez la copie du fichier theme.php par défaut. Changer le nom du thème, l’auteur et la version que vous le souhaitez. Enregistrez chaque option que vous avez créé dans le tableau dans la fonction get_options() :
- retour de tableau)
- Array (« des » = > "Couleurs (utiliser des codes de couleur CSS)", "type" = > « Pause »),
- « theme_background_color » = > array (« des » = > "code de couleur pour le fond thème: «, » type" = > « text », « val » = > $theme_background_color),
- );
La première partie :
- Array (« des » = > "Couleurs (utiliser des codes de couleur CSS)", "type" = > « Pause »),
Ajoute un titre à notre menu de configuration qui dit "De couleurs (utilisation CSS color codes)". Modifier le texte pour vos options. Type = > Pause spécifie un en-tête de section, utilisez autant de fois que vous avez besoin pour votre menu.
La deuxième partie :
- « theme_background_color » = > array (« des » = > "code de couleur pour le fond thème: «, » type" = > « text », « val » = > $theme_background_color),
enregistre le nom de variable sans le $ (theme_background_color) et il donne une description des "codes de couleur pour le fond thème:" (changer pour votre variable). Type spécifie un champ de texte (il n’y a pas d’autres types en ce moment). Enfin entrez votre nom complet variable après « val » = >, cette fois avec le $ pour mapper cette entrée à la variable que vous avez créé dans 4. Répéter au besoin.
6. pour utiliser le thème, allez dans admin.php et définissez le répertoire du thème dans le répertoire créé, par exemple "personnalisé /". La barre oblique est nécessaire, ne pas utiliser une barre oblique leader. Après que vous frappez le changement, le nouveau thème sera utilisé, et les nouvelles options de thème doivent apparaître dans la zone de configuration du thème.