PHP-skript. Hur man hanterar meddelanden från gästboken Phoca Guestbook Ej återbetalningsbar gästbok htm

Ett stort antal artiklar har skrivits om att skapa gästböcker, men de flesta avslöjade skrivprocessen inte helt utan delvis. Dessutom var böckerna som skrevs så enkla som möjligt, och kunde inte göra något annat än att lägga till meddelanden. I den här artikeln kommer jag att försöka beskriva i detalj processen för att skapa en gästbok med en bra uppsättning funktioner. Gästboken är skriven i PHP med hjälp av textfiler för datalagring.

Så först och främst måste vi ta itu med filerna. Vi kommer att ha fyra av dem, även om vi kan kombinera dem till en, men det är upp till dig att bestämma...

Fil nr 1 - guestbook.inc.dat

Låt oss skapa det, lämna det tomt och ge det behörigheter (0777-*nix, rwx/rwx/rwx)

Alla meddelanden kommer att spelas in här... Ja, ja!!! Exakt i en fil! Men var inte orolig. Jag kontrollerade det personligen på den välkända WallSt-servern. databasstorlekar på 5, 10, 100, 250, 500, 1000 KB! Det var bara avmattningar på en 1000 KB bok, tro mig, det är mer än 3000 genomsnittliga rekord! Du kommer att få mer än nog av det.

Fil nr 2 – config.inc

Fil nr 3 – gb.php

Gästbok

*Namn:
E-post:
*Meddelande:

$c-1)break; list($name,$email,$date,$time,$guesttext)=split(":::","$data[$i]", 5); /* Jag har medvetet inte gjort super_mega_sofistikerade mönster, jag kommer bara att begränsa mig till enkel textutmatning! Den som behöver det kommer lätt att förstå vad som behöver göras! För de som inte förstår, tvålen blir lägre, så läs vidare... */ echo " $namn@[$date, $time]
$gästtext

"; ) $col=$c/$gb_on_page; echo "
"; om ($c<$gb_on_page){ echo ""; } else { echo "Sidor:"; /* Det finns en sådan sak här att om du kan gå till föregående sida, så visas något liknande :)<< 2 */ if($c>$gb_on_page & $page>0)( echo "<<"; } /* Ниже функция, которая отвечает за вывод нумерации страниц с сообщениями… */ for($i=0;$i<$col;$i++) { if(($i)!=$page)echo "[".($i+1)."] "; else echo "".($i+1).""." "; ) ) /* Det finns en sådan sak att om du kan gå till nästa sida, så visas något liknande :) 1 >>*/ if($c>$gb_on_page & $page<$col-1){ echo ">>"; ) echo "
Totalt antal meddelanden: $c"; echo "
"; ?>

Fil nr 4 - gbadd.php

