Några enkla och mycket efterfrågade PHP-script

Behöver du en enkel gästbok, dagbok, chat eller kontaktformulär? Vill du lära dig lite om PHP? Det här kanske kan vara något för dig, som inte vill, eller kan, använda dig av de färdiga lösningar som finns. Ofta är de gratistjänster som finns, översållade med reklam eller trögladdade och de andra skapar en onödig kostnad. Det är heller inte säkert, att de går att anpassa för ditt behov.
Det här kostar ingeting, och man kan "lätt" ändra som man vill ha det.


Varför finns den här sidan?
Helt enkelt för att jag själv behövde skripten och ville lära mig vad PHP kunde användas till.
Jag började skriva på rutiner och färdiga skript 2005, då den här sidan startades.
För att ha någon plats att prova skripten på, hamnade de här, och här blev de kvar.
Alla skript har ändrats och förbättras flera gånger sedan de skrevs. De flesta under senaste året.

De här skripten, använder sig av textfiler, för att spara data. En riktig databas är att föredra, när möjligheten finns. Databasens egna funktioner, kan då ersätta många av de funktioner som annars måste utföras i PHP-skriptet. Kan man inte använda databas, t.ex. MySQL, är textfiler den enda möjligheten.

För att alla funktioner ska fungera på den här sidan, måste JavaScript vara aktiverat och för vissa funktioner måste du även tillåta cookies. Titta här: Användarinfo

Det här är ingen PHP-skola, utan bara några fungerande exempel, som man kan bygga vidare på.
Kanske kan den här sidan få andra att inte göra om samma misstag som jag har gjort?

Hasse

Förutsättningar:
Du måste ha tillgång till ett webhotell eller egen server med installerad PHP-tolk.
De flesta som erbjuder gratis hemsideutrymme, kan inte hantera PHP. Fråga ditt webhotell.

För att kolla om du kan använda PHP, kan du skriva en fil med endast detta innehåll:
<?php phpinfo(); ?>
Spara filen som phpinfo.php
Ladda upp filen till webhotellet och surfa in på den.
Ser man då en lång lista med information, är det OK. I annat fall ser man bara koden i filen.

Här finns några användbara nybörjarscript i PHP. (Även jag är nybörjare på PHP och absolut ingen expert).
Målsättningen är, att det skall vara lätta att installera och lätta att ändra, så det passar för dina behov. De innehåller inga häftiga, onödiga funktioner som bara försvårar förståelsen av skriptet, utan bara det som behövs för en säker funktion.

PHP körs på servern, till skillnad mot t.ex. JavaScript som bara kan köras i webläsaren hos besökaren. Med PHP kan man göra allt, det man tidigare önskat göra, men man inte kunnat, då det inte gått att spara data.
Du kan normalt inte köra skripten på din egen dator. Därför måste du först ladda upp dem till din server, för att kunna testa dina ändringar (om du inte har egen server med installerad PHP).
För att editera dina PHP-sidor, är det enklast att använda "Anteckningar" eller motsvarande texteditor.

PHP-sidor byggs upp som en vanlig HTML-sida, med tillhörande PHP-kod. Filtillägget skall vara ".php", i stället för htm. Den här sidan är en blandning av vanlig HTML och PHP.
PHP-koden börjar alltid med <?php och slutar med ?>. Om du ändrar i koden som jag skrivit, och det tycker jag du skall göra, ändra bara lite åt gången, så blir det lättare att felsöka och ev. återställa.
Var noga med att punkter, semikolon, paranteser och liknande, kommer på rätt plats och inte blir glömda. Även glömda eller extra mellanslag, kan ställa till konstiga fel.

    När du ändrar dina PHP-sidor:
  1. Gör dina ändringar i en texteditor.
  2. Spara sidan.
  3. Ladda upp sidan till webhotellets server med ditt FTP-program.
  4. Surfa in på din sida med webläsaren. Om du redan är där, glöm inte att "uppdatera".
  5. Om det inte fungerar: Kolla ev. felmeddelanden, gå tillbaka till punkt 1 och ändra.
    Felmeddelanden kan läsas i en logg i samma katalog på webbservern, eller via controllpanelen.
  6. Om det fungerar: GRATTIS! Som tack, vore det bra, om jag får veta hur det gått, om du har ändrat något och gärna vad du använder scripten till. Då kan jag förbättra dem ytterligare och rätta till eventuella fel.
    Hasse.

