Inurl message expected. How Google works

Recently I was working on my Website, and decided I wanted to implement a guestbook. I started to search the Web to find the best guestbook for my Website, but when nobody turned up, I thought ‘Hey I’m a developer, why not create my own?’

It was very easy to create a guestbook - you can do it too. In this tutorial, I'll show you how. I’ll assume that you have already knowledge about the basics of ASP.NET programming, that you know the techniques involved in codebehind, and that you have some XML/XSL skills.

Overview

What do we need in order to create a guestbook? We need two Web forms: one in which the user can enter their name, email address, and comment, and another that’s used to display these comments as they’re signed into the guestbook. Of course we can build this functionality into one Web form, but to have a clean code, I’ll use two Web forms with several codebehind files (I’ll discuss these in more detail in a moment).

We’ll also need a database to hold the information entered via the form. I used a simple XML file (a database) to store the information entered by the user. For the visualization of the XML we’ll use XSL.

So, in summary, we need the following:

  • Two Web forms
  • Codebehind
  • Database

In a guestbook, it’s usually sufficient to store a user’s name, location, email address, Website address, and comment. Of course, you can store more fields, but for our purposes, these are enough. We'll store this data in the XML file, which will look something like this:




Sonu Kapoor
Germany
[email protected]
www.codefinger.de
This guestbook is written by Sonu Kapoor.
I hope you like it. To learn how to create such a guestbook,
read the whole story on my website.


Signing the Guestbook

We’ll allow the user to ‘sign’ our guestbook by entering some information into a simple Web form - in our example this is the guestbook.aspx file. I use the following fields in the Web form:

  • Location
  • Email
  • Website
  • Comment

Here's the code:

<% @Page Language="C#" Debug="true" Src="Guestbook.cs"
Inherits="Guestbook" %>


...
...

ControlToValidate="name"
ErrorMessage="You must enter a value into textbox1"
Display="dynamic">Enter name

ControlToValidate="location" ErrorMessage="You must enter
a value into textbox1" Display="dynamic">
Enter location



columns="50" rows="10" wrap="true" runat="server"/>

ControlToValidate="comment" ErrorMessage="You must enter
a value into textbox1" Display="dynamic">
Enter comment

OnClick="Save_Comment"/>

...
...doing some visualization stuff
...

To avoid confusing you with unnecessary code, I have removed the visualization tags — including table, table header etc. — from this example (though, of course, these are all included in the downloadable code that’s provided at the end of this tutorial). As we only display a simple form with a few fields and buttons, you can’t see any real programming code in this file. This is because all the functionality is hidden in the codebehind.

In the first line of the code above, I set the SRC attribute to let the ASP.NET file know that we are using the codebehind file Guestbook.cs I’ve also set the attribute Inherits with the corresponding classname. This attribute lets the file know which class to inherit.

Next, I’ve implemented the required text fields. Remember that if you want to use the same variables in the codebehind, they need to have the same ID in both files, and they must be declared as public.

In the next section of the code, I used the ASP.NET validator controls. These controls check whether the user has entered a value into the text field, without doing a round-trip to the server. The code is executed on the client side.

Finally, I implemented a submit button with an OnClick event called Save_Comment . This event is used to store the information entered into the XML file by the user. The function of this event is available in Guestbook.cs. I also implemented a reset button — and that’s it! Nothing more has to be done to the Web form. Now, if you run the guestbook.aspx, you should see a Web form that looks like this:

Now we know how to display the Web form, but we haven’t seen the code that handles the event in guestbooks.cs. Let's take a look at that now.

Using System;
using System.Web;
using System.Web.UI;
using System.Xml;

Public class Guestbook: Page
{
// Create the required webcontrols with the same name as
in the guestbook.aspx file
public TextBox name;
public TextBox location;
public TextBox email;
public TextBox website;
public TextBox comment;

Public void Save_Comment(object sender, EventArgs e)
{
// Everything is all right, so let us save the data
into the XML file
SaveXMLData();

// Remove the values ​​of the textboxes
name.Text="";
location.Text="";
website.Text="";
email.Text="";
comment.Text="";
}
}

Private void SaveXMLData()
{
// Load the xml file
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("guestbook.xml"));

//Create a new guest element and add it to the root node
XmlElement parentNode = xmldoc.CreateElement("guest");
xmldoc.DocumentElement.PrependChild(parentNode);

// Create the required nodes
XmlElement nameNode = xmldoc.CreateElement("name");
XmlElement locationNode = xmldoc.CreateElement("location");
XmlElement emailNode = xmldoc.CreateElement("email");
XmlElement websiteNode = xmldoc.CreateElement("website");
XmlElement commentNode = xmldoc.CreateElement("comment");

