July 2005
Monthly Archive
Sat 30 Jul 2005
Posted by Article Research under
HostingNo Comments
We generally do not endorese free hosting services. You don’t want the site to be covered with those annoying banner and pop-up ads that the free services burden your site with.
You want something which gives you everything you need for a low fixed cost and offers an efficient control panel.
Unfortunately, a lot of people with web sites are not satisfied with their current hosting service, and are often seeking replacement hosts. It is conceivable that at any given time 20 million or more people are looking for a new web hosting service. In the future, we will have articles on our website that provide reviews and recommendations of hosting services.
Hosting Service must be reliable. One of the biggest problems with webhosts are outages and downtimes in their service. Questions you need to ask: What kind of uptime guarantee do they provide you with? How long have they been in business?
Other questions to ask on choosing a host include – What level of support does the company offer you? When you need help, you may have to wait days to get service.
Ecommerce Web Hosting
Do you plan to sell online? If so, does the web host have shopping carts available? Are they included for free or are they extra? Get the names of the ecommerce shopping carts they provide, and research their capabilities to be able to determine which one is best for you.
Be sure to ask the hosting provider for a list of websites that are hosted on their servers. Enter a few of them into your browser and pay attention to how fast they come up.
How much bandwidth does the web hosting service provide you with every month? If you expect to need more, make sure you can live with the extra charges the hosting provider will levy. If you website traffic explodes, you may be on the hook for large bandwidth overage charges.
Sat 30 Jul 2005
Posted by Article Research under
MySQLNo Comments
If you’ve been using MySQL database to store your important data, it is imperative that you make a backup of your data to prevent any loss of data. This article shows you how to backup and restore data in your MySQL database. This process can also be used if you have to move your data to a new server.
Backing up your database
The quickest and easiest way to backup and restore your database would be to use MySQLDump. If you’ve got shell or telnet access to your server, you can backup MySQL data by issuing the mysqldump command. The syntax for the command is as follows.
mysqldump -u [uname] -p [pass] [dbname] > [backupfile.sql] [uname] – this is your database username [pass]- this is the password for your database [dbname] – the name of your database [backupfile.sql] – the filename for your database backup
To backup your database ‘Customers’ with the username ’sadmin’ and password ‘pass21′ to a file custback.sql, you would issue the command
mysqldump -u sadmin -p pass21 Customers > custback.sql
Issuing this command will backup the database to custback.sql. This file can be copied to a safe location or a backup media and stored. For more information on MySQLDump, you can check out : http://www.mysql.com/doc/en/mysqldump.html
Restoring your database
If you have to re-build your database from scratch, you can easily restore the mysqldump file by issuing the following command. This method will not work if the tables already exist in your database.
mysql – u sadmin -p pass21 Customers < custback.sql
If you need to restore existing databases, you’ll need to use MySQLImport. The syntax for mysqlimport is
mysqlimport [options] database textfile1
To restore your previously created custback.sql dump back to your Customers Database, you’d issue
mysqlimport -u sadmin -p pass21 Customers custback.sql
For more information on MySQLImport, you can check out : http://www.mysql.com/doc/en/mysqlimport.html
Sat 30 Jul 2005
Posted by Article Research under
.NETNo Comments
Navision (former Navision Attain) together with Microsoft Great Plains, Axapta, Solomon, Microsoft CRM and Microsoft RMS are now supported by Microsoft Business Solutions. Navision has various customization options. Today we will describe simple case of using C/ODBC driver. This driver and technology allows you to work with Native or C/SIDE Navision database. Navision is also available on Microsoft SQL Server – in this case you use traditional Microsoft technologies, such as OLEDB or MS SQL Server driver to open ADO.NET connection. Our goal is to help IT departments to support and tune Navision with in-house expertise and skills.
The topic of this article is Navision Attain database access through Webservice, connected to Navision via C/ODBC based Linked Server – the mechanism available in MS SQL Server 2000 and transfer the results to ASP.NET application. Our goal will be ASPX page accessing Navision Customers.
Let’s begin
1. In our case we will use Navision Attain 3.6 with Navision Database Server, Navision Application Server and Navision Client. These components are installed on Windows XP. You also need to install C/ODBC component form Navision Attain CD.
2. Let’s create ODBC DSN for Navision data access. Select Control Panel -> Administrative Tools -> Data Sources (ODBC). Then select System DSN tab and press Add button. We’ll use C/ODBC 32-bit data access driver. We’ll name Data Source Name Navision, Connection leave Local. As the database (Database button) select \Program Files\Navision Attain\Client\database.fdb (demo database). Then click Company button – we’ll use CRONUS demo company. It is important for C/SIDE correct database access to setup proper options for C/ODBC connection. Press Options button and look at the options available – we’ll need Identifiers parameter – it defines identifiers types, which will be transferred to the client application. In order to work correct with MS SQL Server 2000 with C/ODBC source we need to use these type: “a-z,A-Z,0-9,_”. Now DNS is done. Let’s create Linked Server.
3. Open MS SQL Server Enterprise Manager. Open server tree for the server, which you plan to use, for this server open Security folder and Lined Servers. With right click select New Linked Server in context menu. In the dialog box opened in the Provider Name select Microsoft OLE DB Provider for ODBC Drivers. Let’s name our Linked Server NAVISION. In Data Source string enter ODBC DSN name – NAVISION in our case. Linked Server is ready! Let’s select tables list and look at the data from Navision Attain database.
4. Next we need to create small stored procedure for sales data selection. Here is the text of the procedure:
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
GO
CREATE PROCEDURE NavisionCustomers AS
DBCC TRACEON(8765)
SELECT No_, Name, Address, City, Contact FROM OPENQUERY(NAVISION, 'SELECT * FROM Customer')
RETURN
Let’s clarify some points here. TRACEON(8765) directive allows us to work with the data of variable length, returned by C/ODBC driver. Without it we can not select Navision tables fields – we will have these errors:
OLE DB error trace [Non-interface error: Unexpected data length returned for the column: ProviderName='MSDASQL', TableName='[MSDASQL]‘, ColumnName=’Ship_to_Filter’, ExpectedLength=’250′, ReturnedLength=’1′].
Server: Msg 7347, Level 16, State 1, Line 1
OLE DB provider ‘MSDASQL’ returned an unexpected data length for the fixed-length column ‘[MSDASQL].Ship_to_Filter’. The expected data length is 250, while the returned data length is 1.
OPENQUERY command opens linked server and gives it execution request, and returns record set selected. Directives ANSI_NULLS and ANSI_WARNINGS are required – they provide the possibility of the execution for heterogeneous requests. To test the procedure you can give its name in MS SQL Query Analyzer – EXEC NavisionCustomers
5. Now we need to create ASP.NET application. Let’s use free RAD environment ASP.NET WebMatrix. You can get infor and download it at http://asp.net/webmatrix . You need .NET SDK 1.1 installed, before WebMatrix installation.
6. Launch WebMatrix, select XML Web Service creation in the Wizard window. Leave all the parameters default, just change the file name to NavisionItems, class name to NavisionItems, and Namespace as NavDemo. Midify the WebService code as below (change connection string to actual names):
Imports System
Imports System.Web.Services
Imports System.Xml.Serialization
Public Class NavisionItems
Function GetNavisionItems() As System.Data.DataSet
Dim connectionString As String = "server='(local)'; trusted_connection=true; database='Alba'"
Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString)
Dim queryString As String = "EXEC NavisionItems"
Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection
Dim dataAdapter As System.Data.IDbDataAdapter = New System.Data.SqlClient.SqlDataAdapter
dataAdapter.SelectCommand = dbCommand
Dim dataSet As System.Data.DataSet = New System.Data.DataSet
dataAdapter.Fill(dataSet)
Return dataSet
End Function
End Class
7. Now let’s create ASP.NET application which will show the result set, returned by WebService. Create empty ASP.NET page with the wizard WebMatrix. Name it TestNavisionItems.aspx . Place these controls on the page: DataGrid and Button. Then switch to the Code mode and from the menu Tools launch WebService Proxy Generator. In the showing dialog screen specify http://localhost/NavisionItems.asmx as WSDL URL (if you launch webservice on the different host or web server works through different port – change the parameters accordingly). Note – in this time, if you are deploying webservice on the local machine, using WebMatrix web server Cassini, then it must be already running to this moment. Define Namespace as NavDemo and execute code generation. Next define Button handler:
Sub Button1_Click(sender As Object, e As EventArgs)
' Insert page code here
'
Dim wsProxy As New NavDemo.NavisionItems()
DataGrid1.DataSource = wsProxy.GetNavisionItems()
DataGrid1.DataBind()
End Sub
8. Next launch our page, press the button on the for and we are getting Navision Items Navision Items!
Happy customizing, implementing and modifying! If you want us to do the job – give us a call 1-866-528-0577 or 1-630-961-5918! help@albaspectrum.com
|
About The Author
Boris Makushkin is Lead Software Developer in Alba Spectrum Technologies – USA nationwide Microsoft CRM, Microsoft Great Plains customization company, serving Chicago, California, Arizona, Colorado, Texas, Georgia, Florida, Canada, Australia, UK, Russia, Europe and internationally ( http://www.albaspectrum.com ), he is Microsoft CRM SDK, Navision, C#, VB.Net, SQL, Oracle, Unix developer.
BorisM@albaspectrum.com
|
Sat 30 Jul 2005
Posted by Article Research under
PHPNo Comments
What are Regular Expressions?
A regular expression is a pattern that can match various text strings. Using regular expressions you can find (and replace) certain text patterns, for example “all the words that begin with the letter A” or “find only telephone numbers”. Regular expressions are often used in validation classes, because they are a really powerful tool to verify e-mail addresses, telephone numbers, street addresses, zip codes, and more.
In this tutorial I will show you how regular expressions work in PHP, and give you a short introduction on writing your own regular expressions. I will also give you several example regular expressions that are often used.
Regular Expressions in PHP
Using regex (regular expressions) is really easy in PHP, and there are several functions that exist to do regex finding and replacing. Let’s start with a simple regex find.
Have a look at the documentation of the preg_match function (http://php.net/preg_match). As you can see from the documentation, preg_match is used to perform a regular expression. In this case no replacing is done, only a simple find. Copy the code below to give it a try.
<?php
// Example string
$str = "Let's find the stuff <bla>in between</bla> these two previous brackets";
// Let's perform the regex
$do = preg_match("/<bla>(.*)<\/bla>/", $str, $matches);
// Check if regex was successful
if ($do = true) {
// Matched something, show the matched string
echo htmlentities($matches['0']);
// Also how the text in between the tags
echo '<br />' . $matches['1'];
} else {
// No Match
echo "Couldn't find a match";
}
?>
After having run the code, it’s probably a good idea if I do a quick run through the code. Basically, the whole core of the above code is the line that contains the preg_match. The first argument is your regex pattern. This is probably the most important. Later on in this tutorial, I will explain some basic regular expressions, but if you really want to learn regular expression then it’s best if you look on Google for specific regular expression examples.
The second argument is the subject string. I assume that needs no explaining. Finally, the third argument can be optional, but if you want to get the matched text, or the text in between something, it’s a good idea to use it (just like I used it in the example).
The preg_match function stops after it has found the first match. If you want to find ALL matches in a string, you need to use the preg_match_all function (http://www.php.net/preg_match_all). That works pretty much the same, so there is no need to separately explain it.
Now that we’ve had finding, let’s do a find-and-replace, with the preg_replace function (http://www.php.net/preg_replace). The preg_replace function works pretty similar to the preg_match function, but instead there is another argument for the replacement string. Copy the code below, and run it.
<?php
// Example string
$str = "Let's replace the <bla>stuff between</bla> the bla brackets";
// Do the preg replace
$result = preg_replace ("/<bla>(.*)<\/bla>/", "<bla>new stuff</bla>", $str);
echo htmlentities($result);
?>
The result would then be the same string, except it would now say ‘new stuff’ between the bla tags. This is of course just a simple example, and more advanced replacements can be done.
You can also use keys in the replacement string. Say you still want the text between the brackets, and just add something? You use the $1, $2, etc keys for those. For example:
<?php
// Example string
$str = "Let's replace the <bla>stuff between</bla> the bla brackets";
// Do the preg replace
$result = preg_replace ("/<bla>(.*)<\/bla>/", "<bla>new stuff (the old: $1)</bla>", $str);
echo htmlentities($result);
?>
This would then print “Let’s replace the new stuff (the old: stuff between) the bla brackets”. $2 is for the second “catch-all”, $3 for the third, etc.
That’s about it for regular expressions. It seems very difficult, but once you grasp it is extremely easy yet one of the most powerful tools when programming in PHP. I can’t count the number of times regex has saved me from hours of coding difficult text functions.
An Example
What would a good tutorial be without some real examples? Let’s first have a look at a simple e-mail validation function. An e-mail address must start with letters or numbers, then have a @, then a domain, ending with an extension. The regex for that would be something like this: ^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$
Let me quickly explain that regex. Basically, the first part says that it must all be letters or numbers. Then we get the @, and after that there should be letters and/or numbers again (the domain). Finally we check for a period, and then for an extension. The code to use this regex looks like this:
<?php
// Good e-mail
$good = "john@example.com";
// Bad e-mail
$bad = "blabla@blabla";
// Let's check the good e-mail
if (preg_match("/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/", $good)) {
echo "Valid e-mail";
} else {
echo "Invalid e-mail";
}
echo '<br />';
// And check the bad e-mail
if (preg_match("/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/", $bad)) {
echo "Valid e-mail";
} else {
echo "Invalid e-mail";
}
?>
The result of this would be “Valid E-mail. Invalid E-mail”, of course. We have just checked if an e-mail address is valid. If you wrap the above code in a function, you’ve got yourself a e-mail validation function. Keep in mind though that the regex isn’t perfect: after all, it doesn’t check whether the extension is too long, does it? Because I want to keep this tutorial short, I won’t give the full fledged regex, but you can find it easily via Google.
Another Example
Another great example would be a telephone number. Say you want to verify telephone numbers and make sure they were in the correct format. Let’s assume you want the numbers to be in the format of xxx-xxxxxxx. The code would look something like this:
<?php
// Good number
$good = "123-4567890";
// Bad number
$bad = "45-3423423";
// Let's check the good number
if (preg_match("/\d{3}-\d{7}/", $good)) {
echo "Valid number";
} else {
echo "Invalid number";
}
echo '<br />';
// And check the bad number
if (preg_match("/\d{3}-\d{7}/", $bad)) {
echo "Valid number";
} else {
echo "Invalid number";
}
?>
The regex is fairly simple, because we use \d. This basically means “match any digit” with the length behind it. In this example it first looks for 3 digits, then a ‘-’ (hyphen) and finally 7 digits. Works perfectly, and does exactly what we want.
What exactly is possible with Regular Expressions?
Regular expressions are actually one of the most powerful tools in PHP, or any other language for that matter (you can use it in your mod_rewrite rules as well!). There is so much you can do with regex, and we’ve only scratched the surface in this tutorial with some very basic examples.
If you really want to dig into regex I suggest you search on Google for more tutorials, and try to learn the regex syntax. It isn’t easy, and there’s quite a steep learning curve (in my opinion), but the best way to learn is to go through a lot of examples, and try to translate them in plain English. It really helps you learn the syntax.
In the future I will dedicate a complete article to strictly examples, including more advanced ones, without any explanation. But for now, I can only give you links to other tutorials:
The 30 Minute Regex Tutorial (http://www.codeproject.com/dotnet/RegexTutorial.asp)
Regular-Expressions.info (http://www.regular-expressions.info/)
This article was posted on March 28, 2005
Fri 29 Jul 2005
If you are a shareware developer you know that promoting your software can take alot of time and effort. I don’t want to say as much time as writing the software, but it’s close. There are automated tools that can help you promote the the software to hundreds of the various download sites out there. The one I use is PromoSoft from Develab. If you choose to do it manually, I have included a short list of sample sites below. However, if your really serious about promoting your software you probably want to invest in a tool as there are literally hundreds if not thousands software download sites out there. A tool will take most of the the legwork out of the submission process. As an added bonus, each of the sites you submit to will create a link back to your site which ofcourse will improve your link popularity. The other thing you’ll need to do is create a PAD file. PAD stands for Portable Application Description. PAD is an XML fomatted file that describes your software. Most if not all of the sites you submit to will accept a PAD file which save you keying information hundreds of times. These are some of the sites I recently submitted my shareware tool QuidProQuo product to. Anyway, here is the list in the comments below:
Tue 19 Jul 2005
The Problem with Putting an E-Mail Address On Your Site
A contact us page is a useful thing to have. Many sites just provide an e-mail address for contact purposes. However, there are several problems with e-mail:
- If you leave your e-mail address on a website it almost certainly will get picked up by spammers and soon you’ll be getting a flood of unsolicited spam with viagra and cheesy pharmacy ads, virus attachments and the like. Hopefully you’ll have some sort of spam blocker but as always the best defense is prevention.
- When a visitor clicks on your e-mail address, they may or may not launch the appropriate e-mail program. E-Mail hot links only work if you have a client based e-mail program (like MS-Outlook) which works seemlessly with e-mail links. Many times, people prefer to use web based e-mail rather than Outlook and the click links won’t work with web-mail.
- If your browsing the web, its often quicker to enter a message into a browser page than to go to a seperate program or browser page. It’s more seemless for the end-user.
- With a contact us page, you can control where the message goes and what information gets collected. For example, you may want additional marketing data like how they heard about your site, or if its a support question you may want to gather certain pre-requisites like the version of software they are using, etc.
- You may want to log messages into a database, which is much harder to do with e-mail.
Creating the Contact Us Page
The following HTML and PHP script allows you to just that (except the database part. If your really interested in DB let me know and I’ll write a second part to this article).
Here is the HTML part, which is the data collection form. Place the following code in the <body> portion of your contact us page.
<form method=post action="sendmessage.php">
<p>If you would like to contact us, please fill out the form below and press "Send". Enter your message in the space provided below:</p>
<table align="center" border="1" bordercolor="#CCCCCC" cellpadding="10">
<tr><td>
<b>Message:</b>
<dl>
<dd> <p>Message Type: <select name="MessageType" size="1">
<option selected>- - - - - -</option>
<option>Suggestion</option>
<option>Bug Report</option>
<option>Question</option>
<option>Advertising Request</option>
<option>Link Exchange</option>
<option>Other</option>
</select></p>
<p>Message:<br /><textarea name="Message" rows="5" cols="60"></textarea></p>
</dd>
</dl>
<p><strong>Tell us how to get in touch with you:</strong><strong></strong></p><p>
<dl>
<dd>
<table>
<tr>
<td>Name</td>
<td>
<input type="text" size="35" maxlength="256" name="UserName"/></td>
</tr>
<tr>
<td>E-mail</td>
<td>
<input type="text" size="35" maxlength="256" name="UserEmail"/></td>
</tr>
<tr>
<td>Phone</td>
<td>
<input type="text" size="35" maxlength="256" name="UserPhone"/></td>
</tr>
</table>
</dd>
</dl>
<dl>
<dd>
<input type="checkbox" name="ContactRequested" value="ContactRequested"/> Please contact me regarding this matter.</dd>
</dl>
</p>
<p align="right"><input type="submit" value="Send"/> <input type="reset" value="Clear Form"/></p>
</td></tr></table></form>
Now you’ll need to create need to create a PHP page that processes the message (e.g. sendmessage.php) as follows. Again, place this code in the <body section of your page:
<?php
/* Initialize Variables */
$myemail = "webmaster@mysite.com";
$homepage = "http://www.mysite.com"
?>
<p>Thank you <?php echo $UserName ?> for your comments: <br>
<?php echo $Message ?>
<br>
<br>
<?php
if (isset($ContactRequested)) {
echo "You have requested a follow up contact with the following contact information:<br>";
echo "e-Mail: $UserEmail";
echo "<br>Telephone: $UserPhone <br>";
}
?>
<br>
<a href= <?php echo $homepage ?> title="Web MYSITE Home Page">
Return to MYSITE Home Page</a><br>
<?php
$ip = getenv("REMOTE_ADDR");
$todayis = gmdate("l, F j, Y, g:i a") ;
$Comments = stripcslashes($Comments);
$messageis =
"Time = $todayis [GMT] \n" .
"Message From = $UserName \n" .
"Type = $MessageType \n" .
"e-Mail = $UserEmail \n" .
"Telephone = $UserPhone \n" .
"ContactRequested = $ContactRequested \n" .
"Message = $Message";
$messageme = $ip . " " . $messageis;
mail($myemail, "Comments from $UserName", $messageme);
?>
</p>
For a demonstration, you can see how this code works on our own contact us page.
PS. If you like this code sample, please link to our site (http://www.webmastersloom.com). It will be much appreciated. 
PPS. Don’t forget to paste the code into a plain text editor (e.g. notepad) before placing it into your web page otherwise you’ll pick up the extra HTML from this page.
Thu 14 Jul 2005
There are many reasons you might need to move or rename a page on your site. For example you want to:
- Rename a web-page to improve the keyword content of a URL
- Remove a page altogether but redirect to a completely new page
- Consolidate two or more pages into one page.
- Move a page to a new site.
You could just go ahead and delete the old page(s) but you risk losing visitors in doing so. Search engines typically take days, weeks or even months to pick up removal of pages (depending on your search ranking) and thus you risk having site visitors getting the dreaded 404 message instead of attracting them to your site content. Worse yet, other sites which may have been linking to your old page will now be sending traffic to a dead page. The following code is simple and when placed in the old page will allow automatic redirection to the new site page.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>PAGE TITLE TO BE REPLACED</title>
<META HTTP-EQUIV="Refresh"
CONTENT="2; URL=http://NEW_PAGE_URL.HTM">
</head>
<body>
<blockquote>
This page has moved. If your browser doesn't automatically redirect to
its new location in 5 seconds, click <a href="http://NEW_PAGE_URL.HTM">
here</a>.
</blockquote>
</body>
</html>
Simplify replace the “NEW_PAGE_URL.HTM” part with the URL of your page, update the page title and your done. As always, make sure you test your code!
PS. If you like this code sample, please link to our site (http://www.webmastersloom.com). It will be much appreciated. 
Tue 5 Jul 2005
Posted by Administrator under
Reciprocal Linking1 Comment
The Basics
A reciprocal linking program is the quickest and easiest way to get your link popularity off the ground. In fact, this technique is so widely used that there are numerous companies specializing in managing your linking campaign or offering link exchange networks. There is no doubt that reciprocal linking can help your search position and maybe even get you referral traffic from other sites. I have used this technique to successfully boost the ranking of my own sites to #1 position on several key search terms in Google, Yahoo and other major search engines.
A Word of Caution
However, the problem is that many of the so called link exchanges are basically filtered out by the search engine due to the number and quality of those links. When a site carries over a thousand or so links most search engines will treat it as a “link farm” and those links will carry no weight at all. You may get penalized for carrying an excessive number of “low value” links. Worse yet, if you inadvertently link to a site that the search engines consider to be in a “bad neighborhood” they may lump you in the same category and filter you out all together. So the motto of the story is be careful who you link to and focus on quality links over quantity. It’s also important that the links to your site are related to your own web site and that these links have value to your visitors. Only quality links will bring you targeted traffic and increase your search engine rankings.
Tools of the Trade
I prefer link management software over link exchanges because it makes it much easier than maintaining HTML manually on your site and its also much easier to find goods sites and control a quality linking program. Also, there are no monthly fees and I can use the software for any number of my web sites without having to pay extra. The best software I have found for this purpose is Axandra’s Arelis Tool. It is by far the easiest and most efficient link management software on the market. Another great feature of this tool is that it helps you find out who links to your competitors and convince them to link to your site. Another thing to watch out for is linking to sites that are not reciprocating. You’ll find that only 20-40% of the sites you invite to exchange links will actually do so. If you’ve already placed a link to their site you’ll want periodically remove those sites that are not reciprocating. However, keeping track of sites that do or don’t reciprocate is no small task. Because search engine do not index every page on the web you can’t rely on them to determine if a site is reciprocating a link or not. The best way is to use a software tool that spiders through the sites of your link partners to find a reciprocal link and to find the free-loaders that are not linking back. Such utility can be down-loaded through this link: Free Reciprocal Link Checker.
Conclusion
A reciprocal link program is a quick and effective way to increase your link popularity
Focus on quality over quantity
Make your job easier by using automated tools like Axandra’s Arelis Tool that take the sweat out of manually editing HTML and searching for quality link partners
Periodically check to prune out those link free-loaders using Free Reciprocal Link Checker.
Fri 1 Jul 2005
Its generally a good idea to let users of your site bookmark your page. While most browsers support this function through “Favourites”, why not make it easier for you site visitors. You more likely to get repeat visitor if your site is bookmarked.
Here is a simple JavaScript function you can use to create a bookmark.
function addbookmark() {
bookmarkurl="http://www.mysite.com"
bookmarktitle="BookMark Title of My Site"
if (document.all)
window.external.AddFavorite(bookmarkurl,bookmarktitle)
}
Now create a text link which refers to the bookmark function as follows.
<a href="javascript:addbookmark()">Bookmark this Page</a>
Thats it. Feel free to replace the text with a graphic if you prefer.
PS. If you like this code sample, please link to our site (http://www.webmastersloom.com). It will be much appreciated. 
Fri 1 Jul 2005
Posted by Administrator under
PHP ,
Text AdsNo Comments
What most successful web site marketers already know is that that your search position is influenced by two factors. On-site optimization (i.e. site content, keywords, meta tags, navigation,etc.) and off-site optimization (inbound links). There are many different strategies for getting other sites to link to you including reciprocal links, article submissions and the like. However, one of the most effective is the use of text ads.
Just to be clear, not all text ads will help your search position. Ads that use JavaScript (i.e. Google Ads and Overture Ads) are not seen by search engine spiders and thus get ignored. No, what I’m talking about is the tagged ads that include HTML tags like this:
<a href="www.yoursite.com">Visit This Great Site</a>
Most of the text ad networks out there use server site technology such as PHP or ASP to generate these text ads on the fly. Unfortunately, if you participate in one of theses networks you can usually expect to fork out hundreds of dollars a month for the privalege of getting only 20-30 inbound links. Typically you’ll pay for each link. There is a better way. Many web sites have seen dramatic improvement in thier SERP and thousands of inbound links by joining the Free Text Ad Network available from Digital Point. The ad network is a network of site owners that offer ad space to the network. In return, the ads they define are displayed across the entire network. It works like an exchange where members place a bit of PHP code on content pages of thier site which create links to other member of the network. They in turn return the favor.
The best part about this network is you don’t actually have to put any links on your money site or your sales and landing pages. You simply need to create a popular site that gets indexed by Google. You can choose to have your ads point to a completely different site from the one participating in the network. The easiest way to do this is if your have a PHP based bulletin board or blogging site.