PHP-koden kan inte läsas genom att i webläsaren "visa källa". Då ser man bara den färdiga HTML-koden, som genererats av PHP-skriptet, men det kan vara bra vid felsökning, att kolla att även HTML-koden blir riktig.
För att se PHP-koden måste filen öppnas lokalt i en texteditor.

Ingen databas? Behövs inte!
Alla nedanstående skript, använder en vanlig textfil (.txt) för lagring av inläggen. (Alla har inte tillgång till databas).

CHMOD:
För att kunna spara texfiler på servern, måste rättigheterna tillåta det.
Beroende på serverns inställingar, kan rättigheterna vara satta från början. Testa!
Om det inte går att spara textfilen, måste katalogen chmodas. 777 fungerar alltid. Det gör man efter att man laddat upp katalogen till servern.
Scriptet kan även skapa nya filer i katalogen.
I t.ex. Ws_ftp markerar man filen och högerklickar på den. I dialogrutan klickar man sedan på CHMOD och bockar för alternativen.
Detta kan ofta även göras i webhotellets controllpanel.
I annat fall får man ett felmeddelande med "åtkomst nekad". Om inte skrivrättigheterna är satta, går det inte att spara något överhuvudtaget!

För att det skall bli lättare med redigering av textfilen, har jag undvikit för mycket kod i den (mest bara radbrytning).
Observera att posterna skils åt med ny rad i textfilen "\n", medan ny rad i HTML-utskriften som vanligt använder "<br>".
På raderna delas varje fält åt med ett specialtecken. Det kan bytas till ett annat tecken som inte används i något annat sammanhang.
Om det tenderar att bli väldigt mycket i textfilen, kan man skapa fler textfiler, t.ex. en per år / månad eller efter x antal inlägg. Då kan man använda datum, eller del av datum, som filnamn, för att lättare kunna söka och hitta inlägg.

Tidsformatet som används i alla script på webbsidan, samt omställning av tidzon.

Webhotellets php-version var tidigare 5.3.26. Nu är det bytt php-version 5.4.40.
Det betyder att vissa filer måste flyttas till nya kataloger och sökvägar ändras. Lägg inga körbara filer i samma katalog, som dina datafiler!

OBS: Textfiler och adminfiler ska läggas i en andra kataloger, som man kan lösenordsskydda. Ändra i så fall sökvägen till txt-filen i adminskriptet.
Glöm inte att chmoda textfilen (eller katalogen där filen skall ligga), när du laddat upp den på servern.

vissa skript behöver inte spara i txt-fil. Då går de att köra direkt.

Zip-fil för exemplen, med alla ingående filer, finns att hämta längre ner på sidan.
F.o.m. Windows XP, finns programmet "Komprimerade mappar" som är alldeles utmärkt att packa upp filerna med. Det som kallas "Komprimerad mapp" (ikonen som ett blixtlås), är själva zip-filen. Annars är WinZip, det vanligaste zip-programmet.

När du fått allt att fungera, kan du flytta filerna dit du vill.
Du kan till exempel lägga alla admin-sidor och textfilerna i en lösenordsskyddad katalog.
Glöm då inte länkningen och sökvägarna mellan skripten och txt-filerna.

VARNING! Alla filer som inte skall visas offentligt, MÅSTE läggas i en lösenordskyddad katalog!
Viktigast är adminfiler men även text-filer som innehåller viktig information, som e-postadresser eller andra viktiga uppgifter.
Lösenordsskydda katalog för admin och textfiler på enkelt sätt: Kolla här!

Det som visas i exemplen, kan skilja sig lite från det som finns i zip-filen, då jag håller på med uppdateringar.
När jag kommer på förbättringar, så ändrar jag. Se uppdateringsdatum i fil-listan (längre ner på sidan).


Tips för sidbrytning (paging)
- Ibland blir det lite för mycket på en sida. Då kan det vara bra att begränsa utskriften till ett visst antal inlägg per sida.
Sidbrytning Väldig enkelt. Testas nu i gästboken.
Sidbrytning3 Möjlighet att stega frammåt och bakåt.