// retrieve the text
XmlText nameText = xmldoc.CreateTextNode(name.Text);
XmlText locationText = xmldoc.CreateTextNode(location.Text);
XmlText emailText = xmldoc.CreateTextNode(email.Text);
XmlText websiteText = xmldoc.CreateTextNode(website.Text);
XmlText commentText = xmldoc.CreateTextNode(comment.Text);

// append the nodes to the parentNode without the value
parentNode.AppendChild(nameNode);
parentNode.AppendChild(locationNode);
parentNode.AppendChild(emailNode);
parentNode.AppendChild(websiteNode);
parentNode.AppendChild(commentNode);

// save the value of the fields into the nodes
nameNode.AppendChild(nameText);
locationNode.AppendChild(locationText);
emailNode.AppendChild(emailText);
websiteNode.AppendChild(websiteText);
commentNode.AppendChild(commentText);

// Save to the XML file
xmldoc.Save(Server.MapPath("guestbook.xml"));

// Display the user the signed guestbook
Response.Redirect("viewguestbook.aspx");
}
}

Wow! That’s our codebehind file… but what really happens here? You won’t believe it, but the answer is: “not much”!

First, we implement the minimal required namespaces which we need in order to access several important functions. Then I create a new class called Guestbook:

public class Guestbook: Page

Note that it’s this class that’s inherited by the guestbook.aspx file. Then we declare 5 public variables of type textbox. Remember that here, the names have to be identical to those we used when we created the text boxes in guestbook.aspx. Then, as you can see, we use the Save_Comment event, which is fired by the submit button we included in the guestbookpx file. This event is used to save the data.

The Saving Process

The function SaveXMLData() saves the information for us. As we’re using an XML database to store the information, we use the XmlDocument , XmlElement and XmlText classes, which provide all the functions we need.

Next, we create a new XMLDocument class object and load the guestbook.xml file. The required nodes are created with the function CreateElement , and the information entered by the user is retrieved and stored to an object of XmlText . Next, we store the created nodes without any values, using the function AppendChild in conjunction with the main XmlDocument object.

And finally, the values ​​are stored in the nodes we just created, we save all changes to the guestbook.xml file, and we redirect the page to viewguestbook.aspx, where the stored comment is displayed.

Viewing the Guestbook

To view the guestbook, we must created an another Web form:

<% @Page Language="C#" Debug="true" Src="ViewGuestbook.cs"
Inherits="ViewGuestbook" %>

As you see, this Web form doesn’t really do all that much. It simply calls the codebehind file, ViewGuestbook.cs. Let's take a look at this file.

Using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml;
using System.Xml.Xsl;
using System.IO;

Public class ViewGuestbook: Page
{
private void Page_Load(object sender, System.EventArgs e)
{
//Load the XML file
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("guestbook.xml"));

//Load the XSL file
XslTransform xslt = new XslTransform();
xslt.Load(Server.MapPath("guestbook.xsl"));

String xmlQuery="//guestbook";
XmlNodeList nodeList=doc.Document
Element.SelectNodes(xmlQuery);

MemoryStream ms=new MemoryStream();
xslt.Transform(doc, null, ms);
ms.Seek(0, SeekOrigin.Begin);

StreamReader sr = new StreamReader(ms);

//Print out the result
Response.Write(sr.ReadToEnd());
}
}

I’ve created this class to display all comments submitted through the guestbook to our users. Again, the first thing we do is implement the required namespaces, and, as we’re using XSL for the visualization, we have to be sure to include the namespace System.Xml.Xsl .

Then we create a new class called ViewGuestbook , with a private inbuilt function called Page_Load . This function is always called when the page loads, or when the user performs a refresh. Here, the function loads the guestbook.xml file, and then the XslTranform class is used to transform the XML elements into HTML before we load the guestbook.xsl with the help of a XslTransform object.

Next, we create a new object of class XmlNodeList , which will allow us to select the required nodes. We then use the class MemoryStream , available via the namespace System.IO , to create a stream that has memory as a backing store, and use the Transform function to assign the xml data to this memory stream. The Seek function sets the current position to zero.

We then create an object of the class StreamReader , which reads the stream, and print the result with the help of the function ReadToEnd() . This function reads the stream from the current position to the end. If you run viewguestbook.aspx, you should see a Web form like this:

The XSL

As I’ve already mentioned, we use XSL for the transformation of the data from XML to HTML. I’ve assumed that you’re already experienced with XSLT, so I’ll only touch on the important aspects here. I have used an XSL for-each loop to iterate through all the guests in the book, which looks something like this:



And in the loop we call the XSL template name, which looks something like this:



Conclusion

As you see, it’s not very difficult to create a guestbook. Good luck! And don't forget to.

Hello readers website)

In this article we will look at Phoca Guestbook - a guest book component for Joomla sites.

