Archive for April, 2007

Website Scanners and MyQSL Database Reconstruction With PHP

Saturday, April 28th, 2007

The content found in websites can be collected, filtered, and reconstituted in a MySQL Database with total automation with PHP. When a website is database driven, such as a retail website, the format of the displayed information is predictable and often, the pathway structures are also predictable. The construction of such website scanners for reconstructing web content or web databases in a local website and MySQL Database requires PHP expertise in irregular string pattern matching, string handling, methods of string filtration, and basic MySQL Database connectivity. (more…)

Validating Forms With PHP And AJAX

Monday, April 23rd, 2007

Using AJAX Programming and PHP Programming together, you can perform advanced client-side form validation. AJAX code can communicate with the PHP server without reloading the web page as a standard web submission. AJAX can send the data from each form field to the PHP server for advanced form field validation, cleansing, and comparisons. The PHP server can also utilize a MySQL database to extend the validation and form field data testing process.

Login and simple signup forms typically have a User Name field, a Password field, a Submit Button and sometimes a graphic blocker to prevent spambots. Each of these objects and data types can be tested and verified before login is completed. The User Name and Password can be tested for illegal characters, minimum length, maximum length, and their presence in a MySQL database. The Submit button can be disabled until other validation requirements have been met. The data entered into graphic blocker fields can be checked for behavioral inconsistencies and misuse.

When completing an Online form, such as a New Patient Questionnaire, the user can be helpfully guided toward successful completion and finally toward successful submission. As each field is completed and blurred, AJAX can retrieve PHP Validation results in the form of intelligent messaging to guide the user toward efficient field corrections. Labels, Fields, Menus and other form objects can change color to focus attention to invalid field data or incomplete fields.

The process is rather simple, even if the development of the AJAX code or PHP code is no so straight forward for non-programmers. As each form field or form object is blurred, a trigger sends the object data or associated data sets through an AJAX connector to the PHP server. The PHP server performs all the necessary validation and comparison processes based on the variable name, the variable value, and additional variables and values sent by the AJAX code to the PHP Code. The PHP Script sends the resulting data back to the AJAX connector, which receives the results. Using innerHTML and other Javascript code, the form can be manipulated to display appropriate colors, change the form data, and indicate to the user what data must be modified in which form objects for specified reasons or benefits.

Link Relevance In PHP Web Site Design

Wednesday, April 18th, 2007

If your PHP Web Site is intended to drive traffic and SEO is important, then link relevance is critical to your PHP Web Site structure. Search engines learn about your site be evaluating many site aspects, including your link structure and how relevant the links are to the targets they point at. Both the content of the link as well as the code that structures the link require attention. Once designed and deployed efficiently, search engines will better understand your site, associate your pages with the correct key words, and display you more efficiently to their users.

The linked content is where the focus lies, not so much the text or content around the link. Have you ever seen links that simply say, “Click Here” and that’s it? That text tells the search engine that the link views the target page or site as having the subject of “click here” instead of the actual subject. If this link pointed either internally or externally to a page that was actually about Chicken Feed Formulas, there is a total disconnect.

A variant of the above error is linking with text that contains subject skewing text. If the the text in the link above were “Click Here For Chicken Feed Formulas it would be more accurate, but stil not yet optimized. Search engines will view this link as including the keywords “Click,” “Here,” and “For” and they aren’t good keywords. “For” would likely be ignored by search engines, and you’d think they’d ignore such old school words as Click and Here.

Rather than hope the Good SEO Fairy looks kindly on such lazy errors and saves your rank, it’s easy to simply structure links correctly while doing your Web Site Programming. Users can read the text whether it’s in the link or not, and will understand what they are supposed to do… click the link. Keep random text out of the link and activate only the pertinent keywords. Structure the link well to match the target page or site content. In the example below, the appropriate keywords are activated, as well as titled, but the directions are outside the active area. Search engines can now interpret the link correctly and your links become more relevant to the material they are pointing to.

Click Here For Chicken Feed Formulas

Persistent attention to link structure and content is vital to a successful SEO campaign. There is usually more than one way to describe the target content, as well as more than one keyword or key phrase to optimize for. The target material may be about Chicken Feed Formulas, How To Mix Chicken Feed, and How To Feed Chickens. That gives us at least three key phrases to optimize for, as well as there combinations of keywords. Create multiple links in your page using variation of the keywords and phrase, all linking to the same target. This gives the search engine more indication of the intended target material, and improves your internal or external link count and structural complexity.

If you have questions about SEO and PHP Programming, contact The PHP Kemist or comment below.

7 Crucial Steps Toward Maximizing Your Shopping Cart’s Conversion Rate

Wednesday, April 18th, 2007

When most people think about converting a higher percentage of site visitors to paying customers, they usually focus on improving sales copy or testing optimal price points. These elements are very important, of course. But the most overlooked conversion-point element is abandoned shopping carts.

Studies indicate that 25% to 75% of shoppers abandon the checkout process before the sale is complete. Even when you have all the main sales elements orchestrated into a finely tuned symphony, you can still hit the sour notes of lost profits when customers ditch their shopping carts.