Enkel gästbok
- En mycket enkel men fungerande gästbok, som man lätt kan ändra utseende på.
Gästboken består av en katalog med huvudskriptet och en separat katalog att spara inläggen i.
Katalogen, med dess innehåll, laddas upp på servern. En katalog chmodas.
Jag har inte brytt mig om att lägga in smileys i den, då de flesta inte har behov av det. Vill du ändå ha smileys, kan du titta här.
Prova gästboken: Gästboken
Enkel dagbok
- Samma idé som gästboken men formuläret på egen sida. Nu finns det även möjlighet att länka till en bild.
Med dag för dag-noteringar. Utskriften går att anpassa, som man vill ha den.
Innehåller en katalog med index-fil samt formulärsida och redigeringssida.
Prova dagboken: Dagboken
Nyhetsskript
- Visar nyhetslänkar som vid klick, visar hela nyheten.

Kan visas på egen sida eller infogas i annan.
Är det nyheter med mycket text, är det kanske bäst att visa dessa på egen sida med target="_top" i länkarna.
Texten måste naturligtvis stylas, så den stämmer med sidan i övrigt. Texstorleken kan ställas in.

Prova nyhetsskriptet

Innehåller formulär, editering och själva huvudskriptet, samt en sida för endast utskrift i annat format.


Liten kalender
- En liten svensk kalender med veckonummer, kan vara bra att ha.
Kalendern visar aktuell månad med datum markerat. Stegning mellan månader, fungerar nu:
Den kan läggas på en hemsida, där man behöver kolla datum ofta.

Här ligger den i en iframe med storleken 130 x 150. (Beroende på månad, visas 4,5 eller 6 veckorader).

Endast en fil.


Omröstning
-Ett röstningsskript har varit efterfrågat. Nu är det här!
Skriptet visar resultat i procent med siffror och med liggande staplar. Decimaler avrundas till heltal.
Adminskript och txt-filer i separat katalog.
Det går att ställa valfri fråga och obegränsat med svarsalternativ.

IP-nummer blockeras, så att upprepade röstningar förhindras.
Utskriften ligger i en tabell.

För att nollställa och starta ny omröstning, skriver man en ny fråga med sina alternativ.


Bokningslista
- Det här var mitt första skript, så det kan verka lite rörigt. Men det fungerar.
Presentation i listfom, med datum, tid och noteringar per rad och med sortering efter datum/tid.
Hur datum, tid och övrig text skall visas, bestämmer man i scriptet. Vilka tider och andra uppgifter som skall vara tillåtna, bestämms redan i formuläret. Det går också att bestämma tidpunkt, när texter visas, t.ex. påminnelser och nyheter.
Jag använder den själv för bokningar, med utskrifter i olika format.
Innehåller huvudsida, formulärsida, redigeringssida och en sida med lista för allmän presentation.
Prova bokningslistan: tidboklista.php Här visas bara utskriften. Formulär och editering följer med zip-filen.
Länklista
- En länklista, där du själv eller besökare kan lägga till nya länkar med tillhörande beskrivningar.
Formuläret har egen sida. Admin-script och data i egen katalog. Skiptet är nu något förenklat men samtidigt förbättrat.
Prova länklistan: links.php
Annonstavla
- Nästan samma idé som länklistan, men fler funktioner. Annonseringtid kan väljas och svar sker genom ett mailformulär.
Skriptet är ändrat 2013-08-13.
Prova annonstavlan.
Chat Chattknapp
- En väldigt enkel chat. Den använder sig delvis av AJAX-teknik och lagrar data i textfil. Den innehåller fem filer samt en enkel in/utloggning utan registrering.
Zip-filen innehåller en mapp med alla ingående filer, även de två textfilerna.
Ladda upp hela mappen och chmoda textfilerna.
Det går att ställa in, hur många och hur länge meddelandena skall sparas. Tiden för uppdatering går också att ändra.
Här finns ett demo. Tillfälligt lösenord = demo
Enkelt Forum
- Ett enkelt forum med textfiler. Startsidan innehåller lista över trådarna med formulär för nya ämnen. Trådsidan har eget formulär för svar.
Datafilerna ligger i en egen katalog. Den katalogen skall lösenordsskyddas.
Det här kan inte jämföras med de stora forumen med massor av funktioner. Det har endast det viktigaste. Skriva och kunna svara på andra andras inlägg.
Med zip-filen följer en textfil med installationsinfo.
Testa forumet
Nyhetsbrev
- Det här är ett skript för att skicka ut nyhetsbrev till besökare, som registrerar sig via formulär.
Vid registrering skickas ett svarsmail tillbaka, där man måste godkänna utskicket. I annat fall raderas man från listan.

