Published using Google Docs
SMARTY BASIC CONCEPT
Updated automatically every 5 minutes

SMARTY BASIC CONCEPT

INTRODUCTION

This tutorial is moderated from http://www.9lessons.info/2011/09/smarty-template-engine-using-php.html

STEPS

WITHOUT SMARTY

1) Create Directory Structure.

2) Edit Codes.

2.1) index.php

<HTML>

<HEAD>

<TITLE>User Registration using Smarty application</TITLE>

<style type="text/css">

body{

font-family:Arial, Helvetica, sans-serif;

font-size:12px;

color:#333333;

}

</style>

</HEAD>

<BODY >

<form method="post" action="register.php">      

<div>

<div>Name : <input type="text" name="fullname" id="fullname"></div>

<div>User Name : <input type="text" name="user_name" id="user_name"></div>

<div>Password : <input type="text" name="password" id="password"></div>

<div><input type="submit" name="submit" value="submit" ></div>

</div>

</form>

</BODY>

</HTML>

2.2) register.php

<?php

include("config.php");

if(isset($_POST))

{

$query = "INSERT INTO USERS(fullname,user_name,password)   VALUES (' ".mysql_escape_string($_POST['fullname'])."', '".mysql_escape_string($_POST['user_name'])."','".md5($_POST['password'])."')";

$result =  mysql_query($query);

if($result)

{

echo "<script>window.location='index.php?msg=successfully inserted ';</script>";

}

}

?>

2.3) config.php

<?php

$dbHost = "localhost";

$dbUser = "root";

$dbPassword="root";

$dbName="smarter1";

$con = mysql_connect($dbHost,$dbUser,$dbPassword);

$sel = mysql_select_db($dbName,$con) or mysql_error();

?>

3) Prepare Database

3.1) Create a new database “smarter1”.

CREATE DATABASE `smarter1`;



3.2) Create table “users”.

CREATE TABLE USERS (

id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,

fullname VARCHAR( 255 ) NOT NULL ,

user_name VARCHAR( 255 ) NOT NULL ,

password VARCHAR( 255 ) NOT NULL ,

created_on TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

NOT NULL DEFAULT CURRENT_TIMESTAMP

);



4) Test Website.

WITH SMARTY

Download Smart Package from http://www.smarty.net/download and extract into webroot as smarter2.

1) Directory Structure

Add the following files:

But the content will slightly differ from the previous steps.

2) Edit Codes.

2.1) index.php (different from previous codes)

<?php

include("libs/Smarty.class.php");

include("config.php");

$smarty = new Smarty;

$smarty->debugging = true;

$smarty->caching = true;

$smarty->cache_lifetime = 120;

$smarty->assign("title", "User Registration using Smarty application");

$smarty->display('index.tpl');

?>

2.2) register.php (same as previous codes)

<?php

include("config.php");

if(isset($_POST))

{

$query = "INSERT INTO USERS(fullname,user_name,password)   VALUES (' ".mysql_escape_string($_POST['fullname'])."', '".mysql_escape_string($_POST['user_name'])."','".md5($_POST['password'])."')";

$result =  mysql_query($query);

if($result)

{

echo "<script>window.location='index.php?msg=successfully inserted ';</script>";

}

}

?>

2.3) config.php (same as previous codes)

<?php

$dbHost = "localhost";

$dbUser = "root";

$dbPassword="root";

$dbName="smarter1";

$con = mysql_connect($dbHost,$dbUser,$dbPassword);

$sel = mysql_select_db($dbName,$con) or mysql_error();

?>

Add new template files in smarter2/templates/…

2.4) header.tpl

<HTML>

<HEAD>

<TITLE>{$title}</TITLE>

{literal}

<style type="text/css">

body{

font-family:Arial, Helvetica, sans-serif;

font-size:12px;

color:#333333;

}

</style>

{/literal}

</HEAD>

<BODY >

2.5) index.tpl

{include file="header.tpl" title={$title}}  

<form method="post" action="register.php">      

<div>

<div>Name : <input type="text" name="fullname" id="fullname"></div>

<div>User Name : <input type="text" name="user_name" id="user_name"></div>

<div>Password : <input type="text" name="password" id="password"></div>

<div><input type="submit" name="submit" value="submit" ></div>

</div>

</form>

{include file="footer.tpl"}

2.6) footer.tpl

</BODY>

</HTML>

3) Prepare Database

3.1) Create a new database “smarter2”.

CREATE DATABASE `smarter2`;



3.2) Create table “users”.

CREATE TABLE USERS (

id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,

fullname VARCHAR( 255 ) NOT NULL ,

user_name VARCHAR( 255 ) NOT NULL ,

password VARCHAR( 255 ) NOT NULL ,

created_on TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

NOT NULL DEFAULT CURRENT_TIMESTAMP

);



4) Test Website.