Of course, you’ll never convert 100%. But the difference between 25 and 75% is huge! And the good news is, chances are, you have room for improvement which can be converted into higher profits almost immediately. So, here are the 7 crucial steps you can take right now toward putting your shopping cart system in harmony with the rest of your well-orchestrated sales system.

1. Offer alternative ways to buy.

Even after more than a decade of online shopping, many people are still uncomfortable using their credit cards online. Therefore you should make sure your shopping cart offers them the option to purchase by phone, fax, and mail (offering PayPal as an option doesn’t hurt either).

A phone number is especially important. In fact, it’s a good idea to use a separate phone number just for your shopping cart. That way you can track how many of your customers are still more comfortable talking to a “real person” prior to making a purchase.

A mailing address pointing to a physical location also reassures your customer that you’re a legitimate business. True; most customers will either email or call, rather than write—but the physical address offers an important level of credibility and reassurance. The more contact info you can offer, the safer your customer tends to feel.

2. Use 3rd party trust indicators.

Many shopping carts are abandoned simply due to customer paranoia. People worry that you’ll sell their private information or steal their credit card number or even their identity.

By prominently displaying one or more of the so-called trust badges offered by companies like Comodo, TrustE, VeriSign, Thawte, ScanAlert’s Hacker Safe, or Trust Guard, you can often ease customer concerns and thereby significantly improve conversion rates.

Another way to establish trust with your customers is to display a Better Business Bureau Reliability and Privacy Seal. In fact, even displaying the familiar logos of credit cards you accept tends to put customers at ease and make them more likely to purchase. They subconsciously assume that if the image of a well-known credit card is on your site, that your merchant status has been approved by them and you are therefore more trustworthy.

Trust images such as these work well assuming, of course, that you’re actually authorized to use them.
3. Strategically integrate your own trust indicators.

Your contact info, privacy policy, warranty and satisfaction guarantee should become integrated components of your sales process. Allow the customer who wants to know this information to access it quickly and easily. Place it in obvious and relevant locations along the sales path.

Access to these internal trust indicators should literally be synchronized with the steps in your shopping cart. If the customer just added a product, make sure your warranty and guarantee are readily accessible. If they’re about to give you their email address, your privacy policy should be on hand. When it’s time to enter their credit card information, make sure your contact info and third party trust indicators are prominently displayed.
4. Eliminate unnecessary steps.

Each step in the shopping cart is another opportunity for the customer to bail. So, be sure to eliminate unnecessary steps. Don’t force your customer to log in or register before they can add items to their shopping cart. Save whatever customer information they do enter so if they accidentally close their browser or have to leave and come back later, their information is there waiting for them when they return.

Don’t force them to enter both their shipping and billing information if it’s the same. Give them a little checkbox that says My shipping and billing address are the same.

Your objective should be to remove as much friction as possible so the order process flows like warm chocolate off a hot spoon. We call this greasing the chute. Do everything possible to eliminate unnecessary steps within your check out process. Make sure every step makes sense to the customer, never force them to enter the same data twice, and never ask for information you don’t need.
5. Use progress indicators, pictures, and links to product descriptions.

Let you customers know where they are in the checkout process by using a progress indicator. For example, Step 2 of 4: Enter Billing Information. Give each step a clear description so customers know what’s expected of them–and always provide a way to go back to any of the steps and edit their information. Save the information they enter at each step so they never have to enter the same data twice, no matter how many times they go back and forth between steps.

Likewise, make sure they can easily edit any part of the shopping cart. They should be able to add or remove products, change quantities or alter their selection of various product features (such as size or color).

Equally important, they should be able to quickly access clear descriptions and images of the products in their shopping cart. Provide the appropriate links right there in the shopping cart. Don’t force customers to use the back button or open a new browser. It’s common for them to compare the items in their shopping cart with other items on your site or on other sites–or simply check to make sure they’re ordering the right product. If they can easily access the price (including shipping), images and features of the items in their cart, they’re more likely to feel secure in their decision to proceed and complete the sale.
6. Collect email addresses first, so you can follow up later.

One of the most surprisingly effective ways to increase overall sales is to quickly follow up via email with someone who has just abandoned their shopping cart.

Start by thanking them for visiting your site. Then let them know that you noticed they didn’t complete their order, and politely ask if there’s anything you can do to assist them. Provide a link back to their shopping cart containing the products and contact info they’ve entered so they can easily complete their purchase. Be sure to include your phone number and other contact info in the email.

You will likely be impressed by the number of people who actually respond to an email like this and complete the purchase once you’ve satisfied their objections via phone or email.
7. Test and track!

As is the case with your sales copy, every aspect of your shopping cart can also be tested. Colors, fonts, images, sales copy, number and placement of trust badges: it’s all up for testing. Sometimes the smallest changes can impact conversion rates significantly. Be sure to track each page so you can see what the drop-off rate is at each step in your check out process. This will help you zero-in on problem areas that need to be addressed.