Observerva att du måste kunna lösenordsskydda en katalog på servern.

Skriptet finns nu för nedladdning. Innehåller 5 php-filer i 2 kataloger.
Prova funktionen här! Du kan när som helst ta bort din adress igen. E-postadresserna används inte till något annat. Ingen obehörig, kan se adresserna.


Fil-editor, 2 olika
Det här är endast avsett för dig själv och inte för dina besökare. Lägg därför scriptet på hemlig plats, med lösenordsskydd!
För att du skall kunna testa funktionen, finns inget lösen i exemplet, men testfilen är liten och går lätt att återställa om olyckan är framme.

- Rad-editor, för att smidigt kunna ändra och radera rader i t.ex. textfiler som används i ovanstående exempel.
Endast en rad ändras i taget, då det annars finns stor risk att man ändrar fel rad (post, datum, inlägg) eller i värsta fall formatering.
Man väljer rad i filen, som sedan delas upp i erfordligt antal inputfält. Efter ändring, sparas filen på nytt.
Eftersom inputfälten loopas fram, kommer alla att vara av type="text". Vid större textmängder i något fält, kanske man får ändra till "textarea" för detta.
Nu går det även att välja att radera hela rader (poster).
Till de flesta skripten på den här sidan, finns ett anpassat editor-skript. Finns inget, kan man använda det här.
Prova: radedit.php

- Editor för hel fil: Visar hela filen i en textarea som fyller hela bredden i webläsarfönstret.
Varning! Här kan man ändra, lägga till och radera allt i filen, så det gäller att man vet vad man gör.
Filnamnet och sökvägen till aktuell fil, kan väljas och sparas. Det här är ett nytt skript som ersätter det tidigare.


Mail-formulär
- Ett enkelt kontaktformulär, som man kan ha på sin hemsida, där besökare kan kontakta dig.
Endast en fil. Du behöver bara fylla i din egen e-postadress.
Titta på formuläret: kontakt.php Här kan du även få kontakt med mig.
Medlemsregistrering / inloggning
-Det har efterfrågats ett script, som registrerar och loggar in medlemmar till en site.
Ibland kanske man vill kunna lägga ut hemsidor, som bara du och dina vänner kan komma åt.
Här finns ett enkelt script med sessioner för utprovning. Det finns möjlighet att registrera sig, logga in och läsa mer information. När man är inloggad, går det sedan att avregistrera sig när man vill. Nu finns den som zip-fil.
Titta in och prova skriptet: Medlemsinloggning
När det inte fungerar:
Det absolut vanligaste felet, är att textfilen eller katalogen som textfilen ligger i, inte är chmodad. Då går det inte att spara något alls.
Ett annat vanligt fel, är att man bytt filnamn eller flyttat filer och glömt ändra länkar eller sökvägar.
När man har textfil som datafil, används en avdelare mellan varje element. Om man ändrar i skriptet, lägger till eller tar bort något från formulär, kan det hända att element och poster blir hopblandade i filen.
Kolla i textfilen, så antalet avdelare på varje rad, stämmer med skriptet och det är lika många på varje rad.
Om det ändå inte vill fungera: Hör gärna av dig, så kan vi försöka lösa problemet.
Om du lägger filerna i olika kataloger på servern, t.ex. om du vill gömma formulär och editeringssida, måste du ange sökvägen till och från dessa.
Varning! Lägg alla formulär, textfiler och editeringsidor, som inte skall vara offentliga, i en lösenordsskyddad katalog.
FAQ-sidan, kommer jag att sammanställa de vanligaste frågorna. Skriptet till FAQ-sidan, finns för nedladdning.
Hasse - Du kan nå mig via kontaktformuläret.
Här finns skripten för nedladdning
Sammanställning över nedladdningsbara .zip-filer
Uppdaterad
Gästboken1 katalog med 2 filer2013-07-26
Dagboken1 katalog med 3 filer2013-08-06
Tidbok5 filer2009-03-29
Länklistan1 katalog med 3 filer2014-10-28
Annonstavlan1 katalog med 4 filer2013-08-13
ChattenMapp med 4 filer2013-02-21
Editor2 olika2009-04-05
KontaktskriptMail-formulär2007-12-20
FAQ-skriptet1 katalog med 2 filer2010-03-22
Skriva till filEnkelt skript med ett inputfält2010-03-14
MeddelandeskriptetLängst ner på sidan. (Med textarea)2010-03-14
Nyhetsskriptet4 filer + en ny sida för utskrift2013-07-24
KlickräknarenRäknar klick på länkar. 2 filer2009-02-09
ForumEnkelt, textbaserat forum. 4 skript.2015-06-15
NyhetsbrevEnkelt skript för oformaterade nyhetsutskick. 5 skript.2013-11-11
KalenderLiten månadskalender. 1 fil.2010-01-06
OmröstningFråga med flera svarsalternativ. 1 fil + admin-sida.2013-07-30
MånadsräknarenAntal besök i dag och per månad.2009-11-07
24-timmarsräknarenBesök under ett dygn, med användarinfo. Ver.32009-11-15
MedlemsskriptRegistrering och inloggning.2013-09-10
Om något inte fungerar: Meddela det i kontaktformuläret.
Andra enklare skript som .txt-filer
BesöksräknareEndast totalbesök
Tillägg för smileysEndast tips
Stoppa robotarFör besöksräknare & liknande skript