What can we say about this component... It is very simple and easy to administer, it has a sufficient number of settings for posting reviews on your website.

Features of Phoca Guestbook:

  • selecting access rights for users;
  • filtering unwanted words and phrases;
  • blocking IP addresses;
  • limiting the number of printed characters;
  • captcha;
  • modernization of messages (checked by a moderator);
  • appearance of reviews (color, name display, e-mail display and website address).

So let's look at the component.

After installation, Phoca Guestbook does not need global settings.

Control Panel:

  • Posts - all messages left by users;
  • Guestbooks - categories (created guest books);
  • Info - Information and component update.

As you can see, in the picture on the right there is a "Options" button. If you click on it, you can more extensively configure the guest book and the component itself.

Parameter

Meaning

Display Subject In Form

(Yes | Yes (required) | No) show or hide the Object field in the form, set if the Subject field is required

Display Name In Form

(Yes | Yes (required) | No) show or hide the field name in the form, set if the Name field is required

Display Email In Form

(Yes | Yes (required) | No) show or hide the e-mail field in the form, set the e-mail field if required

Display Website In Form

(Yes | Yes (required) | No) show or hide the Website field in the form, set the field if a website is required

Display Content In Form

(Yes | Yes (required) | No) show or hide the contents of the field in the form

Enable Javascript Editor

(Yes | No) Enable or disable JavaScript Editor

Display Path In Javascript Editor

(Yes | No) show or hide JavaScript editor path information

(Hide | Display) Set if the form should be displayed or not.

(Top | Bottom) Select Current Location

Display Required Sign

(Yes | No) Set to display fields that are required

(Yes | No) Set to display messages.

width (in pixels)

height (in pixels)

Set the width of the table (the table in which the form is displayed, in pixels)

Parameter

Meaning

If an unregistered user leaves a message, you can give him a default name. For example: Guest

Username Or Name

(Username | First name) select the name that should be displayed in the Guest Book (Username or real username)

Disable User Check

(No | Yes) User verification (disabling this option is not recommended)

Registered Users Only

(Yes | No) If Yes, then only registered users can add new messages

(Yes | No) If yes, the message will be displayed after admin approval

to send a letter

Parameter

Meaning

Display Name In Post

(Yes | No) show or hide name (username) (guestbook)

Display Email In Post

(Yes | No) show or hide email (guest book)

Display Website In Post

(Yes | No) show or hide the site in (guest book)

Set date format

Set font color

Second Font Color

Set second font color (date font color)

Background Color

Set background color

Setting the border color

Pagination Default Value

Set default value for pagination

Set page numbering. Separated by a comma (,)

Pagination Hide All

(Yes | No) all values ​​will be hidden (pagination)

Parameter

Meaning

Forbidden Word Filter

Set prohibited words that will not be displayed in the interface. Words are separated from each other by a comma (,)

Forbidden Whole Word Filter

Set all prohibited words that will not be displayed in the interface. Words are separated from each other by a comma (,)

Save post with forbidden words

(Yes | No) If yes, then posts that include banned words will be saved in the guestbook (banned words will be hidden if saved)

Add the IPs you want to block. Separate each IP with a comma (,)

Maximum Characters

Set the maximum number of characters they can be stored in the database

Set the maximum number of URLs that can be displayed in a post (0: no links will be shown in posts, -1: all URLs will be shown in posts, e.g. 3: only three links from all URLs will be shown in posts)

Not Allowed URL Identification Words

A set of words that will determine whether URLs are allowed in the message. Separate each word with a comma (,). Example:: / /,. HTM,. ASP. JSP,. PHP, WWW.,. COM,. ORG,.

Enable or disable Captcha protection

Change this parameter only if you will not see the captcha.

Enable Captcha - Users

(All | Not registered) Captcha display option for user groups (whether to show the captcha to registered users)

Standard Captcha Characters

Numbers, lowercase letters, uppercase characters that will be displayed in the standard Captcha image

Math Captcha Characters

Numbers, lowercase letters, uppercase characters that will be displayed in Math Captcha images

TTF Symbols

Numbers, lowercase letters, uppercase characters that will be displayed in TTF Captcha images

TTF Captcha Characters

To display the re-captcha, enter the public code

reCAPTCHA Public Key

Install Public Key recaptcha

Enable Akismet Spam Protection

(No | Yes) Sends all data of the new geustbook entry to Akismet - a spam checking web service

Block Spam (Akismet)

(No | Yes) Block posts that are not verified by Akismet

Install the Akismet API key to be used in Akismet-Spam. Get yours at https://akismet.com/signup/ for free

