In this tutorial I want to explain how to implement a simple launching soon page using PHP and jQuery. What’s a launching soon page? In general it’s a page that informs the visitors of a website under construction about when the website is going to be online and allows them to leave their emails in order to be updated when the website is on-line. A typical launching soon page contains a countdown and a form that collects emails from interested visitors. In this tutorial I implemented a launching soon page like this:

Launching Soon!

Launching Soon!

This page is very simple to modify and customize using just some lines of CSS code. You can also add the logo of your company and all elements you want with some lines of HTML code. Download the source code of this tutorial you can customize and reuse in your web project for free!

A little introduction
How I said this package is ready to use and contains these files:

- index.php: the launching soon page final interface (countdow + form)
- config.php: enables database connection
- insert.php: PHP code to add emails into a database table
- js/jquery-1.3.2.min.js: jQuery framework
- js/countdown.js: the countdown script

1. index.php
index.php is the final interface of your launching soon page. How I said it contains a countdown and a form to allow users to leave their emails.

The countdown script
In order to implement the countdown I used this dynamic countdown script that lets you count down to relative events of a future date/time. This future date, while the same for everyone, occurs differently depending on the time zone they’re in. The result is here and it’s fully customizable changing some lines of CSS code:

The only thing you have to do is to add this line of code in the <head> tag of the page:

<script type=“text/javascript” src=“js/countdown.js”></script>

Then, in the tag <body> add the following lines of code to display the countdown:

<div id=“count_down_container”></div>
<script type=“text/javascript”>
var currentyear = new Date().getFullYear()
var target_date = new cdtime(“count_down_container”, “July 6, “+currentyear+” 0:0:00″)
target_date.displaycountdown(“days”, displayCountDown)
</script>
To set a target date you have to change this line modifying July 6 and the hour 0:0:00 with your target date (for example 25 december):
new cdtime(“count_down_container”, “July 6, “+currentyear+” 0:0:00)
…if your target date is 25 December the previous line becomes:
new cdtime(“count_down_container”, “December 25, “+currentyear+” 0:0:00)
If you want to change the style of the countdown you have to modify the following CSS classes:

.count_down{}
.count_down sup{}

In particular .count_down{} changes the format of the numbers and .count_down sup{} changes the style of the text “days”, “hours”, “minutes”.

jQuery and the input form
Ok, the countdown is ready! Next step: add this line of code to include jQuery in the <head> tag of the page:

<script type=“text/javascript” src=“js/jquery-1.3.2.min.js”> </script>

Now, in the tag <body> add a simple form with an input field:

<form id=“submit_leave_email”>
<input id=“input_leave_email” type=“text” class=“input_bg” value=“Add your e-mail address/>
<button type=“submit” class=“input_button”>Update me</button>
</form>

…and add this layer to display a custom message when an user submit the form:

<div id=“update_success”>E-mail added!>/div>

…the result after the submission is here:

The form with the input field disappears with a nice fade-out effect and a success message appears in its place. Now, in the <head> tag, after the line of code that includes jQuery, add this script to enable ajax functionalities to insert emails added from users into a database table without reload the page:

<script type=“text/javascript”>
$(document).ready(function(){

$(“form#submit_leave_email”).submit(function() {
var input_leave_email = $(‘#input_leave_email’).attr(‘value’);
$.ajax({
type: “POST”,
url: “insert.php”,
data:“input_leave_email=”+ input_leave_email,
success: function(){
$(“#submit_leave_email”).fadeOut();
$(“#update_success”).fadeIn();
}
});
return false;
});
});

</script>

2. insert.php
insert.php contains some lines of PHP code to insert an email address into a database table. In this example I created a table EMAIL with just one attribute “email”. PHP code is very simple:

<?php
if(isset($_POST['input_leave_email'])){
/* Connection to Database */
include(‘config.php’);
/* Remove HTML tag to prevent query injection */
$email = strip_tags($_POST['input_leave_email']);

$sql = ‘INSERT INTO WALL (email) VALUES( “‘.$email.‘”)’;
mysql_query($sql);
echo $email;
} else { echo ‘0′; }
?>

Now, remember to modify your database connection parameters in config.php and upload all files on your testing server. Than load index.php and see the result!

That’s all! Download the source code of this tutorial you can customize and reuse in your web project for free! Leave a comment for your suggestions, thanks!


In this post I want to suggest you some interesting tools and resources for web developers. This list includes a CSS framework to design sitemaps using HTML lists, some interesting JavaScript frameworks, some interesting jQuery plug-in, a PHP face detection script, a tutorial to work with the Twitter API and a tutorial about how to retrieve your Gmail emails using PHP.

1. SlickMap CSS, A Visual Sitemapping Tool for Web Developers
SlickMap CSS is a simple stylesheet for displaying finished sitemaps directly from HTML unordered list navigation. It’s suitable for most web sites – accommodating up to three levels of page navigation and additional utility links – and can easily be customized to meet your own individual needs, branding, or style preferences. The general idea of SlickMap CSS is to streamline the web design process by automating the illustration of sitemaps while at the same time allowing for the predevelopment of functional HTML navigation.

2. WaveMaker 5
WaveMaker gives you an easy and productive way to build Web 2.0 applications. Typical applications include a rapid prototyping and development, a form-driven database apps, a front end “face” for SOA architecture.

3. QuickFlip jQuery Plugin
QuickFlip is a jQuery plugin that uses a CSS trick to cause a div, paragraph or any other piece of HTML markup to flip like a card. With a result similar to the UI animation on the iPhone, this jQuery plugin is easily integrated into your webpage to make any portion appear to flip and show its back.

4. Face detection in pure PHP
Maurice Svay released this interesting face detection script to detect automatically faces in photos with PHP.

5. PHP.JS
PHP.JS is an open source project in which we try to port PHP functions to JavaScript. By including the PHP.JS library in your own projects, you can use your favorite PHP functions client-side. Using PHP.JS may speed up development for PHP developers who are increasingly confronted with client-side technology.

6. jQuery Blend
Blend is a jQuery based animation/effects, progressive enhancement plugin for CSS backgrounds (just 1.4KBs).

7. Twitter API: Simple Twitter Search using PHP
This post illustrates how to implement a simple Twitter search and display search results in a web page with a custom format.

8. Flapjax
Flapjax is a new JavaScript framework designed around the demands of modern, client-based Web applications. Its principal features include: Event-driven, reactive evaluation; An event-stream abstraction for communicating with web services; Interfaces to external web services.

9 Glow
Glow is a JavaScript library which aims to make working with JavaScript and the DOM easier. It tries to do this by abstracting common tasks, hiding cross-browser issues, and providing a set of user interface widgets.

10. Retrieve Your Gmail Emails Using PHP and IMAP
Grabbing emails from your Gmail account using PHP is probably easier than you think. Armed with PHP and its IMAP extension, you can retrieve emails from your Gmail account in no time! Take a look at this interesting post of David Walsh.

Do you have any suggestion? Please leave a comment. Thanks!