Besöksräknare m.m.
PHP-räknare, som bara räknar det totala antalet besökare, finns i listan ovanför.
Ett par andra räknare, kommer här:

Månadsräknare. Visar dagens besök samt sparar tidigare månaders besök.
24-timmarsräknare. Besöksräknare, som visar unika besök under ett dygn, med uppgifter om ISP, referer, webläsare mm.

Välj den räknare som passar bäst, och anpassa ev. tiderna efter dina behov. (Hur mycket som skall sparas och hur länge).


Tips: Om du vill köra ett PHP-skript på en vanlig HTML-sida, utan att visa det, kan man infoga php-filen i en iframe med width=0 height=0.
Fungerar bra för räknare eller liknande skript, på sidor där man inte kan/vill använda php.

Unik besökare, vad är det?
Det finns ingen standard. Det beror på vad du själv tycker skall räknas som unik.
Egentligen är det en besökare som aldrig besökt sidan förut, eller? En som inte har besökt sidan förut i dag? Eller en som inte besökt sidan den senaste timman/minuten...? Tiden, får man bestämma själv.
Hur man än gör, så kommer det aldrig att bli helt rättvisande. Hur man känner igen en besökare mellan besöken, kan också utföras på olika sätt. I det här exemplet, sparas en cookie i besökarens dator (om besökaren inte valt att stänga av cookiesfunktionen i sina inställningar). I så fall räknas denna, som en ny besökare varje gång.
Om man i stället väljer att spara IP-nummer i en fil eller databas, blir det också fel. Många byter IP-nummer ofta, ibland mellan varje besök. En annan felkälla blir också att många datorer kan dela på samma IP-nummer.


Klickräknare Visar hur många som klickar på olika länkar.
- En fil som räknar / sparar samt en för utskrift. I räknarfilen lägger man in alla aktuella filer i en array. Länkning sker med förbestämt id-nummer.
Titta på Klick på länk-räknaren.
Skriva och ändra i en textfil: Två olika skript.
-Först ett lätt exempel med ett enkelt formulär med ett inputfält. Lämpligt för att lära sig förstå hur texfiler fungerar tillsammans med PHP.
Observera: Om katalogen, där skriptet finns, är chmodad, skapas textfilen. I annat fall får man ladda upp en tom txt-fil och sedan chmoda filen.
Testa här

-Ett annat exempel på hur man lätt kan ändra en enskild text på en hemsida. Även om man vill skriva på flera rader. Till exempel nyheter eller snabba meddelanden till besökarna.
Ett enkelt formulär med textarea och en liten textfil. Meddelandet kan sedan infogas på den plats man önskar.
Prova att ändra texten. Meddelandet visas här under. Uppdatera sedan sidan, för att se det som är ändrat.

Testmeddelande:
Levitra Bericht Donde Comprar Cialis Farmacia Discount Levitra Prices viagra prescription Glucotrol Buy With Out