Such testing might involve simple A/B split comparisons or more sophisticated multivariate testing. A/B split means rotating two (or more) slightly different versions of a page that test a single element to see which converts better. Multivariate testing involves testing multiple elements all at once. It’s more complicated, but can get the job done quicker if you have enough traffic with tracking systems in place to compare the data elements being tested. Vertster and Optimost both offer excellent split and multivariate testing packages.

By the way, past testing has revealed that calling your shopping cart anything else besides a shopping cart has actually been shown to decrease sales.
Summary: Put the customer in control

Make the customer feel like they are the one in control. Be sure to clearly label and prominently display links and buttons that allow them to view and update and change their minds as often as they desire. Let them see how many items you have in stock and give them access to view the shipping and sales tax costs as well as estimated delivery date early in the process.

And, of course, your checkout button should be falling-off-a-log easy to find!

The idea is to give them all of the info they want, when they want it. Let them plod through the process at their own pace and be indecisive procrastinators when they need to be—but always present a friendly shopping cart experience. The fact is that people like to buy but they hate to be sold. They want feel it’s their idea and that the purchase is being made on their terms—and they often rile when forced into a complicated, cookie cutter, hurry-up system that is some tech-guy’s idea of how it should be.

Your goal is to make their checkout process as intuitive, flexible, and pleasant as possible. And giving your customers a high level of control will not only increase your online shopping cart’s conversion rate but will also increase your return-customer ratios.

Remember—small improvements lead to BIG $$ Gains

Like I said, your shopping cart will never reach a 100% conversion. But for most companies who are experiencing anything like 50-75% abandonment rates, improving it to 25% is a big pile of found money! …and cause for breaking out the champagne!

Here’s to keeping you in the bubbly,

Stephen Mahaney - President
Planet Ocean Communications

Using mime_content_type() In PHP Programming

Wednesday, April 18th, 2007

As discussed in Modifying Image Uploads With PHP Programming and PHP Programming And MIME-Types the MIME-Type of a file is often a valuable piece of information. Simply knowing the difference between a JPEGand GIF file type changes the way a PHP Programmer codes an image handler script. The difference between “text/plain” and “application/octet-stream” is significant. The files handed to the PHP Program, or uploaded from a PHP File Upload Web Page, may be deceptive by file name alone, or may lack a file name extensions altogether.

mb_preferred_mime_name() performs the same result set as the mime_content_type() command above. When handling images, using image_type_to_mime_type() is another valuable option. Which command or set of commands the PHP Programmer selects is based on experience, preference, and the conditions of the script being programmed. Environments such as working with email may require using the iconv_mime_decode() command instead of the image_type_to_mime_type() or hw_api_content() commands.

Using abs In PHP Programming

Wednesday, April 18th, 2007

When the result of your mathematical PHP calculations results in a value that must reflect a net change as an absolute value, the abs command is used. PHP interprets the result of the value inside the () after the abs as a numeric result and simply converts negative values to positive, and ignores positive values. abs(-5) results in 5. abs(5+1-7) results in 7, not -7. If the calculation returns a floating value, the result will also be a floating value.

The PHP commands gmp_abs() and variant_abs() operate the same way as abs() by returning the absolute value. There are other ways to use PHP to calculate the absolute value of the result of a mathematical calculation. There are situations where you should test multiple values for their type and whether they are negative or positive, before starting your calculations. Other situations may require testing the negative or positive status of the value for a subsequent command set, then convert to the absolute value for storage or another subsequent command set.

Use CRON To Schedule Recurring Web Site PHP Progams

Sunday, April 15th, 2007

If your PHP web site uses PHP Programs that should run periodically on a schedule, you should use CRON in addition to PHP. PHP Programs can be triggered to run from the command line interface (CLI). CRON is the schedule manager for scripts and tasks that need to be triggered at specific times and on recurring frequencies. Simply wire your CRON to trigger a CLI command to trigger the appropriate PHP Program. You can also rewrite the PHP Program to work without input or output so CRON merely triggers the PHP Program and there is no data to be handled. Else, have your PHP Program acquire and write necessary data from and to a MySQL Database.

Payment systems manage the depositing or money into an account on a varied schedule. Some payments are single events that happen immediately.  Single payments may be broken into multiple payments through time, like a car payment or other lease style payment program. Membership systems may be billed daily, weekly, monthly, bi-monthly, yearly, etc. This is where the management of recurring operations requires a MySQL Database. Not everyone in a PHP Membership Website will sign up on the same day, and billing operations may have to run everyday with a filter limiting deductions only from applicable accounts.

Trigger a PHP Program and let the PHP Program connect to the MySQL Database to search for filtered MySQL records based on whatever PHP needs to be performed at that time. PHP Programs can negotiate and complete whatever recurring tasks are slated for that cycle, and tag them as complete until the following cycle recurs for those MySQL records.


Need a web and database programmer? Contact The PHP Kemist

eCommerce Web Site Design | PHP Web Programmers | Website Development & Search Engine Optimization
Network Security Programmers | Shopping Carts For eCommerce | Internet & Search Engine Marketing
Salt Lake City Utah Website Design | Bay Area California Website Design | San Jose California Website Design