The main URL of your site. (The URL must include the http:// prefix)

Enable HTML Purifier

(No | Yes) Enable or disable HTML Purifier

Set session suffix (This is a security feature, to change the session name, set a unique suffix, for example: a100b20c3)

Enable Hidden Field

(No | Yes) Enable or disable hidden fields. Some spam bots try to fill in all the fields on the spot; if they fill out this hidden field that a person cannot see, the entry will not be added to the guest book.

(Yes | No) Enable cache.

Enable Detecting Incoming Page

(Yes | No) Enable or disable incoming page detection. This is a security feature. If you enable it, the page from which the guest book post came will be saved and displayed in the interface.

Here we start out with a simple "settings" file, named settings.asp. This file will be included on each page, and will contain the basic settings for this guestbook.

Since the password (logincode) is NOT in the database, you can leave the database in the webroot with a mappath statement to make the install easier. However, the best place for the database is outside of your webroot, in which case you would want to change the database_path string to your full path ("C:\inetpub\database\post.mdb" for example)

There is also an important settings to allow html, or not. Many times folks abuse a guestbook by filling it with links, and other junk. It would be a good idea to disallow html, unless you really need it.

The language setting is just a set of variables for text used within the system, for each language there is a different text that is used. Very easy to add a "new" language to the system.

Details

The login is a simple login check page, which checks the login code entered on the form
with the one stored in the settings.asp file.

" title of your guestbook. pagetitle = " Demo" " language " !} english = en, german = ger, french = fr lang = " en" " admin password logincode = " 1234" " number of entries to show. show_posts = "25" minimum length of post to be allowed. minimum_length = 4" set to "no" for no html, set to "yes" to allow html (not recommended!) allow_html = "no" " leave as is, unless you want to move your database. database_path = Server .MapPath(" post.mdb" )<%Option Explicit %> <% if Request .Form(" mynumber" ) = " " then response .redirect(" login.asp?l=password_blank" ) End If " set variables from form FormPwd = Request .Form(" mynumber" ) FormPwd = replace (FormPwd," "" ," """ ) " run login or return to login page if formpwd = logincode then Session(" LoginID" ) = formpwd else response .redirect(" login.asp?l=incorrect_login_or_password") End if " final redirect response .redirect(" post.asp" ) %>

The login uses session variables to store the login information, so to log off we simply abandon the session. The redirect appends the date to avoid seeing a "cached" login page after being logged out. This is not a security issue, but just for convenience.

<% session.abandon response .redirect(" post.asp?d=" & date ) %>

Now the main code is the post.asp page, this page is the same whether you are logged in as admin or just a guest visiting the page. If you are logeed in you see the same data as a guest, only you have more options available, you can delete posts, or restore deleted posts, or empty the "recycle bin" (where deleted posts are stored until you clear them out) .

As you can see from the code below, we check for the loggedin session right from the start,
then we can use this throughout the rest of the script to display data based on your status as admin or guest.

<% option explicit %> <% LoggedIn = Session(" loginID" )

Once you are logged in you see more options available.

The file is split up into "parts" depending on what querystring is passed.

The section below checks to see if you are logged in and then check so see if
you have attempted to empty the "deleted" items from the database.

" ============Empty Deleted Items from the database============ If LoggedIn<>" " Then if request .querystring(" del" ) = 1 then Set dConn = Server .CreateObject (" ADODB.Connection" ) dConn.Open " & _ database_path mySQL = " DELETE FROM tblpost where active = 2;" dConn.execute(mySQL) dconn.close set dconn = nothing response .redirect(" post.asp" ) end if end if

As you can see from the rest of the main "post" code, different items are displayed or actions performed based on being logged in or not, and if so what querystring value you have passed to the page.

" ============set based on delete or undelete============ If LoggedIn<>" " Then showdeleted = request .querystring(" showdeleted" ) if showdeleted = 1 then active = 2 removetype = 1 delete_text = undelete_text delimage = " undelete.gif" else active = 1 removetype = 2 delete_text = delete_text delimage = " delete.gif " end if else active = 1 end if " ============Delete/Undelete Items from the guestbook display============ remove = request .querystring(" remove" ) if remove = 1 then Set dConn = Server .CreateObject (" ADODB.Connection" ) dConn.Open " PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE="& database_path removetype = request .querystring(" removetype") mySQL = " UPDATE tblPost SET Active = " & removetype & " WHERE ID = " & _ ID & " ;" response .write " updating" dConn.execute(mySQL) dConn.Close set dConn = Nothing response .redirect(" post.asp" ) end if " ============End Delete Section============ Set dataRS = Server .CreateObject ( " ADODB.RecordSet " ) dataSQL = " Select TOP " & show_posts & " message, remote_addr, sysdate, " &_ " systime, id FROM tblPost WHERE active = "&active&_" order by sysdate DESC, systime DESC;""Response.Write dataSQL" response.end Set dConn = Server.CreateObject("ADODB.Connection") dConn.Open" PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE="& database_path dataRS.Open dataSQL, dConn, 1 , 3 recordcount = dataRS.recordcount if recordcount > 0 then data = dataRS.GetRows() " Data is retrieved so close all connections dataRS.Close Set dataRS = Nothing dconn.close set dconn = nothing " Setup for array usage iRecFirst = LBound (data, 2 ) iRecLast = UBound (data, 2 ) end if " ============IF IS A POST BACK============ message = trim (request .form(" message")) if request .form(" ispostback" ) = 1 AND (len (message) > minimum_length) then if allow_html = "no" then message = RemoveHTMLtags(message) else message = PreSubmit2(message) end if strSQL = " tblPost" " Open a recordset Set cRS2 = Server .CreateObject (" ADODB.recordset") Set dConn = Server .CreateObject (" ADODB.Connection" ) dConn.Open " PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE="&_ database_path cRS2.Open strSQL, dConn, 1 ,3 cRS2.AddNew cRS2(" message" ) = message cRS2(" sysdate" ) = date () cRS2(" systime" ) = time () cRS2(" remote_addr" ) = request .ServerVariables(" remote_addr" ) cRS2(" Active" ) = 1 cRS2.Update cRS2.Close Set cRS2 = Nothing dConn.Close Set dConn = Nothing response .redirect(" post.asp" ) end if " ============End POSTBACK Section============ %> <%=pagetitle%> </ title > </ head > <P style=" FONT-WEIGHT: bold" ><%=pagetitle%> <table border=2 bordercolor=" silver" CELLSPACING=0 CELLPADDING=4> <form action=" post.asp" method=" post" name=" form1" id=" form1" > <tr class=" smalltext"> <td><textarea cols=" 50" rows=" 4" name=" message" style=" <span>font-family: Arial, Helvetica, sans-serif;"</span> class="cssborder" title="<%=add_text%>!}" ></ textarea > </ td > <td nowrap><input type=" submit" value="<%=add_text%>" style=" height: 50px;" class=" cssborder" >!}</ td > </ tr > <input type=" hidden" name=" ispostback" value=" 1" > </ form > </ table > <% if recordcount >0 then %> <table border=" 2" cellspacing=" 0" cellpadding=" 4" bordercolor=" silver" width=" 500" > <tr> <th><%= message_text %> </ th > <% If LoggedIn <>" " then %> <th><%= delete_text %> </ th > <% end if %> </ tr > <% " <span>Loop through the records (second dimension of the array)</span> For I = iRecFirst To iRecLast Response .Write " <tr class="smalltext">" & _ " <td colspan="top">" & data(0 , I) & " [" & data(3 , I) & " | " & data(2 , I) & " | " & data(1 , I) & " ]</td>" if LoggedIn<>" " then response .write " <span><td nowrap valign="top" align="center">" </span> response.write" <img src='/assets/" %20&%20delimage%20&%20' loading=lazy loading=lazy></td>" end if Next " I %></ table > <% end if If LoggedIn <>" " Then response .write logoutlink else response .write loginlink end if " close db just in case on error resume next dConn.Close Set dConn = Nothing on error goto 0 %> <p>That is basically it, this is a very simple little guestbook, that should be easy to add to an site that supports ASP and MS Access database connections (No ODBC is necesary).</p> <p><img src='https://i1.wp.com/spinch.net.ua/images/stories/compon/phocagal1.jpg' height="156" width="132" loading=lazy loading=lazy><b>Phoca Guestbook Component</b>- this is an excellent guest book on your website. Like other extensions from the creators of Phoca, this component is made quite professionally and equipped with the necessary parameters. Using Phoca Guestbook, you can create not only a guest book, but also a form for sending messages, a discussion and survey page, pages with suggestions and comments, and other materials that your imagination allows, and all this can be used in parallel.</p> <h2>Features and Benefits</h2> <ul><li>ability to create multiple guest books</li> <li>customizing styles, layout and fields to be filled in</li> <li>selecting the fields that will be shown in the message</li> <li>various types of protection against spam bots</li> <li>possibility of pre-moderation of messages</li> <li>setting the maximum number of characters and prohibiting unwanted words</li> <li>ability to block users by IP</li> <li>notifications about new messages</li> </ul><h2>Installation and control panel</h2> <p>The project is installed in the same way as most extensions, <b>But</b> after the installation is complete, 2 buttons will appear - <b>Install</b> And <b>Upgrade</b>. In case of a new installation, you need to select Install, in case of updating a component - Upgrade. Now you can go to the control panel, which can be found under the path: Components - Phoca Guestbook.</p> <p><img src='https://i1.wp.com/spinch.net.ua/images/stories/compon/phocagal2.JPG' height="108" width="367" loading=lazy loading=lazy></p> <h3>Posts section</h3> <p>All comments are displayed here, which can be viewed and, if necessary, changed and deleted. There is also the option to create a new review.</p> <h3>Guestbooks section</h3> <p>This component has the ability to create several guest books with different topics - surveys, criticism, suggestions, etc. Thus, a separate Gusetbook is created for each topic, to do this you need to click the button <b>Create</b>, and further it is mandatory to indicate the title.</p> <h3>Info</h3> <p>This section contains brief information about the developer, the installed version of the component, and useful links. There is also a large Check Update button that, when clicked, will take you to another page where the latest version is shown ( <i>current version</i>) and installed( <i>your version</i>).</p> <h2><img src='https://i1.wp.com/spinch.net.ua/images/stories/compon/phocagal3.JPG' height="69" width="135" loading=lazy loading=lazy>Configuring the Phoca Guestbook component</h2> <p>You can go to settings only from the control panel ( <b>Control panel</b>), where the Help icon is located <b>Settings</b>. After going to which, a pop-up window will open with tabs: Form, General, Post, Security, Rights.</p> <p><img src='https://i1.wp.com/spinch.net.ua/images/stories/compon/phocagal4.JPG' width="100%" loading=lazy loading=lazy></p> <h4>Form</h4> <ul><li><b>Display Subject|Name|Email|Website|Content| In Form</b>- show or not Subject/name/email/website/message field for sending feedback. If <i>required</i>- Necessarily.</li> <li><span><b>Enable Javascript Editor</b>- whether or not to display the visual editor for the message field</span></li> <li><span><b>Display Path In Javascript Editor</b>- show or not html tags at the bottom of the editor</span></li> <li><span><b>Display Form</b>- show or hide the form (if you hide it, then when you click on the link the form will open)</span></li> <li><span><b>Form Position</b>- position of the form at the top ( <i>Top</i>) or below ( <i>Bottom</i>) messages</span></li> <li><span><b>Display Required Sign</b>- show authorization or not, if it is needed to send messages</span></li> <li><span><b>Display Posts</b>- you can hide messages (for example, when Guestbook is used as a feedback form)</span></li> <li><span><b>Editor Width|Height</b>- width/height of the message field</span></li> <li><b>Table Width</b><span>- width of the table in which the form is displayed</span></li> </ul><h4>General</h4> <ul><li><b>Predefined Name</b>- default name</li> <li><b>Username Or Name</b>- login or name of the registered user will be displayed</li> <li><b>Disable User Check</b>- whether user verification by E-mail is required or not</li> <li><b>Registered Users Only</b>- If <i>Yes</i>, then sending messages is available only to registered users</li> <li><b>Review Item</b>- If <i>Yes</i>, the message will be shown after administrator approval</li> <li><b>Send Email</b>- select the user to whom messages will be sent</li> </ul><h4>Post</h4> <ul><li><b>Display Name|Email|Website In Post</b>- show name/email/website in messages or not</li> <li><b>Date Format</b>- setting the date format</li> <li><b>Font ColorPick Color</b>- choice of font color</li> <li><b>Second Font ColorPick Color</b>- choice of second font color</li> <li><b>Background ColorPick Color</b>- background color selection</li> <li><b>Border ColorPick Color</b>- choice of border color</li> <li><b>Pagination Default Value</b>- number of comments on the page (default)</li> <li><b>Pagination</b>- setting, separated by commas, selecting the number of comments on the page</li> <li><b>Pagination Hide All -</b> If <i>Yes</i>, then the All option will be unavailable when selecting a quantity</li> </ul><h4>Security</h4> <ul><li><b>Forbidden Word Filter</b>- list of prohibited words</li> <li><b>Forbidden Whole Word Filter</b>- entire list of prohibited words</li> <li><b>Save post with forbidden word</b>- whether or not to save messages with prohibited words</li> <li><b>IP Ban</b>- list of blocked IP addresses</li> <li><b>Maximum Characters</b>- maximum number of characters in a message</li> <li><b>Maximum Url</b>- maximum number of links in a message</li> <li><b>Not Allowed URL Identification Words</b>- a list of characters that are prohibited from being used in links ( <i>html, //, www, etc.</i>)</li> <li><b>Enable Captcha</b>- install <i>No</i> or select the type of captcha to be used</li> <li><b>Captcha URL</b>- set the format of the link to the captcha image if it is not shown</li> <li><b>Enable Captcha-Users</b>- who to show the captcha to - everyone or users without registration</li> <li><b>Standard|Math|TTF Captcha Characters</b>- types of symbols for different types of captcha</li> <li><b>reCAPTCHA Public/Private Key</b>- indicate the keys that can be obtained on the website - www.google.com/recaptcha/admin/create</li> <li><b>Enable Akismet Spam Protection</b>- whether or not to use anti-spam protection from Akismet</li> <li><b>Block Spam (Akismet) / Akismet API Key / Akismet URL</b>- if you use this service, you need to fill out the fields</li> <li><b>Specific Items</b>- specify a special ID for the component</li> <li><b>Enable HTML Purifier</b>- whether to use html code cleaning or not</li> <li><b>Session Suffix</b>- setting a special suffix against changing the session name</li> <li><b>Enable Hidden Field</b>- if you enable hidden fields, then only bots will fill them out, not people, so the message will not be sent</li> <li><b>Enable Cache</b>- whether to use caching or not</li> <li><b>Enable Detecting Incoming Page</b>- determine whether or not the page from which the comment was sent</li> </ul><h4>Rights</h4> <p>Here you can define the required access rights for different user groups.</p> <h2>Creating a guest book on the site</h2> <p>In order for a guest book to be displayed on your website, you need to create a menu item for it with the type - Guestbook.</p> <p><img src='https://i0.wp.com/spinch.net.ua/images/stories/compon/phocagal5.JPG' height="159" width="357" loading=lazy loading=lazy></p> <p>Next, in <b>Required parameters</b> select the name of the guest book, which will be available in the menu item, and below in <b>Main parameters</b> You can set whether or not to hide navigation on the comments page.</p> <p>Joomla 1.5 also has a module that allows you to display the latest comments from the component, but it is only available on the official website for those who donate money to the project.</p> <p>This article is sponsored by blasercafe coffee, the best selection of tea and coffee for you and your family.</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> </div> </article> <div class="post-share"> <div>Share with friends or save for yourself:</div> <script src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js"></script> <script src="//yastatic.net/share2/share.js"></script> <div class="ya-share2" data-services="collections,vkontakte,facebook,odnoklassniki,moimir,gplus,viber,whatsapp,skype,telegram"></div> <br> <div id="post-ratings-14689-loading" class="post-ratings-loading"> <img src="https://unitarmy.ru/wp-content/plugins/wp-postratings/images/loading.gif" width="16" height="16" class="post-ratings-image" / loading=lazy loading=lazy>Loading...</div> </div> <div class='yarpp-related'> <div class="related"> <div class="headline">We recommend articles on the topic</div> <div class="items"> <div class="item"> <div class="item__image"> <picture> <source media="(max-width: 479px)" srcset="/wp-content/themes/unitarmy.ru/cache/945f81849_460x250.png"><img src="/uploads/f27531390fdcfb6a49e9f2842139ce0d.jpg" width="240" height="240" alt="One-dimensional arrays of integers description filling array output" / loading=lazy loading=lazy></picture> </div> <div class="item__title"><a href="https://unitarmy.ru/en/windows-8/soobshchenie-odnomernye-massivy-celyh-chisel-odnomernye-massivy-celyh-chisel.html">One-dimensional arrays of integers description filling array output</a></div> </div> <div class="item"> <div class="item__image"> <picture> <source media="(max-width: 479px)" srcset="/wp-content/themes/unitarmy.ru/cache/945f81849_460x250.png"><img src="/uploads/4c6423f3a08643131541efb433a31a17.jpg" width="240" height="240" alt="Inurl message expected. How Google works" / loading=lazy loading=lazy></picture> </div> <div class="item__title"><a href="https://unitarmy.ru/en/brauzery/inurl-message-chaemyi-kak-rabotaet-google.html">Inurl message expected. How Google works</a></div> </div> <div class="item"> <div class="item__image"> <picture> <source media="(max-width: 479px)" srcset="/wp-content/themes/unitarmy.ru/cache/945f81849_460x250.png"><img src="/uploads/c6b92704b92d579f16311fae00624498.jpg" width="240" height="240" alt="How to choose a Wi-Fi router for your home to ensure a good signal" / loading=lazy loading=lazy></picture> </div> <div class="item__title"><a href="https://unitarmy.ru/en/mozilla-firefox/kakoi-marki-luchshe-kupit-router-dlya-doma-kak-vybrat-router-wi-fi-dlya.html">How to choose a Wi-Fi router for your home to ensure a good signal</a></div> </div> </div> </div> </div> </main> <aside class="sidebar"> <div class="amulets sidebar__section"> <div class="headline">Popular articles</div> <ul class="amulets__list"> <li class="amulets__list-item"><a href="https://unitarmy.ru/en/programmnoe-obespechenie/tp-link-tl-wr740n-alternativnaya-proshivka.html">Tp link tl wr740n alternative firmware</a></li> <li class="amulets__list-item"><a href="https://unitarmy.ru/en/brauzery/rezhim-upravleniya-blokirovkoi-dannyh-mehanizm-upravlyaemyh-blokirovok.html">Controlled locking mechanism</a></li> <li class="amulets__list-item"><a href="https://unitarmy.ru/en/bezopasnost/luchshie-smartfony-bq-obzor-smartfona-bq-strike-nedorogoi-no-tochnyi-udar-po.html">BQ Strike smartphone review</a></li> <li class="amulets__list-item"><a href="https://unitarmy.ru/en/windows-7/kak-razmetit-fleshku-na-razdely-sozdanie-udalenie-i-rabota-razdelov.html">Creating, deleting and working flash drive partitions</a></li> <li class="amulets__list-item"><a href="https://unitarmy.ru/en/zvuk-i-karty/kak-izmenit-rekaveri-na-androide-kak-ustanovit-obnovlenie-proshivki-cherez.html">How to install firmware update through recovery</a></li> </ul> <div class="amulets__all"><a href="https://unitarmy.ru/en/">View all articles</a></div> </div> <div class="sidebar__section sidebar__widget" id="recent-posts-3"> <div class="headline">Latest articles:</div> <ul> <li> <a href="https://unitarmy.ru/en/obzory/i-prosyatsya-koni-v-polet-tekst-pesni-friderik-shopen---eshche-on-ne.html">Lyrics of the song Fryderyk Chopin - he has not yet sewn your wedding outfit</a></li> <li> <a href="https://unitarmy.ru/en/zvuk-i-karty/rabota-s-oplatoi-za-soobshcheniya-forum-s-oplatoi-za-soobshcheniya.html">A forum with payment for messages is a type of income that is available to everyone!</a></li> <li> <a href="https://unitarmy.ru/en/bezopasnost/kompyuternye-zhargonizmy-kompyuternyi-sleng-pomozhet-v.html">Computer slang will help in conversation with a computer geek</a></li> <li> <a href="https://unitarmy.ru/en/windows-8-1/ne-skachivaet-do-konca-faily-kak-dokachivat-faily-iz-interneta-pochemu-ne.html">How to download files from the Internet?</a></li> <li> <a href="https://unitarmy.ru/en/windows-8-1/kak-uznat-vse-o-cheloveke-po-familii-kak-uznat-informaciyu-o.html">How to find out information about a person?</a></li> <li> <a href="https://unitarmy.ru/en/programmnoe-obespechenie/planshet-lenovo-ne-vklyuchaetsya-vai-fai-planshet-ne-podklyuchaetsya-k.html">The tablet does not connect to the Internet via wifi</a></li> <li> <a href="https://unitarmy.ru/en/programmnoe-obespechenie/na-kakoe-vremya-blokiruyut-stranicu-v-odnoklassnikah-zablokirovali-odnoklassniki-chto-delat-i-kak-ra.html">Blocked by Odnoklassniki</a></li> <li> <a href="https://unitarmy.ru/en/windows-7/skachat-programmu-dlya-risovaniya-na-kompyutere-kak-risovat-na.html">How to draw on a computer: devices and programs</a></li> <li> <a href="https://unitarmy.ru/en/noutbuki-i-netbuki/zashchishchennyi-smartfon-no-1-x-men-x2-s-podderzhkoi-lte-no-1-m2-zashchishchennyi-smartfon.html">1 X-Men X2 with LTE support</a></li> <li> <a href="https://unitarmy.ru/en/kompyuter-zhelezo/kak-prochitat-v-icq-istoriyu-soobshchenii-messendzher-icq-vosstanovlenie-dannyh.html">ICQ Messenger: recovering user account data Recovering ICQ data after reinstalling Windows</a></li> </ul> </div> <div class="sidebar__section sidebar__widget" id="text-2"> <div class="textwidget"> </div> </div> </aside> </div> <footer class="footer"><nav class="footer__nav nav"><ul> <li class="menu-item type-post_type object-page "><a href="https://unitarmy.ru/en/feedback.html" itemprop="url">Feedback</a></li> <li class="menu-item type-post_type object-page "><a href="https://unitarmy.ru/en/sitemap.xml" itemprop="url">Site Map</a></li> <li class="menu-item type-post_type object-page "><a href="" itemprop="url">Advertising</a> <li class="menu-item type-post_type object-page "><a href="https://unitarmy.ru/en/feedback.html" itemprop="url">About the site</a></li> </ul></nav><div class="footer__inner"><div class="footer__copyright" style="background:none;"> <div class="footer__copyright-title1"></div> <p>© 2024. All rights reserved <br />Basics of working on a personal computer</p> </div><div class="footer__counters"></div><div class="footer__info"><p></p></div></div></footer> </div> </div> <script type="text/javascript" defer src="https://unitarmy.ru/wp-content/script.js"></script> </body> </html><script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>