", ">", $guesttext); $name = ereg_replace("<", "<", $name); $name = ereg_replace(">", ">", $name); $email = ereg_replace("<", "<", $email); $email = ereg_replace(">", ">", $email); // inga citattecken! 2=DeaD= thanX! $name = ereg_replace(""", """, $name); $email = ereg_replace(""", """ , $email); $guesttext = ereg_replace(""", """, $guesttext); // tar bort extra mellanslag // i mitten $guesttext=ereg_replace(" +"," ", $guesttext(); " +"," ", $email=ereg_replace(" +", ", $email); ); // ny rad $guesttext = ereg_replace("n", "
", $guesttext); // så att all text är på en rad! $guesttext = ereg_replace("r", "", $guesttext); // megaquotes $name = stripslashes($name); $email = stripslashes ($ e-post); $guesttext= strips($guesttext); "- ", $guesttext); // nummer-nummer $guesttext = preg_replace ("/(d)-(d)/", "\1–\2", $guesttext; = preg_replace ("/(S+)-(S+)/", " \1-\2", $guesttext); // partiklar och prepositioner $guesttext = preg_replace ("/([А-Яа-яA-Za-z]) (li|l|zhe|f|by|b)([^A-Zaa) -яA-Za-z])/", "\1 \2\3", $guesttext); $guesttext = preg_replace ("/(s)([А-Яа-я](1))s/", "\1\2", $guesttext); // A.S. Pushkin $guesttext = preg_replace ("/([A-ZA-Z])([. ](1))([A-ZA- Z])([. ](1))(0,1)([А-ЯА-Z][А-Яа-яA-Za-z]*)/", "\1 \3 , $guesttext) ; // Pushkin A. S. $guesttext = preg_replace ("/([A-Za-Z][A-Za-z]*) ([A-Za-Z])[ . ](1)(0,1)( [A-ZA-Z]).([,)](1))/", "\1 \2. \3.\4", $guesttext); // konvertera adresser till länkar! $guesttext = eregi_replace("([_a-z0-9-]+(.[_a-z0-9-]+)*@+( .+)*(.(2,3)))", "\0", $guesttext); $guesttext = eregi_replace("((ht|f)tp://www.|www.)(+(. +)*(.(2,3))((/|?)*)*)", "http://www.\3", $guesttext); $guesttext = eregi_replace("((ht|f) tp://)(((+(.+)*(.(2,3)))|(((1,3).)(3)((1,3))))((/|? )*)*)", "\0", $guesttext); // skär av för stor information $name=substr($name,0,$name_max_size); $email=substr($email,0, $email_max_size); $guesttext=substr($guesttext,0,$message_max_size); // BBcodes $guesttext = ereg_replace("[b]", " ", $guesttext); $guesttext = ereg_replace("", "", $guesttext); $guesttext = ereg_replace("[i]", " ", $guesttext); $guesttext = ereg_replace("", "", $guesttext); $guesttext = ereg_replace("[u]", " ", $guesttext); $guesttext = ereg_replace("", "", $guesttext); $guesttext = ereg_replace("", " ", $guesttext); $guesttext = ereg_replace("", "", $guesttext); $guesttext = ereg_replace("", " ", $guesttext); $guesttext = ereg_replace("", "", $guesttext); $guesttext = ereg_replace("", " ", $guesttext); $guesttext = ereg_replace("", "", $guesttext); $guesttext = ereg_replace("", " ", $guesttext); $guesttext = ereg_replace("", "", $guesttext); // skicka ett meddelande till min e-post // meddelande $message .="".$date.", ".$time." n"; $message .="Namn: ".$name.", e-post: ".$email."nMessagen"; $message .="".$guesttext."n "; $message .="- ---------rn"; $message .="Meddelande från gästboken"; // headers $headers .="Från: $site_name<$recipient>n"; $headers .="X-Mailer: Pseon's Guestbookn"; $headers .="X-Priority: 1n"; $headers .="Content-Type: text/plain; charset=windows-1251n"; // skicka allt åt helvete! mail($mottagare, $subject, $meddelande, $headers); $msg="$namn:::$e-post:::$datum:::$tid : ::$guesttext "; $lines = file("guestbook.inc.dat"); $fp = fopen("guestbook.inc.dat", "w"); fwrite($fp, "$msgn"); för ($i = 0; $i< count($lines); $i++) { @fwrite($fp, "$lines[$i]"); } fclose($fp); clearstatcache(); } // если не удалось, отсылаем его обратно! else { header("Location: gb.php"); } ?>

Nåväl, nu bananen :) För ett mellanmål vill jag erbjuda dig en uppsättning BB-koder som hjälper dina besökare att något diversifiera budskapen i dina gästböcker :)

» » @lexGästbok

@lexGästbok- det är gratis PHP gästbok skript för webbplatser. Skrivet på PHP-språk, @lexGästbok Lätt att installera på några minuter, även nybörjare kommer att tycka att det är lätt att förstå.

PHP gästbok Ett helt gratis skript - huvudvillkoret: ta inte bort upphovsrätten längst ner på sidan. PHP gästbokär installerat på din server och är helt oberoende av andra webbplatser. Säkerhetskopiera ett meddelande i PHP-gästboken på din begäran, även varje dag. Automatisk installation Alex gästbok: Namnen på tabellerna i databasen skrivs själva.

Fördelar med manuset.

  • Tack vare skinn kan du ändra utseendet @lexGästbok för att passa din webbdesign. (alla skal är giltiga XHTML 1.0 Transitional)
  • I PHP gästbok Ett 20-tal språk är inbyggda.
  • Varje land har sin egen flagga.
  • Stöd för uttryckssymboler: möjligheten att lägga till dina egna uttryckssymboler, ta bort, redigera.
  • Teckenstatistik visas: du kan ställa in det maximala antalet bokstäver i ett meddelande.
  • Intern sökmotor.
  • Möjlighet till utvärdering av besökare. Gör poäng på ett 10-poängssystem.

Språk som stöds

Fullständig översättning.
Franska, engelska, polska, tyska, norska, italienska, holländska, slovakiska, persiska, turkiska.

Partiell översättning. Vissa ord finns fortfarande på engelska.
Spanska, ryska, svenska, tjeckiska, kroatiska, portugisiska, isländska, serbiska, danska.

Idag kommer jag att beskriva den kanske bästa uppgiften för nybörjare av programmeringsspråket PHP - Gästbok. Enligt min mening är den här uppgiften den enklaste, men samtidigt låter den dig lära dig alla huvudfunktioner för att arbeta med PHP och MySQL-databasen. Dessutom är denna uppgift oändligt utbyggbar, vilket gör att du kan finslipa ny teknik.

Beskrivningen och lösningen på detta problem kommer att skrivas här, utan att testa för funktionalitet, så det kanske finns ett stavfel någonstans. Detta gjordes inte på grund av min lättja, utan återigen på grund av ytterligare träning när jag skapade en gästbok av dig. Den presenterade lösningen kommer också att vara lite "snett", men mer om det i slutet av den här artikeln i avsnittet "Oberoende arbete".

Om du inte alls vet hur du arbetar med PHP, rekommenderar jag dig först att läsa artikeln PHP - var ska du börja.

Vi kommer att analysera skapandet av den mest primitiva gästboken, utan design och administration. Med andra ord kommer vi att begränsa oss till att logga in i boken, registrera och lämna meddelanden.
Från själva uppgiften blir det tydligt att vi helt kan begränsa oss till tre PHP-filer för att implementera denna uppgift. Självklart kan registreringsuppgiften delas upp i två: registreringsformuläret och lägga till data i databasen, men vi kommer inte att göra detta. Liknande resonemang gäller för förfarandet för att lämna kommentarer. Således skapar vi tre filer: index.php, registration.php, book.php.

Genom namnen på filerna kan du omedelbart förstå vad de kommer att ansvara för: index.php - inloggningssida, registration.php - registreringssida, book.php - gästbokssida.

Det enklaste i vårt fall är inloggningssidan. Eftersom sidan är ansvarig för att ange ett inloggnings- och lösenordspar måste den innehålla ett formulär för att skicka dessa data till book.php-sidan. Och även en länk till registreringssidan. Vi har:

Logga in i gästboken

Logga in:
Lösenord:

Registrering

Går lite bort från ämnet, för de som inte vet vad koden ovan betyder. Här har vi bar HTML. Nyckeln är taggen form som tar två parametrar handling, som är ansvarig för adressen till sidan som öppnas efter att ha bekräftat datainmatningen, och parametern metod, som svarar på hur formulärdata kommer att skickas till den angivna sidan (se POST och GET i enkla ord). Inuti formulärtaggen anges inmatningsfält (input, select), som måste ha attributet namn. Det är genom värdet av detta attribut som det kommer att vara möjligt att erhålla data som angetts av användaren på den sida som anges i handlingsformulärparametern. Det måste finnas en inmatning med typen i formuläret Skicka in, som i huvudsak är en knapp, klicka på vilken skickar data till åtgärdssidan.

Låt oss fortsätta... Nu måste vi skapa en ny användarregistreringssida. Det är värt att omedelbart tänka på vad vi vill ha. Jag bestämde mig för att för en enkel gästbok skulle det räcka med användare med unika inloggningar, samt att veta adressen till deras webbplats (om det finns en). När vi väl har bestämt vad vi vill veta om användaren kan vi börja designa vår databas.

Gå till phpMyAdmin. Låt oss skapa en databas där med namnet gb. I denna databas kommer vi att skapa en tabell Användare med följande fält:

Inloggning varchar(50) unik //användarinloggning, unikt fältlösenord varchar(150) //lösenord www varchar(255) //webbplatsadress

Och eftersom vi redan har gått in i databasredigeraren kan vi omedelbart tänka på hur vi ska lagra meddelanden. I vårt fall är det ganska lämpligt att veta vem som lämnade meddelandet och när, och själva texten i vårt meddelande. För enkelhetens skull är det också värt att numrera våra meddelanden. Vi har bestämt oss för detta, vilket innebär att vi säkert kan skapa ytterligare en meddelandetabell med följande struktur:

Id int ai(auto_increment) primärnyckel //meddelandenummer, räknare, som i sig kommer att öka meddelandetext //meddelandetext vem varchar(50) //inloggning för den person som lämnade meddelandet när tidsstämpeln är standard(aktuell) //tid för avresa meddelandet enligt nuvarande standarddatum och tid

Vi har sorterat ut databasen. Låt oss nu gå vidare till filen registration.php. Sammanfattningsvis ovan har vi:

Registrering

Logga in:
Lösenord:
Lösenordet igen:
WWW: http://


Till main

Lite om koden. Som du redan har märkt finns PHP här. Jag kommer inte att beskriva formuläret längre, men som vi kan se skickas formulärdata här till samma sida där formuläret finns. Med andra ord, filen registration.php skickar data till sig själv. Ingen förbjuder att göra detta, men du kan inte alltid använda det, eftersom det i hög grad förstör läsbarheten för koden. Men å andra sidan visar detta tydligt PHP-språkets möjligheter. Vår sida är i huvudsak uppdelad i två fall. Det första fallet är när data skickas till sidan av en POST-begäran, det andra fallet är när ingen POST-begäran skickas till sidan. I det andra fallet kommer vi att visa registreringsformuläret, och i det första fallet börjar vi kontrollera de inlämnade uppgifterna. Som du kan se skickas data i form av en associativ array (dvs en array vars index är strängar). Dessutom sammanfaller indexen med namnen på de inmatningsfält som anges i datainlämningsformuläret. De där. om vi skriver

sedan, när vi skickar dessa data med en POST-förfrågan, kommer vi att ha en variabel

$_POST["vasa-peta"]

Det är också värt att notera att vi inte gör några upprepade inloggningskontroller. Denna kontroll kommer att utföras på databasnivå, eftersom inloggningsfältet är markerat som unikt.

Nu det sista. Det återstår bara att göra själva gästboken. En liten diskussion. Eftersom gästboken fungerar med inloggning och lösenord är det första vi måste göra att kontrollera det angivna användarnamnet och lösenordet för tillgänglighet i databasen. Eftersom vi bestämde oss för att lägga till meddelanden i book.php-filen, så borde självklart proceduren för att lägga till ett meddelande följa. Tja, i slutet, en visning av alla meddelanden. (om du lägger till ett meddelande efter att det har visats, kommer det tillagda meddelandet att visas först efter att sidan har laddats om). Vi har:

Gästbok "; ) else ( echo "Ditt meddelande har inte lagts till!


"; } } ?>
"name="login" /> "name="lösenord" />

"; echo "Text: ".$row["mes"]."
"; ) ) mysql_close($länk); ?>

Det är i princip allt. Om koden fungerar till 100 %, bra. Om inte, så råder jag dig att försöka rätta till felen själv. Nu det utlovade avsnittet.

Självständigt arbete
Som nämnts i början är denna lösning "snett". Om du fortfarande inte förstår varför, så ska jag förklara nu. Som du kanske har märkt i filen book.php i formuläret för att lägga till en kommentar finns det flera dolda fält, två av dem är användarnamnet och lösenordet som användaren angett. Inte bra, eller hur? Försök att rätta till denna defekt med hjälp av sessioner (Hur man arbetar med sessioner i PHP).
Försök att svara på frågan om hur funktionerna skiljer sig åt tomt/isset Och gå ut/dö?
Ändra frågan för att välja meddelanden från databasen så att meddelandeförfattarens webbplats visas när meddelanden visas.
Om du märkte det så lagras användarlösenordet i databasen i klartext, och det är inte särskilt bra. Redigera koden så att en hash av användarens lösenord (till exempel MD5 eller SHA1) lagras i databasen.

Skapa en gästbok på sajten

I tidigare artiklar har vi tittat på att skapa ett feedbackformulär på en webbplats. Ett annat alternativ för tvåvägskommunikation med besökare är Gästbok, där besökare lämnar meddelanden direkt på webbplatsens sida. Webbplatsadministratören kan svara på dem, redigera, ta bort osv. Gästbok Trots sina otvivelaktiga fördelar gentemot feedbackformuläret har det en stor nackdel - det skapar bekymmer för administratören. Nu syns alla meddelanden från besökare på sajten och ibland behöver man svara på dem. Dessutom skriver våra gäster inte bara tacksamma recensioner, utan också alla möjliga obscena saker, och de gör detta med särskild iver. Jag skulle döda dessa "författare"! Därför måste gästboken ständigt övervakas och utbildning av huliganer och slackers måste göras. Ett exempel på en gästbok visas i fig. 1:



Figur 1. Ett av gästboksalternativen

Det finns många alternativ för gästböcker, betalda och gratis, på Internet. Ibland ingår en gästbok i listan över tjänster som tillhandahålls av hosting. I det här fallet behöver du bara placera en länk till gästboken på en sida på din webbplats och, om så önskas, konfigurera dess gränssnitt via kontrollpanelen. Ett problem är att när du byter värd kommer du att förlora din gästbok. Så det är bättre att ha en egen, särskilt eftersom det är så enkelt som två att installera det på webbplatsen.

Gästböcker kan byggas med hjälp av databaser eller utan dem. I det senare fallet lagras informationen i en vanlig fil. Om du är en anhängare av enkla lösningar rekommenderar jag det andra alternativet, det vill säga utan att skapa en databas. Jag gillade gästboken utvecklad av Sergei Shestopalov (se hans hemsida "Home Scripts"). Webbplatsen erbjuder också intressanta författarutvecklingar för interaktiv kommunikation med besökare: forum, gästböcker, olika former för kommentarer, skicka meddelanden, samla in statistik och många andra användbara saker. Se till att kolla in den, jag rekommenderar den!

Tänk till exempel på installationen Gästbok version 2.0. Den tillhandahåller följande funktioner:

  • meddelandehantering: radera, redigera, kommentera,
  • installation och allt arbete görs via kontrollpanelen, det vill säga du behöver inte ha kunskap om programmering och andra krångligheter,
  • meddelanden stöder uttryckssymboler, text- och färgformatering,
  • förhandsgranskning av meddelande,
  • det finns ett antispam, anti-hackersystem, blockerar användare via IP, söker efter en angripare via IP,
  • reklamskydd och säkerhet organiseras med captcha (inmatning av förvrängda siffror). Du kan också skapa en "svart lista" över oönskade besökare och en lista med förbjudna ord,
  • helt anpassningsbart gränssnitt och mycket mer.

Gästbok 2.0 Trots sin enkelhet är det ganska tillräckligt för de flesta applikationer. Du kan ladda ner det gratis från motsvarande sida på Sergei Shestopalovs webbplats. Storleken på mappen med filer efter uppackning (namn - bok) cirka 400 KB.

Låt oss börja installera gästboken på din webbplats:

1. Först måste du kontrollera att din värdplan (kontoret där din webbplats är värd) stöder PHP. Om inte, kommer du med största sannolikhet att behöva betala extra för att byta till en annan taxa som stöder PHP.

2. Laddar upp mappen bok till din webbplats, vanligtvis i rotkatalogen, via kontrollpanelen eller via FTP .

3. Vi placerar en hyperlänk till gästboken på den önskade sidan på webbplatsen - http://www.your_site /book/index.php.

4. Det är också lämpligt att kontrollera åtkomsträttigheterna till filer och mappar på din webbplats. Det enklaste sättet att göra detta är genom kontrollpanelen. Bredvid varje mapp och fil finns ikoner som rwx, r-x eller nummer 755, 644, etc. De anger exakt åtkomsträttigheter för webbplatsens administratör och gäster:
r(eller 4) - rätten att läsa data från filen,
w(eller 2) - rätten att ändra innehållet i filen,
x(eller 1) - rätten att köra filen.

Digital kodning används för att förkorta inspelningen. Till exempel motsvarar 7 att skriva rwx (4+2+1), etc. Utan att gå in på detaljer om dessa förkortningar, eftersom de vanligtvis förklaras i manualen för webbplatsens kontrollpanel, kontrollera att dina mappar är inställda på 755 (vilket motsvarar rwx, r-x, r-x) och att dina filer är 644 (rw-, r- -, r--). Vanligtvis är dessa värden inställda som standard och du behöver inte ändra något, men det är bäst att kontrollera. Som de säger, "min granne är min vän, men det är bättre att gömma ister."

Det är allt! Gå till din webbplats, öppna sidan där du placerade en länk till gästboken, följ denna länk och lämna det första meddelandet till din älskade.

Nu några ord om underhåll av gästbok. Administratörens session med gästboken börjar med auktorisering - logga in på kontrollpanelen på http://www.your_site /book/admin/index.php. Inloggning och lösenord för den första inloggningen admin 111.

Därefter kan du ändra ditt lösenord (det är tillrådligt att göra detta) och börja redigera inlägg och svara på dem. Adminpanelens gränssnitt är extremt vänligt och du kan enkelt ta reda på alla funktioner. Alla verktyg är tydliga och dessutom försedda med tips. Till exempel, Fig. 2 visar panelen för att anpassa utseendet på huvudsidan i gästboken och visar listan över tillgängliga paneler:



Fig.2.

Naturligtvis, på exakt samma sätt som beskrivs, kan du installera en mer komplett version Gästbok 3.2 Sergei Shestopalov, som har några ytterligare funktioner: en statistikmodul, möjligheten att kontrollera meddelanden från administratören innan de publiceras på webbplatsen (moderering) och några andra.

Som jag redan sa, på sidorna gästbok Olika oönskade "vänner" gillar att lämna sina meddelanden. De brukar lägga upp länkar till sina webbplatser här och gömmer sig bakom strålande recensioner om din webbplats. I 99% av fallen är det spam. Därför rekommenderar jag att du utesluter att ange webbadressen i meddelanden. För att göra detta, logga in på gästbokens kontrollpanel och på fliken Utseende - Form Avmarkera alternativet "Site" för att förhindra att spammare använder gästboken för att lägga upp länkar till sina webbplatser. Det är bättre att lämna e-post och ICQ, eftersom folk ibland vill få ett konfidentiellt svar, det vill säga utan att skriva i gästboken. När du är klar, glöm inte att klicka på knappen "Spara" längst ner på sidan.

Att ta bort "Site"-objektet hjälper inte alltid mot att täppa till gästboken och det är bäst att kontrollera meddelanden innan du lägger upp dem. Förresten, om du får få meddelanden kan du förenkla gästboken till en vanlig HTML-sida. Detta enklaste alternativ beskrivs i

– gästbokskomponent för Joomla! En enkel och lätthanterlig gästbokskomponent med Captcha, i komponentinställningarna kan du definiera förbjudna ord som inte kommer att visas, du kan också skydda dig mot automatisk publicering av oönskade meddelanden genom att dessutom aktivera meddelandemoderering.

  • För att hantera komponenten och meddelanden måste du logga in via webbplatsens administrativa panel med ditt användarnamn och lösenord.

  • På kontrollpanelen, hitta fliken "Komponenter", håll muspekaren över den och välj den komponent du är intresserad av från rullgardinsmenyn, i detta fall är vi intresserade av gästbokskomponenten "Phoca Gästbok" och eftersom materialet handlar om hur man hanterar meddelanden, klicka på fliken "meddelanden" "

  • I det nya "Meddelanden"-fönstret som öppnas ser du alla meddelanden i gästboken. Opublicerade meddelanden är markerade med en röd cirkel.
    Du kan:
  1. publicera ett opublicerat meddelande genom att klicka på den röda cirkeln;
  2. publicera ett opublicerat meddelande genom att markera rutan bredvid meddelandet och klicka på knappen "Publicera" högst upp;
  3. läs först det opublicerade meddelandet, redigera det vid behov;
  4. skapa ett nytt meddelande själv.

  • För att läsa gästboksmeddelandet, klicka på ämnet för meddelandet. Sidan för meddelanderedigering "Meddelande: [redigera]" öppnas. Om meddelandet inte är skräppost kan du välja "Publicerad" i kolumnen till höger "Publiceringsinställningar" och klicka på knappen "Spara" eller "Spara och stäng".

  • För att skapa ett nytt gästboksmeddelande, klicka på knappen "Skapa" (orange kors). Formen för att skapa meddelanden "Meddelande: [redigera]" öppnas.
  • Fyll i fälten: Ämne och Användarnamn. Se sedan till att välja namnet på gästboken i fältet "Gästbok", skriv in texten i meddelandet, i kolumnen till höger "Publiceringsinställningar", välj "Publicerad" och klicka på "Spara" eller " Spara och stäng”-knappen. Efter detta kommer meddelandet att dyka upp på hemsidan.

Publikationer om ämnet