<?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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>logon2 Blog</title>
	
	<link>http://www.logon2.com.au/blog</link>
	<description>Better use of the web for everybody</description>
	<pubDate>Thu, 21 Jan 2010 13:31:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/logon2" /><feedburner:info uri="logon2" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><feedburner:emailServiceId>logon2</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Nicer Footer Navigation with pseudo-selectors</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/mtjLbPnmx1k/</link>
		<comments>http://www.logon2.com.au/blog/archive/web-design/nicer-footer-navigation-with-pseudo-selectors/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 13:31:46 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[Web Design]]></category>

		<category><![CDATA[accessibility]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[first-child]]></category>

		<category><![CDATA[navigation]]></category>

		<category><![CDATA[pseudo-selectors]]></category>

		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=141</guid>
		<description><![CDATA[A common website design feature is the inclusion of navigation links (top level or otherwise) in the footer. Often, links are separated by a hyphen ( - ) or a pipe ( &#124; ). It&#8217;s very easy to enter these separators in the markup, like so:

&#60;a href=&#34;/&#34;&#62;Home&#60;/a&#62; &#124;
&#60;a href=&#34;/about/&#34;&#62;About&#60;/a&#62; &#124;
&#60;a href=&#34;/contact/&#34;&#62;Contact&#60;/a&#62;

I guess it&#8217;s OK to [...]]]></description>
			<content:encoded><![CDATA[<p>A common website design feature is the inclusion of navigation links (top level or otherwise) in the footer. Often, links are separated by a hyphen ( - ) or a pipe ( | ). It&#8217;s very easy to enter these separators in the markup, like so:</p>

<div class="wp_syntax"><div class="code"><pre class="xhtml" style="font-family:monospace;">&lt;a href=&quot;/&quot;&gt;Home&lt;/a&gt; |
&lt;a href=&quot;/about/&quot;&gt;About&lt;/a&gt; |
&lt;a href=&quot;/contact/&quot;&gt;Contact&lt;/a&gt;</pre></div></div>

<p>I guess it&#8217;s OK to do that, but it&#8217;s not really great practice because the pipes ( | ) are not actually part of the content and are only meant for presentation, so they shouldn&#8217;t really be part of the HTML. Another problem with this is that it&#8217;s inflexible. What if we want more space between the pipes and the links? Do we enter a bunch of &#8220;&amp;nbsp;&#8221;s? That&#8217;s ugly<a href="#note-1">^</a>.</p>
<p>We can use the CSS border property to add the separators for us by adding a left-border to each of the links.</p>
<p>&#8220;<em>But what about the first link?</em>&#8220;</p>
<p>The answer is the<strong> :first-child</strong> CSS pseudo-selector. It allows us to define CSS properties to the first element of its kind within a container. So in this instance, we can apply no border to the first child. Here&#8217;s how the lot would look:</p>

<div class="wp_syntax"><div class="code"><pre class="xhtml" style="font-family:monospace;">&lt;ul id=&quot;footer&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;/&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;/about/&quot;&gt;About&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;/contact/&quot;&gt;Contact&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">ul<span style="color: #cc00cc;">#footer</span> li <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">inline</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* so they display horizontally */</span>
    <span style="color: #000000; font-weight: bold;">border-left</span><span style="color: #00AA00;">:</span><span style="color: #933;">1px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#000000</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* our 'pipe' */</span>
    <span style="color: #000000; font-weight: bold;">padding-left</span><span style="color: #00AA00;">:</span><span style="color: #933;">1em</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">padding-right</span><span style="color: #00AA00;">:</span><span style="color: #933;">1em</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/* here it is, the first-child pseudo-selector */</span>
ul<span style="color: #cc00cc;">#footer</span> li<span style="color: #3333ff;">:first-child </span><span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* no 'pipe' before the first element */</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>It requires a bit more coding initially but it&#8217;s more elegant because it separates concerns and it&#8217;s also more accessible for screen readers and our friendly neighbourhood search engines<a href="#note-2">*</a>.</p>
<p style="font-size:x-small">
<a name="note-1">^</a> I know, this very site doesn&#8217;t follow this site doesn&#8217;t follow these practices. I&#8217;m a hypocrite!<br />
<a name="note-2">*</a> FACT</p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/" title="Introducing the Lovely Caption Maker">Introducing the Lovely Caption Maker</a></li><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/accessible-valid-dropdown-menu-or-popup-menu-using-css-and-semantic-html/" title="Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML">Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/pngs-have-different-colours-in-different-browsers/" title="PNGs Have Different Colours in Different Browsers?">PNGs Have Different Colours in Different Browsers?</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/" title="Clean URLs Using Apache&#8217;s mod_rewrite and PHP - Beginner&#8217;s Tutorial">Clean URLs Using Apache&#8217;s mod_rewrite and PHP - Beginner&#8217;s Tutorial</a></li><li><a href="http://www.logon2.com.au/blog/archive/tips/your-site-need-fresh-content-regularly/" title="Does Your Site Need Fresh Content, Regularly?">Does Your Site Need Fresh Content, Regularly?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/web-design/nicer-footer-navigation-with-pseudo-selectors/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/web-design/nicer-footer-navigation-with-pseudo-selectors/</feedburner:origLink></item>
		<item>
		<title>PHP - No such file or directory in Unknown on line 0 Error</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/M_g0JvuWkEk/</link>
		<comments>http://www.logon2.com.au/blog/archive/troubleshooting/php-no-such-file-or-directory-in-unknown-on-line-0-error/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 02:31:02 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Troubleshooting]]></category>

		<category><![CDATA[error]]></category>

		<category><![CDATA[fatal]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[unknown]]></category>

		<category><![CDATA[warning]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=138</guid>
		<description><![CDATA[Ran XAMPP, tried to access the development virtual host for Kids On The Rise ( http://localhost:99 ) and got this:
Warning: Unknown([PATH HERE]): failed to open stream: No such file or directory in Unknown on line 0
Some other Fatal error came up but I forgot to copy it, sorry.
The error message is unhelpful but it was [...]]]></description>
			<content:encoded><![CDATA[<p>Ran XAMPP, tried to access the development virtual host for Kids On The Rise ( http://localhost:99 ) and got this:</p>
<pre>Warning: Unknown([PATH HERE]): failed to open stream: No such file or directory in Unknown on line 0</pre>
<p>Some other <b>Fatal</b> error came up but I forgot to copy it, sorry.</p>
<p>The error message is unhelpful but it was pretty easy to fix. I just deleted the .htaccess file from the root and tested. It worked! After restoring a backup of the .htaccess file everything worked. Hooray!</p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/check-if-headers-have-already-been-sent-in-php/" title="Check if Headers Have Already Been Sent in PHP">Check if Headers Have Already Been Sent in PHP</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/" title="Clean URLs Using Apache&#8217;s mod_rewrite and PHP - Beginner&#8217;s Tutorial">Clean URLs Using Apache&#8217;s mod_rewrite and PHP - Beginner&#8217;s Tutorial</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/extract-get-variables-from-url-string-to-array-php-function/" title="Extract GET Variables from URL String to Array - PHP Function">Extract GET Variables from URL String to Array - PHP Function</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/troubleshooting/php-no-such-file-or-directory-in-unknown-on-line-0-error/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/troubleshooting/php-no-such-file-or-directory-in-unknown-on-line-0-error/</feedburner:origLink></item>
		<item>
		<title>New Site - Barrabool Rural Protection Group</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/uokRMp_iBcM/</link>
		<comments>http://www.logon2.com.au/blog/archive/websites/new-site-barrabool-rural-protection-group/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 04:55:57 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[Clients]]></category>

		<category><![CDATA[Websites]]></category>

		<category><![CDATA[blog]]></category>

		<category><![CDATA[portfolio]]></category>

		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=131</guid>
		<description><![CDATA[The Barrabool Rural Protection Group needed a website to share news and information quickly and efficiently. They now have a blog set up, allowing them to post news, add pages, engage in discussion and automatically send new content to subscribers.

The turnaround time for Barrabool Rural Protection Group&#8217;s blog was 42 hours including domain registration and [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.brpg.com.au/">Barrabool Rural Protection Group </a>needed a website to share news and information quickly and efficiently. They now have a blog set up, allowing them to post news, add pages, engage in discussion and automatically send new content to subscribers.</p>
<p style="text-align: center;"><a href="http://www.logon2.com.au/blog/wp-content/fireshot-capture-002-barrabool-rural-protection-group-www_brpg_com_au.png"><img class="aligncenter size-medium wp-image-132" title="Barrabool Rural Protection Group" src="http://www.logon2.com.au/blog/wp-content/fireshot-capture-002-barrabool-rural-protection-group-www_brpg_com_au-300x259.png" alt="Barrabool Rural Protection Group" width="300" height="259" /></a></p>
<p style="text-align: left;">The turnaround time for Barrabool Rural Protection Group&#8217;s blog was 42 hours including domain registration and discussion.</p>
<p style="text-align: left;">Have a look at <a href="http://www.brpg.com.au/">Barrabool Rural Protection Group</a>&#8217;s site to learn more about how they want to protect McAdam Park from over development as a result of a new <a href="http://www.brpg.com.au/fact-sheet">motorbike / motorcross track.</a></p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/clients/launched-artist-guysel/" title="Launched: Artist Guysel">Launched: Artist Guysel</a></li><li><a href="http://www.logon2.com.au/blog/archive/clients/fishing-charters-victoria-bass-strait-portland/" title="Launched: Adamas Fishing Charters - Sports Fishing in Bass Strait">Launched: Adamas Fishing Charters - Sports Fishing in Bass Strait</a></li><li><a href="http://www.logon2.com.au/blog/archive/tips/your-site-need-fresh-content-regularly/" title="Does Your Site Need Fresh Content, Regularly?">Does Your Site Need Fresh Content, Regularly?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/websites/new-site-barrabool-rural-protection-group/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/websites/new-site-barrabool-rural-protection-group/</feedburner:origLink></item>
		<item>
		<title>Launched: Artist Guysel</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/UGZKNX8fSK0/</link>
		<comments>http://www.logon2.com.au/blog/archive/clients/launched-artist-guysel/#comments</comments>
		<pubDate>Sun, 02 Aug 2009 23:18:26 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[Clients]]></category>

		<category><![CDATA[design]]></category>

		<category><![CDATA[portfolio]]></category>

		<category><![CDATA[Pretty Smarties]]></category>

		<category><![CDATA[pretty urls]]></category>

		<category><![CDATA[straight line abstract]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=129</guid>
		<description><![CDATA[Artist Guysel&#8217;s straight-line abstract art website was actually launched in March so this celebratory blog post is slightly late. This website update project presented some milestones for logon2:

Gallery2 instead of miniGal for photo gallery management
Pretty Smarties, logon2&#8217;s very own Template System, was used to keep pages consistent and content separated from presentation at source.
Working with [...]]]></description>
			<content:encoded><![CDATA[<p>Artist Guysel&#8217;s <a href="http://www.artistguysel.com/">straight-line abstract</a> art website was actually launched in March so this celebratory blog post is slightly late. This website update project presented some milestones for logon2:</p>
<ul>
<li>Gallery2 instead of miniGal for photo gallery management</li>
<li><a href="http://www.logon2.com.au/blog/archive/category/coding/pretty-smarties/">Pretty Smarties</a>, logon2&#8217;s very own Template System, was used to keep pages consistent and content separated from presentation at source.</li>
<li>Working with PHP as CGI on an external server</li>
</ul>
<p style="text-align: center;"><a href="http://www.logon2.com.au/blog/portfolio/artist-guysel-straight-line-abstract-contemporary-art/">Artist Guysel in logon2&#8217;s folio</a></p>
<p style="text-align: center;"><a href="http://www.logon2.com.au/blog/portfolio/artist-guysel-straight-line-abstract-contemporary-art/"><img class="aligncenter size-full wp-image-126" title="Artist Guysel - Straight Line Abstract" src="http://www.logon2.com.au/blog/wp-content/artist-guysel.jpg" alt="Artist Guysel - Straight Line Abstract" width="350" height="251" /></a></p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/websites/new-site-barrabool-rural-protection-group/" title="New Site - Barrabool Rural Protection Group">New Site - Barrabool Rural Protection Group</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/clients/fishing-charters-victoria-bass-strait-portland/" title="Launched: Adamas Fishing Charters - Sports Fishing in Bass Strait">Launched: Adamas Fishing Charters - Sports Fishing in Bass Strait</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/clients/launched-artist-guysel/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/clients/launched-artist-guysel/</feedburner:origLink></item>
		<item>
		<title>Check if Headers Have Already Been Sent in PHP</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/M1eI3-Cmh2k/</link>
		<comments>http://www.logon2.com.au/blog/archive/troubleshooting/check-if-headers-have-already-been-sent-in-php/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 05:39:51 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Troubleshooting]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[errors]]></category>

		<category><![CDATA[headers]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=119</guid>
		<description><![CDATA[Most PHP programmers would have come across this old chestnut before:
Cannot modify header information – headers already sent by page.php line 42
This can happen when you try doing a HTTP redirect or send HTTP 404, as it can happen whenever you try to send headers once they&#8217;ve already been sent. When a user sees this, [...]]]></description>
			<content:encoded><![CDATA[<p>Most PHP programmers would have come across this old chestnut before:<br />
<code>Cannot modify header information – headers already sent by page.php line 42</code></p>
<p>This can happen when you try doing a HTTP redirect or send HTTP 404, as it can happen whenever you try to send headers once they&#8217;ve already been sent. When a user sees this, they are basically left high and dry, often on a blank page. The solution is simple:</p>
<h3>Detect if Headers Have Already Been Sent</h3>
<p>Whenever you call <strong>header();</strong> , call <strong>headers_sent();</strong> first!</p>
<p>Example:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">headers_sent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Location: '</span> <span style="color: #339933;">.</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$absolute</span> ? HOME_URL <span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$page</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&lt;p&gt;Couldn't redirect to &quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">htmlentities</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$absolute</span> ? HOME_URL <span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$page</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;, headers already sent.&lt;/p&gt;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #666666; font-style: italic;">//do something here...</span>
    <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Of course you should probably do thing useful </p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/php-no-such-file-or-directory-in-unknown-on-line-0-error/" title="PHP - No such file or directory in Unknown on line 0 Error">PHP - No such file or directory in Unknown on line 0 Error</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/" title="Clean URLs Using Apache&#8217;s mod_rewrite and PHP - Beginner&#8217;s Tutorial">Clean URLs Using Apache&#8217;s mod_rewrite and PHP - Beginner&#8217;s Tutorial</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/extract-get-variables-from-url-string-to-array-php-function/" title="Extract GET Variables from URL String to Array - PHP Function">Extract GET Variables from URL String to Array - PHP Function</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/troubleshooting/check-if-headers-have-already-been-sent-in-php/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/troubleshooting/check-if-headers-have-already-been-sent-in-php/</feedburner:origLink></item>
		<item>
		<title>Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/22KdRYLBXVc/</link>
		<comments>http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 14:12:12 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[Pretty Smarties]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[download]]></category>

		<category><![CDATA[html]]></category>

		<category><![CDATA[open source]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[pretty urls]]></category>

		<category><![CDATA[productivity]]></category>

		<category><![CDATA[SEO]]></category>

		<category><![CDATA[smarty]]></category>

		<category><![CDATA[tools]]></category>

		<category><![CDATA[url]]></category>

		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=105</guid>
		<description><![CDATA[

Pretty Smarties

Lovely Caption Maker

This is the simple PHP template system which integrates Pretty URLs and Smarty Templates. The release is only two months later than I said, but I&#8217;ve made the release fairly decent. Here&#8217;s a rundown on the system:
Features

Uses the Smarty template engine to place content and render templates. Smarty is easy to learn [...]]]></description>
			<content:encoded><![CDATA[<div style="position: relative; width: 241px; height: 165px; float: right;"><img style="position:relative;" src="http://www.logon2.com.au/blog/wp-content/pretty-smarties-logo.jpg" alt="Pretty Smarties" width="241" height="165" /></p>
<div class="caption" style="margin: 5px; background: #ffffff none repeat scroll 0% 0%; position: absolute; width: 221px; bottom: 0pt; left: 0pt; padding-left: 5px; padding-right: 5px; opacity: 0.85;">
<h3 style="margin-bottom:0.25em; margin-top:0.25em; color:#ce0008;">Pretty Smarties</h3>
</div>
<div><a style="margin: 2px; background: transparent url(http://www.logon2.com.au/images/logon2_badge.gif) no-repeat scroll 0% 0%; display: block; position: absolute; right: 0pt; top: 0pt; width: 32px; height: 7px;" href="http://www.logon2.com.au/tools/lovely-caption-maker-css-transparent-overlay/"><span style="display:none;">Lovely Caption Maker</span></a></div>
</div>
<p>This is the simple PHP template system which integrates Pretty URLs and Smarty Templates. The release is only two months later than I said, but I&#8217;ve made the release fairly decent. Here&#8217;s a rundown on the system:</p>
<h3>Features</h3>
<ul>
<li>Uses the Smarty template engine to place content and render templates. Smarty is easy to learn and well known.</li>
<li>No actual PHP programming required, just HTML and a few Smarty tags</li>
<li>Low overhead - no database calls and Smarty compiles templates</li>
<li>Employs &#8216;pretty URLs&#8217; by default - with automatic redirects for malformed  URLs and 404s for bad requests</li>
<li>Content  inheritance from default or parent pages</li>
<li>Support for dynamic content</li>
<li>User friendly, automatic installer with optional sample templates and content</li>
</ul>
<h3>License</h3>
<p>Pretty Smarties is licensed under the GNU General Public License, and includes code from WordPress, another GPL project.</p>
<h3>Still to Come</h3>
<ul>
<li>Pretty variables (Pass variables through a pretty URL)</li>
<li>Support for GET variables (Currently unsupported - very easy to fix)</li>
<li>Object orientated design</li>
<li>Warnings for missing 404s, favicons</li>
<li>Consistency improvements</li>
</ul>
<p><a href="http://www.logon2.com.au/blog/wp-content/pretty-smarties-05.zip"><img align="left" title="Archive" src="http://www.logon2.com.au/blog/wp-content/archive-icon.png" alt="Archive" width="46" height="60" /></a></p>
<h3><a href="http://www.logon2.com.au/blog/wp-content/pretty-smarties-05.zip">Download Now</a></h3>
<h4><a href="http://www.logon2.com.au/blog/wp-content/pretty-smarties-05.zip">Pretty Smarties 0.5</a></h4>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/" title="Introducing the Lovely Caption Maker">Introducing the Lovely Caption Maker</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/" title="Clean URLs Using Apache&#8217;s mod_rewrite and PHP - Beginner&#8217;s Tutorial">Clean URLs Using Apache&#8217;s mod_rewrite and PHP - Beginner&#8217;s Tutorial</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/extract-get-variables-from-url-string-to-array-php-function/" title="Extract GET Variables from URL String to Array - PHP Function">Extract GET Variables from URL String to Array - PHP Function</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/nicer-footer-navigation-with-pseudo-selectors/" title="Nicer Footer Navigation with pseudo-selectors">Nicer Footer Navigation with pseudo-selectors</a></li><li><a href="http://www.logon2.com.au/blog/archive/clients/launched-artist-guysel/" title="Launched: Artist Guysel">Launched: Artist Guysel</a></li><li><a href="http://www.logon2.com.au/blog/archive/tips/new-content-brings-crowds/" title="New Content brings Crowds">New Content brings Crowds</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/</feedburner:origLink></item>
		<item>
		<title>PNGs Have Different Colours in Different Browsers?</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/w_7K51cRwHU/</link>
		<comments>http://www.logon2.com.au/blog/archive/web-design/pngs-have-different-colours-in-different-browsers/#comments</comments>
		<pubDate>Wed, 06 May 2009 23:03:25 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[Web Design]]></category>

		<category><![CDATA[background]]></category>

		<category><![CDATA[colour]]></category>

		<category><![CDATA[consistency]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[different]]></category>

		<category><![CDATA[internet-explorer]]></category>

		<category><![CDATA[png]]></category>

		<category><![CDATA[solutions]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=106</guid>
		<description><![CDATA[
		

Inconsistent PNGs

Lovely Caption Maker

Have you ever been working on a website and noticed that in certain browsers a background image isn&#8217;t blending properly with one of your background colours or another image? This phenomenon occurs in Internet Explorer and it&#8217;s caused by metadata in the PNG file itself. There&#8217;s a great program that solves this [...]]]></description>
			<content:encoded><![CDATA[<div style="float:left; position:relative; margin:5px; width:140px; height:174px;" >
		<img style="position:relative;" src="http://www.logon2.com.au/blog/wp-content/png-gamma-problem.jpg" alt="Inconsistent PNGs" width="140" height="174"></p>
<div class="caption" style="position:absolute; width:120px; bottom:0; left:0;	margin:5px;	padding-left:5px; padding-right:5px; background:#5f5b4f; opacity: 0.7; -moz-opacity: 0.7; filter: alpha(opacity=70);">
<h3 style="margin-bottom:0.25em; margin-top:0.25em; color:#FFFFFF;">Inconsistent PNGs</h3>
</p></div>
<div><a style="display:block; position:absolute;right:0;top:0;width:32px;height:7px;background:url(http://www.logon2.com.au/images/logon2_badge.gif) no-repeat;margin:2px;" href="http://www.logon2.com.au/tools/lovely-caption-maker-css-transparent-overlay/"><span style="display:none;">Lovely Caption Maker</span></a></div>
</div>
<p>Have you ever been working on a website and noticed that in <em>certain browsers </em>a background image isn&#8217;t blending properly with one of your background colours or another image? This phenomenon occurs in Internet Explorer and it&#8217;s caused by metadata in the PNG file itself. There&#8217;s a great program that solves this problem without any hacks.</p>
<p>The problem? Gamma. Some programs (like Adobe ImageReady) export PNGs with Gamma metadata. While I&#8217;m sure this metadata could be useful, it causes colour inconsistencies in Internet Explorer (6 and 7 confirmed.)</p>
<p>Solution - <a href="http://entropymine.com/jason/tweakpng/">TweakPNG</a>. Download this Windows program - consistent PNGs are X steps away:</p>
<ol>
<li>Open TweakPNG</li>
<li>Load the problem PNG into TweakPNG (Either drag and drop or File &gt; Open)</li>
<li>In the list of &#8220;Chunk&#8221;s, select &#8220;gAMA&#8221; and press the delete key.</li>
<li>Save (Ctrl+S or File &gt; Save)</li>
</ol>
<p style="text-align: center;"><img src="http://www.logon2.com.au/blog/wp-content/tweakpng.png" alt="TweakPNG" width="225" height="120" /></p>
<p>Done.</p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/accessible-valid-dropdown-menu-or-popup-menu-using-css-and-semantic-html/" title="Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML">Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/nicer-footer-navigation-with-pseudo-selectors/" title="Nicer Footer Navigation with pseudo-selectors">Nicer Footer Navigation with pseudo-selectors</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/" title="Introducing the Lovely Caption Maker">Introducing the Lovely Caption Maker</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/actionscript/removing-movieclip-children-from-movieclip-in-flash-using-actionscript/" title="Removing MovieClip Children from MovieClip in Flash Using ActionScript">Removing MovieClip Children from MovieClip in Flash Using ActionScript</a></li><li><a href="http://www.logon2.com.au/blog/archive/tips/your-site-need-fresh-content-regularly/" title="Does Your Site Need Fresh Content, Regularly?">Does Your Site Need Fresh Content, Regularly?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/web-design/pngs-have-different-colours-in-different-browsers/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/web-design/pngs-have-different-colours-in-different-browsers/</feedburner:origLink></item>
		<item>
		<title>Introducing the Lovely Caption Maker</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/ep_QQvm3HFk/</link>
		<comments>http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 21:35:42 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[SEO]]></category>

		<category><![CDATA[Web Design]]></category>

		<category><![CDATA[tools]]></category>

		<category><![CDATA[accessible]]></category>

		<category><![CDATA[banner]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[html]]></category>

		<category><![CDATA[lovely]]></category>

		<category><![CDATA[overlay]]></category>

		<category><![CDATA[ribbon]]></category>

		<category><![CDATA[sematic]]></category>

		<category><![CDATA[valid]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=103</guid>
		<description><![CDATA[
A recent trend I&#8217;ve noticed on some Australian media websites has been evoking my interest for a few months now. Sites like The Age and Fox FM have started overlaying a lovely coloured banner with a caption over feature images. The great thing is, they&#8217;re not rendered but glorious SEO-friendly and accessible HTML and CSS. [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://www.logon2.com.au/tools/lovely-caption-maker-css-transparent-overlay/"><img align="right" title="Lovely Caption Maker - Valid Accessible SEO Friendly Transparent CSS Coloured Overlay Caption" src="http://www.logon2.com.au/blog/wp-content/lovely-caption-maker.png" alt="Lovely Caption Maker CSS Transparent Overlay" width="155" height="37" /></a>A recent trend I&#8217;ve noticed on some Australian media websites has been evoking my interest for a few months now. Sites like <a href="http://www.theage.com.au/" target="_blank">The Age</a> and <a href="http://www.foxfm.com.au/" target="_blank">Fox FM</a> have started overlaying a lovely coloured banner with a caption over feature images. The great thing is, they&#8217;re not rendered but glorious <em>SEO-friendly </em>and <em>accessible </em>HTML and CSS. I&#8217;m not surprised, however, since <a href="http://www.theage.com.au/" target="_blank">The Age</a> and <a href="http://www.foxfm.com.au/" target="_blank">Fox FM</a> have always been trend early adopters. <a href="http://www.abc.net.au/">The ABC </a>still beats them, though.
</p>

<p>
Unfortunately, this effect can&#8217;t be achieved without knowing and entering the width and height of an image - making it kind of tedious to implement. After deciding that I&#8217;d like to use it with wordpress posts, it was decided that a tool should be built. And then <a href="http://www.logon2.com.au/tools/lovely-caption-maker-css-transparent-overlay/">The Lovely Caption Maker</a> was born. Here&#8217;s an example of Lovely Caption Maker&#8217;s glory:
</p>

<style type="text/css">
.feature {
		position:relative;
		width:360px;
		height:480px;
	}
	
	.feature img {
		position:relative;
	}
	
	.feature .caption h3 {
		margin-bottom:0.25em;
		margin-top:0.25em;
	}
	
	.feature .caption p {
		margin-bottom:0.5em;
		margin-left:0.25em;
	}
	
	.feature .caption {
		position:absolute;
		width:340px; 
		bottom:0;
		left:0;
		
		margin:5px;
		
		padding-left:5px;
		padding-right:5px;

		color:#FFFFFF;
		background:#f4489a;
		
		opacity: 0.82;
		-moz-opacity: 0.82;
		filter: alpha(opacity=82);
	}
</style>

	<div class="feature">
		<img src="http://www.logon2.com.au/blog/wp-content/dsc01092.jpg" alt="This Is How We Party" width="360" height="480">
		<div class="caption">
			<h3>This Is How We Party</h3>			<p>Expressing ourselves on the last day of year twelve in 2006. Very sexy stuff.</p>		</div>
	</div>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/nicer-footer-navigation-with-pseudo-selectors/" title="Nicer Footer Navigation with pseudo-selectors">Nicer Footer Navigation with pseudo-selectors</a></li><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/accessible-valid-dropdown-menu-or-popup-menu-using-css-and-semantic-html/" title="Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML">Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/pngs-have-different-colours-in-different-browsers/" title="PNGs Have Different Colours in Different Browsers?">PNGs Have Different Colours in Different Browsers?</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/" title="Clean URLs Using Apache&#8217;s mod_rewrite and PHP - Beginner&#8217;s Tutorial">Clean URLs Using Apache&#8217;s mod_rewrite and PHP - Beginner&#8217;s Tutorial</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/adding-removing-and-editing-elements-dynamically-using-javascript/" title="Adding, Removing and Editing Elements Dynamically using JavaScript">Adding, Removing and Editing Elements Dynamically using JavaScript</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/</feedburner:origLink></item>
		<item>
		<title>Launched: Adamas Fishing Charters - Sports Fishing in Bass Strait</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/8r97mATRWeM/</link>
		<comments>http://www.logon2.com.au/blog/archive/clients/fishing-charters-victoria-bass-strait-portland/#comments</comments>
		<pubDate>Sun, 24 Feb 2008 08:44:02 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[Clients]]></category>

		<category><![CDATA[barwon heads]]></category>

		<category><![CDATA[bass strait]]></category>

		<category><![CDATA[customer]]></category>

		<category><![CDATA[fishing]]></category>

		<category><![CDATA[portfolio]]></category>

		<category><![CDATA[portland]]></category>

		<category><![CDATA[victoria]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/archive/clients/fishing-charters-victoria-bass-strait-portland/</guid>
		<description><![CDATA[I just launched Adamas Fishing Charters&#8217; new website. Adamas Fishing Charters is based in Barwon Heads and provides recreational fishing charters in Victoria, in bass strait - they generally depart from Barwon Heads and Portland.
Go with Adamas Fishing Charters to catch Mako Sharks, Thresher Sharks, Blue and Bronze Whalers, Snapper, Tiger Flathead, Barracouta, Squid, Gummy [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.logon2.com.au/blog/wp-content/adamas.JPG" title="Adamas Fishing Charters"><img src="http://www.logon2.com.au/blog/wp-content/adamas.thumbnail.JPG" alt="Adamas Fishing Charters" align="right" height="74" hspace="5" vspace="5" width="121" /></a>I just launched <a href="http://www.adamasfishingcharters.com.au/">Adamas Fishing Charters&#8217; new website</a>. Adamas Fishing Charters is based in <a href="http://www.adamasfishingcharters.com.au/">Barwon Heads </a>and provides recreational <a href="http://http://www.adamasfishingcharters.com.au/">fishing charters in Victoria, in bass strait</a> - they generally depart from Barwon Heads and <a href="http://www.adamasfishingcharters.com.au/">Portland</a>.</p>
<p>Go with Adamas Fishing Charters to catch <a href="http://www.adamasfishingcharters.com.au/fishing/">Mako Sharks, Thresher Sharks, Blue and Bronze Whalers, Snapper, Tiger Flathead, Barracouta, Squid, Gummy Sharks, Seven Gill Sharks, Yellowtail Kingfish, St. George Whiting, Trevally, Salmon, Calamari, Pike, Flathead and Tuna</a>.</p>
<p align="center"><a href="http://http://www.adamasfishingcharters.com.au/">View Adamas Fishing Charters logon2 Portfolio Profile</a><a href="http://www.logon2.com.au/blog/adamas-fishing-charter-victoria-bass-strait-portland/"> </a></p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/websites/new-site-barrabool-rural-protection-group/" title="New Site - Barrabool Rural Protection Group">New Site - Barrabool Rural Protection Group</a></li><li><a href="http://www.logon2.com.au/blog/archive/clients/launched-artist-guysel/" title="Launched: Artist Guysel">Launched: Artist Guysel</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/clients/fishing-charters-victoria-bass-strait-portland/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/clients/fishing-charters-victoria-bass-strait-portland/</feedburner:origLink></item>
		<item>
		<title>Clean URLs Using Apache’s mod_rewrite and PHP - Beginner’s Tutorial</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/aEqt2EgWRrQ/</link>
		<comments>http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/#comments</comments>
		<pubDate>Sun, 10 Feb 2008 05:39:20 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[SEO]]></category>

		<category><![CDATA[Web Design]]></category>

		<category><![CDATA[apache]]></category>

		<category><![CDATA[mod_rewrite]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[tutorial]]></category>

		<category><![CDATA[ui]]></category>

		<category><![CDATA[url]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/archive/tips/91/</guid>
		<description><![CDATA[In technology, there&#8217;s always the goal of making complex and difficult things more simple - this goal has brought about &#8216;clean URLs&#8217;. Clean URLs are website addresses that are easy for people (and also search engines) to read and understand. For example: An interesting article about the Bermuda Triangle might be at www.articles.com/article.php?id=23452 - That [...]]]></description>
			<content:encoded><![CDATA[<p>In technology, there&#8217;s always the goal of making complex and difficult things more simple - this goal has brought about &#8216;clean URLs&#8217;. Clean URLs are website addresses that are easy for people (and also search engines) to read and understand. For example: An interesting article about the Bermuda Triangle might be at <strong>www.articles.com/article.php?id=23452</strong> - That address tells us (and search engines) nothing about the article. Using a clean URL, the same article might be at <strong>www.articles.com/articles/bermuda-triangle </strong>- much easier,  right? Well, here is how you can implement this on <em>your </em>website&#8230;</p>
<h3>Setting Up Apache&#8217;s &#8220;mod_rewrite&#8221; Modul</h3>
<p>To implement these URLs with Apache, you will need to have the mod_rewrite module enabled. Here&#8217;s how to enable mod_rewrite:</p>
<ol>
<li>Open the httpd.conf file from the &#8230;apache/conf/ directory</li>
<li>Uncomment the line &#8220;LoadModule rewrite_module modules/mod_rewrite.so&#8221; (by removing preceding #)</li>
</ol>
<p>If you have more than one virtual server or directory set up, you might have to add something like this as well:</p>
<pre><code></code>&lt;Directory "PATHOFDIRECTORY"&gt;
    AllowOverride all
    Order allow,deny
    Allow from all
&lt;/Directory&gt;</pre>
<p>Next, you need to create a file named &#8220;<em>.htaccess</em>&#8221; at the website&#8217;s root directory (if you haven&#8217;t got one already)</p>
<p>In your <em>.htaccess</em> file, add the following rules:</p>
<pre>&lt;IfModule mod_rewrite.c&gt;
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
&lt;/IfModule&gt;</pre>
<p>This will redirect all requests that don&#8217;t point to an existing file or directory to &#8216;index.php&#8217;.</p>
<p>You might (or might not) be thinking &#8220;How does that help implement clean URLs?&#8221; The next part will answer that question, but before proceeding - test your new Apache config and  <em>.htaccess </em>file - restart Apache if necessary and try loading a directory that doesn&#8217;t exist (ie. http://yourwebsitehost/page/5/your-information/). If it loads your index.php page - we&#8217;re ready to continue.</p>
<h3>Getting PHP to Interpret The URLs</h3>
<p>Ok, the hard part is done. Now I&#8217;ll explain what we want when a user requests a page:</p>
<ol>
<li> User requests &#8220;/page/5/your-information/&#8221;</li>
<li>Apache redirects the request to &#8220;index.php&#8221; without changing the user&#8217;s URL</li>
<li>index.php breaks up the requet URI and loads page.php instructing it to load page &#8216;5&#8242;</li>
</ol>
<p>This might seem a bit difficult (or, if you&#8217;re experienced, very easy) - it honestly is rather easy. Once you understand how it works, you might decide to do it differently, but here is a <em>really simple </em>example of a website that contains information &#8216;pages&#8217; and information about the &#8216;authors&#8217; of those pages.</p>
<p>In our example, we have three php files:</p>
<ul>
<li>index.php</li>
<li>page.php</li>
<li>author.php</li>
</ul>
<h4>&#8220;index.php&#8221;</h4>
<pre><code>&lt;?php
//$urlVariables is an array that contains the different bits of information in the request.
$urlVariables = explode("/",$_SERVER['REQUEST_URI']);
//If the user requested '/page/6/about-elephans/' then $urlVariables[1] would be 'page', $urlVariables[2] would be '6' and so on.</code>

if ($urlVariables[1] == "page") {
//the user is requesting an information page
    include "page.php";
} elseif $urlVariables[2] == "author" {
    //the user is requesting author information
    include "author.php";
} else {
    //load the home page
    include "default.php";
}?&gt;</pre>
<h4>&#8220;page.php&#8221;</h4>
<pre><code>&lt;?php</code>//load an object that deals with pages (to keep the tutorial simple)
include "classes/page.php";
$page = new page;
<pre>//$urlVariables will contain the page id as the 2nd array element (ie. /page/pageid/page-name-here/)$page_id = $urlVariables[2];
//the page name part of the URL is ignored when loading because we only use ID to load pages - it's just good for search engines and people.

//get the page class to load the page
if ($page-&gt;load_page($page_id)) {?&gt;

&lt;h1&gt;&lt;?php echo $page-&gt;page_name(); ?&gt;&lt;/h1&gt;
&lt;p&gt;&lt;?php echo $page-&gt;page_content(); ?&gt;&lt;/p&gt;
&lt;p&gt;Written by &lt;a href="&lt;?php echo $page-&gt;author_url(); ?&gt;"&gt; &lt;?php echo $page-&gt;author_name(); ?&gt; &lt;/a&gt;&lt;/p&gt;&lt;?php

} else {

    //error!
    include "error.php";</pre>
<p>}&gt;</pre>
<h4>&#8220;about.php&#8221;</h4>
<pre><code>&lt;?php

</code>//load an object that deals with authors (again, to keep the tutorial simple)
include "classes/author.php";
$author = new author;
//$urlVariables will contain the page id as the 2nd array element (ie. /author/authorid/author-name-here/)
$author_id = $urlVariables[2];
//again, the author name part of the URL is ignored when loading because we also only use ID to load authors - it is just good for search engines and people.

//get the author class to load the page
if ($author-&gt;load_author($author_id)) {?&gt;
&lt;h1&gt;&lt;?php echo $author-&gt;author_name(); ?&gt;&lt;/h1&gt;
&lt;h2&gt;Bio&lt;/h2&gt;&lt;p&gt;&lt;?php echo $author-&gt;author_information(); ?&gt;&lt;/p&gt;
&lt;h2&gt;All pages by &lt;?php echo $author-&gt;author_name; ?&gt;&lt;/h2&gt;
&lt;$php echo $author-&gt;page_list; 

} else {
    //error!
    include "error.php";
}
?&gt;</pre>
<p>Now that example was probably a bit excessive. Here&#8217;s a basic overview of how it works:</p>
<ol>
<li>The <em>index.php </em>page is loaded, and &#8216;explodes&#8217; the request part of the URL into an array ($urlVariables in the example)</li>
<li>You then interpret the array elements to decide what to show to the user. ($urlVariables[1] determined whether to show a page or an author profile and $urlVariables[2] was an ID for either the page or the author in our example)</li>
</ol>
<p>It&#8217;s that simple. This method is SUPER flexible if you build a strong framework around it.</p>
<p>Good luck!</p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/extract-get-variables-from-url-string-to-array-php-function/" title="Extract GET Variables from URL String to Array - PHP Function">Extract GET Variables from URL String to Array - PHP Function</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/nicer-footer-navigation-with-pseudo-selectors/" title="Nicer Footer Navigation with pseudo-selectors">Nicer Footer Navigation with pseudo-selectors</a></li><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/php-no-such-file-or-directory-in-unknown-on-line-0-error/" title="PHP - No such file or directory in Unknown on line 0 Error">PHP - No such file or directory in Unknown on line 0 Error</a></li><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/check-if-headers-have-already-been-sent-in-php/" title="Check if Headers Have Already Been Sent in PHP">Check if Headers Have Already Been Sent in PHP</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/" title="Introducing the Lovely Caption Maker">Introducing the Lovely Caption Maker</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/</feedburner:origLink></item>
		<item>
		<title>Removing MovieClip Children from MovieClip in Flash Using ActionScript</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/34TkdQBw4AY/</link>
		<comments>http://www.logon2.com.au/blog/archive/coding/actionscript/removing-movieclip-children-from-movieclip-in-flash-using-actionscript/#comments</comments>
		<pubDate>Sat, 19 Jan 2008 04:49:33 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[actionscirpt]]></category>

		<category><![CDATA[bug]]></category>

		<category><![CDATA[component]]></category>

		<category><![CDATA[elements]]></category>

		<category><![CDATA[flash]]></category>

		<category><![CDATA[internet-explorer]]></category>

		<category><![CDATA[loader]]></category>

		<category><![CDATA[movieclips]]></category>

		<category><![CDATA[problem]]></category>

		<category><![CDATA[remove]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/archive/coding/actionscript/removing-movieclip-children-from-movieclip-in-flash-using-actionscript/</guid>
		<description><![CDATA[The Problem
While working on an update for Once Upon a Bride&#8217;s handmade jewellery website, I had to overcome a certain bug or problem in Internet Explorer that caused images loaded into Loader Components to render incorrectly and scale incorrectly, usually with incorrect width and height.  This was occurring after loading about 12 - 15 [...]]]></description>
			<content:encoded><![CDATA[<h3>The Problem</h3>
<p>While working on an update for <a href="http://www.onceuponabride.com.au/" target="_blank">Once Upon a Bride&#8217;s handmade jewellery</a> website, I had to overcome a certain bug or problem in Internet Explorer that caused images loaded into Loader Components to render incorrectly and scale incorrectly, usually with incorrect width and height.  This was occurring after loading about 12 - 15 images.</p>
<p>So instead of loading them all at once, I made it load only eight images, and let the users view a page of eight at a time. <strong>The only problem I had was clearing the old thumbnails before loading the new ones.</strong></p>
<h3>The Solution</h3>
<p>The Solution  After a bit of looking around, here&#8217;s the code:</p>
<pre>
function clearMovieClips(parentMovieClip) {
	for (obj in parentMovieClip){

		if (typeof(parentMovieClip[obj])=="movieclip"){
			parentMovieClip[obj].removeMovieClip();
		}
	}
}</pre>
<h3>The Proof</h3>
<p>Now a nice before and after shot:</p>
<p align="center">Before:</p>
<p align="center"><a href="http://www.logon2.com.au/blog/wp-content/actionscript-remove-children-before-fix1.jpg" title="Once Upon a Bride - Before"><img src="http://www.logon2.com.au/blog/wp-content/actionscript-remove-children-before-fix1.thumbnail.jpg" alt="Once Upon a Bride - Before" /></a></p>
<p align="center">&nbsp;</p>
<p align="center">After:</p>
<p align="center"><a href="http://www.logon2.com.au/blog/wp-content/actionscript-remove-children-after-fix.jpg" title="Once Upon a Bride - After"><img src="http://www.logon2.com.au/blog/wp-content/actionscript-remove-children-after-fix.thumbnail.jpg" alt="Once Upon a Bride - After" /></a></p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/accessible-valid-dropdown-menu-or-popup-menu-using-css-and-semantic-html/" title="Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML">Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/pngs-have-different-colours-in-different-browsers/" title="PNGs Have Different Colours in Different Browsers?">PNGs Have Different Colours in Different Browsers?</a></li><li><a href="http://www.logon2.com.au/blog/archive/internet-news/opera-says-microsoft-deprives-consumers-of-a-real-choice/" title="Opera says Microsoft &#8220;deprives consumers of a real choice&#8221;">Opera says Microsoft &#8220;deprives consumers of a real choice&#8221;</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/coding/actionscript/removing-movieclip-children-from-movieclip-in-flash-using-actionscript/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/coding/actionscript/removing-movieclip-children-from-movieclip-in-flash-using-actionscript/</feedburner:origLink></item>
		<item>
		<title>Adding, Removing and Editing Elements Dynamically using JavaScript</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/qbGGP-UfvNY/</link>
		<comments>http://www.logon2.com.au/blog/archive/web-design/adding-removing-and-editing-elements-dynamically-using-javascript/#comments</comments>
		<pubDate>Sat, 19 Jan 2008 03:54:34 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[Web Design]]></category>

		<category><![CDATA[add]]></category>

		<category><![CDATA[element]]></category>

		<category><![CDATA[html]]></category>

		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/archive/web-design/adding-removing-and-editing-elements-dynamically-using-javascript/</guid>
		<description><![CDATA[ While working myLookAgain (the second attempt), I&#8217;ve had to use a little bit more AJAX through JavaScript. One of the reasons was that I needed to allow users to add as many &#8216;pieces&#8217; to each look and delete them if they want - preferably without reloading.
In JavaScript terms, I needed to be able to [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.logon2.com.au/blog/wp-content/dynamic-elements.jpg" alt="Using Javascript to Dynamically Add and Remove Elements" align="right" vspace="5" hspace="5" /> While working myLookAgain (the second attempt), I&#8217;ve had to use a little bit more AJAX through JavaScript. One of the reasons was that I needed to allow users to add as many &#8216;pieces&#8217; to each look and delete them if they want - preferably without reloading.</p>
<p>In JavaScript terms, I needed to be able to add (or create) and remove (or delete) elements, within another element, the form. After a little bit of research on the internet, I had what I needed to do just that. <a href="http://www.logon2.com.au/examples/javascript-add-remove-elements/">See a basic example of javascript dynamically adding and removing elements&#8230;</a> Here&#8217;s how to do it:</p>
<p>To begin with, here&#8217;s the commented JavaScript code for adding an element using the DOM in JavaScript</p>
<pre>
function appendElement(containerId, newElementId, newElementContent) {
	//First, we need to create a new DIV element
	var newElement=document.createElement("div");
	//New we will give it the specified ID so we can manage it later if necessary
	newElement.setAttribute("id", newElementId);
	//Insert the HTML content into the new element
	newElement.innerHTML=newElementContent;

	//Get a reference to the element that will contain the new element
	var container = document.getElementById(containerId);
	//Now we just need to insert our new element into the containing element
	container.appendChild(newElement, container);
}
</pre>
<p>And here&#8217;s the commented JavaScript code for a function to remove elements:</p>
<pre>
	function removeElement(parentId, elementId) {
	//Get a reference to the element containgint the element we are removing
	var parentElement = document.getElementById(parentId);
	//Get a reference to the element we are removing
	var childElement = document.getElementById(elementId);
	//remove the
	parentElement.removeChild(childElement);
}
</pre>
<p>And that&#8217;s it. Of course, this by itself isn&#8217;t going to do much. Though with a little bit of imagination, these functions can help you improve the usability or usefulness of your website.</p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/accessible-valid-dropdown-menu-or-popup-menu-using-css-and-semantic-html/" title="Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML">Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/" title="Introducing the Lovely Caption Maker">Introducing the Lovely Caption Maker</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/extract-get-variables-from-url-string-to-array-php-function/" title="Extract GET Variables from URL String to Array - PHP Function">Extract GET Variables from URL String to Array - PHP Function</a></li><li><a href="http://www.logon2.com.au/blog/archive/tools/myspace-convert-text-to-html/" title="MySpace - Convert Text to HTML">MySpace - Convert Text to HTML</a></li><li><a href="http://www.logon2.com.au/blog/archive/myspace/choose-myspace-comment-colors-fonts-and-sizes/" title="Choose MySpace Comment Colors, Fonts and Sizes">Choose MySpace Comment Colors, Fonts and Sizes</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/web-design/adding-removing-and-editing-elements-dynamically-using-javascript/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/web-design/adding-removing-and-editing-elements-dynamically-using-javascript/</feedburner:origLink></item>
		<item>
		<title>Does Your Site Need Fresh Content, Regularly?</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/5MqJFMFuh2o/</link>
		<comments>http://www.logon2.com.au/blog/archive/tips/your-site-need-fresh-content-regularly/#comments</comments>
		<pubDate>Sat, 12 Jan 2008 15:28:18 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[Clients]]></category>

		<category><![CDATA[Tips]]></category>

		<category><![CDATA[Web Design]]></category>

		<category><![CDATA[articles]]></category>

		<category><![CDATA[cms]]></category>

		<category><![CDATA[content management]]></category>

		<category><![CDATA[news]]></category>

		<category><![CDATA[sem]]></category>

		<category><![CDATA[SEO]]></category>

		<category><![CDATA[solutions]]></category>

		<category><![CDATA[traffic]]></category>

		<category><![CDATA[web design geelong]]></category>

		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/archive/tips/your-site-need-fresh-content-regularly/</guid>
		<description><![CDATA[Although always available, I want to publicise one of the features offered by logon2 that can make your website a living, rich, thriving community - rather than just another website.  I&#8217;m talking about adding a blog to your website or even turning your website into a blog. If implemented properly, a blog is a [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.logon2.com.au/blog/wp-content/apple.jpg" alt="Fresh Apple" align="right" hspace="5" vspace="5" />Although always available, I want to publicise one of the features offered by logon2 that can <strong>make your website a living, rich, thriving community</strong> - rather than just another website.  I&#8217;m talking about adding a blog to your website or even turning your website into a blog. If implemented properly, a blog is a communication platform between you and your audience. <strong>It improves your relationship with customers, returns feedback from customers, brings you new customers and it gives you total control of your website&#8230;</strong> </p>
<p>What makes this solution so great is it means that you can <strong>easily add new articles, products and pages to your website whenever you want</strong> - and without learning anything about web design! <strong>It&#8217;s just like sending an email</strong>, except you&#8217;re writing an email for all of your customers and potential customers. The picture further below is a shot of the software used to create this page you are looking at right now.</p>
<p>Here are  some of the HUGE benefits:</p>
<ul>
<li>You can <strong>add and update content whenever you like</strong></li>
<li>Adding new pages, articles, products is <strong>as easy as using Word</strong></li>
<li>Customers can subscribe by email, and new articles can be<strong> sent to customers automatically</strong>!</li>
<li><strong>Get more visitors and customers</strong> through search engines</li>
<li><strong>Keep visitors interested in your site for longer</strong> with more for them to read</li>
<li>Receive feedback on any page</li>
<li>Make it easy for readers to share your pages with other people</li>
</ul>
<p align="center">&nbsp;</p>
<p style="text-align: center"><img src="http://www.logon2.com.au/blog/wp-content/wordpress.jpg" alt="Wordpress Interface Screenshot" hspace="10" vspace="10" /><br />
<em>Screenshot of the blog software I used to</em></p>
<p style="text-align: center"><em> post this article in less than 10 mintes&#8230;</em></p>
<h3 align="left">Try It Out Yourself, Now!</h3>
<p align="left">After seeing so much <a href="http://www.logon2.com.au/blog/archive/tips/new-content-brings-crowds/">success for my own site by using a blog</a>, I really want to give my customers the same opportunity. So I made a demo blog that <em>you </em>can look at, write demo articles, edit the articles and delete articles&#8230;</p>
<p align="center"><a href="http://www.logon2.com.au/wordpress-demo/">View the demo blog</a><br />
<a href="http://www.logon2.com.au/wordpress-demo/wp-admin">Manage the demo blog</a><strong><br />
Username: </strong>demo<br />
<strong>Password: </strong>demo</p>
<p>The whole &#8220;blog&#8221; section of the <a href="http://www.logon2.com.au/">logon2 website</a> and a huge amount of the specific information including the <a href="http://www.logon2.com.au/blog/portfolio/">portfolio</a>, <a href="http://www.logon2.com.au/blog/web-design-australia/">areas serviced by logon2</a>, and <a href="http://www.logon2.com.au/blog/web-solution-services/">detailed explanations of some of logon2&#8217;s services</a>. Over 60 pages (and constantly growing) of content, all linked and organised, automatically sent to subscribers and bringing<a href="http://www.logon2.com.au/blog/archive/tips/new-content-brings-crowds/"> over 400 of visitors a week</a> through search engines <img src='http://www.logon2.com.au/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/tips/new-content-brings-crowds/" title="New Content brings Crowds">New Content brings Crowds</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/nicer-footer-navigation-with-pseudo-selectors/" title="Nicer Footer Navigation with pseudo-selectors">Nicer Footer Navigation with pseudo-selectors</a></li><li><a href="http://www.logon2.com.au/blog/archive/websites/new-site-barrabool-rural-protection-group/" title="New Site - Barrabool Rural Protection Group">New Site - Barrabool Rural Protection Group</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/pngs-have-different-colours-in-different-browsers/" title="PNGs Have Different Colours in Different Browsers?">PNGs Have Different Colours in Different Browsers?</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/" title="Introducing the Lovely Caption Maker">Introducing the Lovely Caption Maker</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/tips/your-site-need-fresh-content-regularly/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/tips/your-site-need-fresh-content-regularly/</feedburner:origLink></item>
		<item>
		<title>Zig Zag Hair Parting Pattern - WizzComb’s Website Re-launched</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/_XHZG4vFCeQ/</link>
		<comments>http://www.logon2.com.au/blog/archive/uncategorized/zig-zag-hair-parting-pattern-wizzcombs-website-re-launched/#comments</comments>
		<pubDate>Sat, 05 Jan 2008 20:40:53 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[Clients]]></category>

		<category><![CDATA[SEO]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/archive/uncategorized/zig-zag-hair-parting-pattern-wizzcombs-website-re-launched/</guid>
		<description><![CDATA[Just finished rennovating the WizzComb website which offers the ingenious zig zag hair part comb - have a look at WizzComb&#8217;s new portfolio page or directly at the zigzag hair comb&#8217;s website. If you can suggest any improvement or criticisms, leave them in the comments or email me.
I personally developed the original WizzComb website in [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.logon2.com.au/blog/wp-content/slideshow-wizzcomb.jpg" alt="Presentation of WizzComb Zig Zag Hair Pattern Comb" align="right" />Just finished rennovating the <a href="http://www.wizzcomb.com.au/">WizzComb website</a> which offers the ingenious<a href="http://www.wizzcomb.com.au/"> zig zag hair part comb </a>- have a look at <a href="http://www.logon2.com.au/blog/portfolio/wizzcomb-zig-zag-hair-comb-for-zigzag-part-pattern/">WizzComb&#8217;s new portfolio page</a> or directly at the <a href="http://www.wizzcomb.com.au/">zigzag hair comb&#8217;s website</a>. If you can suggest any improvement or criticisms, leave them in the comments or <a href="http://www.logon2.com.au/contact/">email me</a>.</p>
<p>I personally developed the original WizzComb website in 2004, being only the second website I had ever developed it was pretty abysmal when it came to standards, accessibility and even good markup form. The website became out of date so after some tinkering, the WizzComb website is now fresh, <a href="http://www.logon2.com.au/blog/web-solution-services/valid-and-accessible-web-design/">valid, accessible</a>,  <a href="http://www.logon2.com.au/blog/web-solution-services/search-engine-optimisation/">SE-Friendly</a> and better looking.</p>
<h3>Popular Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/accessible-valid-dropdown-menu-or-popup-menu-using-css-and-semantic-html/" title="Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML">Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML</a></li><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/free-web-proxy-list-access-blocked-sites-from-work-or-school/" title="Free Web Proxy List - Access Blocked Sites From Work or School">Free Web Proxy List - Access Blocked Sites From Work or School</a></li><li><a href="http://www.logon2.com.au/blog/archive/myspace/choose-myspace-comment-colors-fonts-and-sizes/" title="Choose MySpace Comment Colors, Fonts and Sizes">Choose MySpace Comment Colors, Fonts and Sizes</a></li><li><a href="http://www.logon2.com.au/blog/archive/tools/myspace-convert-text-to-html/" title="MySpace - Convert Text to HTML">MySpace - Convert Text to HTML</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/extract-get-variables-from-url-string-to-array-php-function/" title="Extract GET Variables from URL String to Array - PHP Function">Extract GET Variables from URL String to Array - PHP Function</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/" title="Clean URLs Using Apache&#8217;s mod_rewrite and PHP - Beginner&#8217;s Tutorial">Clean URLs Using Apache&#8217;s mod_rewrite and PHP - Beginner&#8217;s Tutorial</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/uncategorized/zig-zag-hair-parting-pattern-wizzcombs-website-re-launched/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/uncategorized/zig-zag-hair-parting-pattern-wizzcombs-website-re-launched/</feedburner:origLink></item>
		<item>
		<title>New Content brings Crowds</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/tUe4rgRHxE8/</link>
		<comments>http://www.logon2.com.au/blog/archive/tips/new-content-brings-crowds/#comments</comments>
		<pubDate>Thu, 03 Jan 2008 16:29:28 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[SEO]]></category>

		<category><![CDATA[Tips]]></category>

		<category><![CDATA[blogging]]></category>

		<category><![CDATA[content]]></category>

		<category><![CDATA[sem]]></category>

		<category><![CDATA[traffic]]></category>

		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/archive/tips/new-content-brings-crowds/</guid>
		<description><![CDATA[After about two months of the logon2 blog, it&#8217;s time to check the statistics. After a bit of inspection and investigation, I found an interesting (but kind of obvious) pattern that brings a load of new traffic over and over again&#8230; So what&#8217;s the pattern? Create new content, receive new visitors. That&#8217;s it. Basically, new [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.logon2.com.au/blog/wp-content/new-content-equals-traffic.jpg" alt="New Content Equals More Traffic" align="right" />After about two months of the logon2 blog, it&#8217;s time to check the statistics. After a bit of inspection and investigation, I found an interesting (but kind of obvious) pattern that brings a load of new traffic over and over again&#8230; So what&#8217;s the pattern? Create new content, receive new visitors. That&#8217;s it. Basically, new unique content brings lots of traffic to a website temporarily, and often raises the average daily visitor count afterwards. Here&#8217;s an actual graph for those who like pictures (I know I do!)</p>
<h3>Web Traffic Increases After New Blog Post</h3>
<p><img src="http://www.logon2.com.au/blog/wp-content/new-content-more-traffic-visitor-graph.jpg" alt="New Content brings More Traffic - Visitors Graph" /></p>
<p><img src="http://www.logon2.com.au/blog/wp-content/new-content-more-traffic-legend.jpg" alt="New Content More Traffic - Legend" /></p>
<p>&#8220;So what, I knew that. Everybody knows that!&#8221;, you say? Well that may be true, but there&#8217;s more to it. After suspecting that <a href="http://googlesystem.blogspot.com/2008/01/google-artificially-promotes-recent-web.html" target="_blank">search engines prioritise new content and seing some proof of this</a>, I found that same pattern on this blog&#8230;</p>
<p>While looking at some statistics, I noticed that the number of daily search engine visitors correlated with that of non-search engine visitors when <em>new content </em>had arrived on the site. Check out this graph:</p>
<h3>More Search Engine Traffic After Adding New Content</h3>
<p><img src="http://www.logon2.com.au/blog/wp-content/new-content-more-traffic-search-visitor-graph.jpg" alt="New Content Brings More Traffic From Search Engines" /></p>
<p><img src="http://www.logon2.com.au/blog/wp-content/new-content-more-traffic-legend.jpg" alt="New Content More Traffic - Legend" /></p>
<p>This indicates that search engines heavily favour <em>new content</em>, especially on a <a href="http://www.logon2.com.au/">trusted website</a>. One very weird time I&#8217;ve seen this is with the <a href="http://www.frrcinel.com.au/">FRR Cinel Nominees</a> website ( a company that does <a href="http://www.frrcinel.com.au/">Civil Contruction in Victoria</a>. ) Even with very few backlinks, FRR Cinel ranked #1 for the search term &#8220;Civil Contractors Victoria&#8221; (which is marginally competitive) for two days after I published the <a href="http://www.logon2.com.au/blog/portfolio/frr-cinel-civil-contractors-victoria/">FRR Cinel</a> <a href="http://www.frrcinel.com.au/">Civil Contractors Victoria</a> profile in the the <a href="http://www.logon2.com.au/blog/portfolio/">logon2 portfolio</a>.</p>
<p>While on the subject of traffic, logon2&#8217;s traffic has improve immensely since launching the blog as you might have seen. Thanks to all of you readers! And since this is the first blog of 2008 - happy new year!</p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/tips/your-site-need-fresh-content-regularly/" title="Does Your Site Need Fresh Content, Regularly?">Does Your Site Need Fresh Content, Regularly?</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/internet-news/google-set-your-geographic-location/" title="Google Goes Geographic!">Google Goes Geographic!</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/nicer-footer-navigation-with-pseudo-selectors/" title="Nicer Footer Navigation with pseudo-selectors">Nicer Footer Navigation with pseudo-selectors</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/" title="Introducing the Lovely Caption Maker">Introducing the Lovely Caption Maker</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/" title="Clean URLs Using Apache&#8217;s mod_rewrite and PHP - Beginner&#8217;s Tutorial">Clean URLs Using Apache&#8217;s mod_rewrite and PHP - Beginner&#8217;s Tutorial</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/tips/new-content-brings-crowds/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/tips/new-content-brings-crowds/</feedburner:origLink></item>
		<item>
		<title>Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/S8VRSRnMsNo/</link>
		<comments>http://www.logon2.com.au/blog/archive/troubleshooting/accessible-valid-dropdown-menu-or-popup-menu-using-css-and-semantic-html/#comments</comments>
		<pubDate>Fri, 28 Dec 2007 12:20:32 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Troubleshooting]]></category>

		<category><![CDATA[Web Design]]></category>

		<category><![CDATA[advice]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[firefox]]></category>

		<category><![CDATA[flash]]></category>

		<category><![CDATA[html]]></category>

		<category><![CDATA[internet-explorer]]></category>

		<category><![CDATA[javascript]]></category>

		<category><![CDATA[navigation]]></category>

		<category><![CDATA[problems]]></category>

		<category><![CDATA[semantic]]></category>

		<category><![CDATA[solutions]]></category>

		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/archive/troubleshooting/accessible-valid-dropdown-menu-or-popup-menu-using-css-and-semantic-html/</guid>
		<description><![CDATA[We&#8217;ve all seen dropdown / popup menu lists on websites before, and generally they&#8217;re extremely useful because they save space, but offer extra functionality. Sometimes, though they&#8217;re tricky to implement. I remember doing a image-only popout menu for the Lonsdale Views, who offer accommodation in Point Lonsdale and it was more difficult than expected - [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.logon2.com.au/blog/wp-content/css-html-menu-suckerfish.JPG" alt="CSS and HTML Only Menu - Using Suckerfish Solution" align="right" hspace="5" vspace="5" />We&#8217;ve all seen dropdown / popup menu lists on websites before, and generally they&#8217;re extremely useful because they save space, but offer extra functionality. Sometimes, though they&#8217;re tricky to implement. I remember doing a image-only popout menu for the <a href="http://www.lonsdaleviews.com.au/" title="Lonsdale Views">Lonsdale Views</a>, who offer <a href="http://www.lonsdaleviews.com.au/" title="Accommodation in Point Lonsdale">accommodation in Point Lonsdale</a> and it was more difficult than expected - First, there was Internet Explorer&#8217;s lack of support for &#8220;:hover&#8221; and then there was Internet Explorer&#8217;s z-index issue. Now that I&#8217;ve got a blog, I thought I&#8217;d publish a how-to guide for valid, accessible semantic HTML and CSS dropdown menus&#8230; But before we get started, here&#8217;s <a href="http://www.logon2.com.au/examples/dropdown-menu/">a basic demo of the HTML and CSS dropdown list</a>.</p>
<h3> The HTML</h3>
<p>After some searching around, the most appealing solution I found was the <a href="http://www.htmldog.com/articles/suckerfish/dropdowns/example/" target="_blank">Suckerfish solution</a>. Using the Suckerfish solution, a dropdown menu can be marked up using semantic HTML - more specifically - lists. Here&#8217;s an example:</p>
<pre>
&lt;ul id="nav"&gt;
	&lt;li&gt;&lt;a href="#"&gt;Menu 1&lt;/a&gt;
		&lt;ul&gt;
			&lt;li&gt;&lt;a href="#"&gt;Submenu 1&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="#"&gt;Submenu 2&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="#"&gt;Submenu 3&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;

	&lt;li&gt;&lt;a href="#"&gt;Menu 2&lt;/a&gt;
		&lt;ul&gt;
			&lt;li&gt;&lt;a href="#"&gt;Submenu 1&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="#"&gt;Submenu 2&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="#"&gt;Submenu 3&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;&lt;a href="#"&gt;Menu 3&lt;/a&gt;&lt;/li&gt;

&lt;/ul&gt;</pre>
<h3> CSS Part 1</h3>
<p>As you can see, this is some <em>very </em>clean HTML or XHTML code which is great for search engines, accessibility and validation - not to mention code maintenance.  Now, we just need to apply some CSS styles to the elements to turn this list into a dropdown menu or popup menu.</p>
<p>Using the <a href="http://www.htmldog.com/articles/suckerfish/dropdowns/" target="_blank">Suckerfish solution</a>, these are the styles to add:</p>
<pre>
#nav, #nav ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

#nav a {
	display: block;
	width: 10em;
}

#nav li {
	float: left;
	width: 10em;
}</pre>
<h3>CSS Part 2</h3>
<p>That CSS gets the root menu&#8217;s visual structure up, now we need to organise the actual dropdown menus. We need to hide the drop down lists until the user hovers over the root of that particular drop down list. To do this, it seems the most accessible <em>multi-platform </em>solution is to move it out of sight using &#8220;left:-999em&#8221; rather than &#8220;display:none&#8221; which is known to be inaccessible. On the<em> hover </em>event, we move it back beneath the root using &#8220;left:auto&#8221; because &#8220;left:0&#8243; causes a problem in Opera.</p>
<p>Here&#8217;s the CSS for showing and hiding the dropdown lists:</p>
<pre>
#nav li ul {
	position: absolute;
	width: 10em;
	left: -999em;
}

#nav li:hover ul {
	left: auto;
}</pre>
<h3> The Special :hover Case of Internet Explorer</h3>
<p>Done, you now have a perfectly functioning, semantic, valid, accessible menu - right? Not quite - this still doesn&#8217;t work in Internet Explorer because it doesn&#8217;t happen to have full support for the &#8220;:hover&#8221; pseudo class but that&#8217;s Ok. Because those geniuses at HTMLDog created <a href="http://www.htmldog.com/articles/suckerfish/" target="_blank">Suckerfish </a>- a very small Javascript script that will solve this problem in no time, add this to your head section:</p>
<pre>
sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");

	for (var i=0; i&lt;sfEls.length; i++) {

		sfEls[i].onmouseover=function() {

			this.className+=" sfhover";
		}

		sfEls[i].onmouseout=function() {

			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}

if (window.attachEvent) window.attachEvent("onload", sfHover);</pre>
<p>What Suckerfish does is goes through all LI elements in #nav and adds the class &#8220;sfHover&#8221; onMouseOver (when the user hovers over the list item) and removes the class onMouseOut. Or in other words, it solves our problem.</p>
<p>There&#8217;s only one thing left to do, and that&#8217;s change a bit of the CSS that shows the dropdown menus to include the new  &#8220;sfHover&#8221;:</p>
<p>Change:</p>
<pre>
#nav li:hover ul {
	left: auto;
}</pre>
<p>To:</p>
<pre>
#nav li:hover ul, #nav li.sfhover ul {
	left: auto;
}</pre>
<p>And that&#8217;s it! Here&#8217;s a working demo of the <a href="http://www.logon2.com.au/examples/dropdown-menu/">valid, accessible HTML and CSS drop down menu</a>.</p>
<h3>Solution for Overlapping Elements or Hidden Menu</h3>
<p>Sometimes, there&#8217;s STILL more trouble. When implementing this menu for Lonsdale Views, I came across a problem - the menus were being obstructed or hidden behind other elements! So I went ahead and used z-index to let the browser know that the menu needed to be on top. Huzzah, it works! Oh, not in Internet Explorer - what a surprise.  I spent quite some time searching the internet for a solution&#8230;</p>
<p>Eventually I read that Internet Explorer passes z-index from parent to child, so even if you give a &#8220;4th generation&#8221; element a z-index of 1000, the z-index can&#8217;t be greater than the lowest z-order of any parent elements!</p>
<p>The solution to your menus being obstructed or hidden behind images, hidden behind pictures, hidden behind text, hidden behind flash, hidden behind everything:</p>
<p>Give each parent element of the #nav element isn&#8217;t common with the obstructing element a HIGH z-index (let&#8217;s say, 100) and give the element containing the elements obstructing your menu a LOWER z-index (let&#8217;s say 0)</p>
<p>For example, if this was part of your page:</p>
<pre>
&lt;div id="container"&gt;
	&lt;div id="topbar"&gt;
		&lt;ul id="nav"&gt;
			... the menu code is here ...
		&lt;/ul&gt;
	&lt;/div&gt;

	&lt;div id="content"&gt;
		... the element(s) that obstruct or are hiding your menu ...
	&lt;/div&gt;
&lt;/div&gt;</pre>
<p>You could use this CSS to remedy your problems:</p>
<pre>
 #topbar, #nav {
	z-index:100;
}

#content {
	z-index:0;
}</pre>
<p>Hope this has saved you some time and taught you something. If you <em>really</em> appreciate it, leave a comment and even go and say thanks to the crew at <a href="http://www.htmldog.com/articles/suckerfish/" target="_blank">HTMLDog </a>- this is all because of them!</p>
<h3>Flash Objects Obstructing or Overlapping Menu</h3>
<p>Sometimes, even when all of the CSS is correct, your menus might be overlapped by flash objects. For example, when you hover over, your CSS menu is hidden behind a flash object. The solution to this is actually somewhat simple and cross-browser. All that you need to do is add the transparency parameter to your embed / object code, like so:</p>
<pre>
&lt;object type="application/x-shockwave-flash" width="100" height="100"&gt;
	&lt;param name="wmode" value="transparent" /&gt;
	&lt;param name="movie" value="flash.swf" /&gt;
	&lt;embed wmode="transparent" src="flash.swf" width="100" height="100" /&gt;
&lt;/object&gt;</pre>
<p>Notice how &#8220;&lt;param name=&#8221;wmode&#8221; value=&#8221;transparent&#8221; /&gt; has been added? Also, <strong>don&#8217;t forget to add the &#8216;wmode=&#8221;transparent&#8217;&#8221; to the EMBED tag</strong><strong> </strong>- that is imporant for non-Internet Explorer browsers. Now obviously, you need to change the &#8220;src&#8221; attributes and the movie value to whatever the URI of your flash file is.</p>
<p>Happy coding!</p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/web-design/pngs-have-different-colours-in-different-browsers/" title="PNGs Have Different Colours in Different Browsers?">PNGs Have Different Colours in Different Browsers?</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/nicer-footer-navigation-with-pseudo-selectors/" title="Nicer Footer Navigation with pseudo-selectors">Nicer Footer Navigation with pseudo-selectors</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/" title="Introducing the Lovely Caption Maker">Introducing the Lovely Caption Maker</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/actionscript/removing-movieclip-children-from-movieclip-in-flash-using-actionscript/" title="Removing MovieClip Children from MovieClip in Flash Using ActionScript">Removing MovieClip Children from MovieClip in Flash Using ActionScript</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/adding-removing-and-editing-elements-dynamically-using-javascript/" title="Adding, Removing and Editing Elements Dynamically using JavaScript">Adding, Removing and Editing Elements Dynamically using JavaScript</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/troubleshooting/accessible-valid-dropdown-menu-or-popup-menu-using-css-and-semantic-html/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/troubleshooting/accessible-valid-dropdown-menu-or-popup-menu-using-css-and-semantic-html/</feedburner:origLink></item>
		<item>
		<title>Extract GET Variables from URL String to Array - PHP Function</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/c2lMrad7fAo/</link>
		<comments>http://www.logon2.com.au/blog/archive/coding/coding-php/extract-get-variables-from-url-string-to-array-php-function/#comments</comments>
		<pubDate>Fri, 21 Dec 2007 15:25:48 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[function]]></category>

		<category><![CDATA[get]]></category>

		<category><![CDATA[html]]></category>

		<category><![CDATA[http]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[scraping]]></category>

		<category><![CDATA[url]]></category>

		<category><![CDATA[variables]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/archive/coding/codin-php/extract-get-variables-from-url-string-to-array-php-function/</guid>
		<description><![CDATA[While making the YouTube Music in MySpace tool, I coudln&#8217;t find a function that reads an input URL then makes an array with the GET variable names and values.  I needed this to get the video id from the YouTube video URL - so I made it, and now I&#8217;m sharing it.
So in my [...]]]></description>
			<content:encoded><![CDATA[<p>While making the<a href="http://www.logon2.com.au/blog/archive/tools/new-tool-youtube-music-on-myspace/"> YouTube Music in MySpace </a>tool, I coudln&#8217;t find a function that reads an input URL then makes an array with the GET variable names and values.  I needed this to get the video id from the YouTube video URL - so I made it, and now I&#8217;m sharing it.</p>
<p>So in my case, the function is fed a YouTube URL and returns the video id variable (v) - So an example:<br />
Input:  http://au.youtube.com/watch?v=le860Jd-FqI&amp;feature=related<br />
Output:<br />
$output['v'] = &#8220;le860Jd-FqI&#8221;<br />
$output['feature'] = &#8220;related&#8221;</p>
<p>And so witout further ado, here&#8217;s the actual code:</p>
<pre>
function getVariableFromUrl($url) {		//we need to see if this URL is passing any GET variables

 	$variablesStart = strpos($url, "?") + 1;

if (!$variablesStart) {

 		// no variables!

 		return(false);

 	}

//before we extract the variables, we need to remove any anchors

$variablesEnd = strpos($url,"#",$variablesStart);

if ($variablesEnd) {

 		$getVariables = substr($url, $variablesStart, $variablesEnd - $variablesStart);

 	} else {

 		$getVariables = substr($url, $variablesStart);

 	}

//next, we split the URL into an arrays containing variable name and value pairs (ie. "variable=value")

 	$variableArray = explode("&amp;", $getVariables);

//we will iterate through each of the array pairs (ie. "variable=value")

 	foreach ($variableArray as $arraySet) {

$nameAndValue = explode("=", $arraySet);

//using the above examples, $nameAndValue[0] would be "variable" and $nameAndValue[1] would be "value"

 		$output[$nameAndValue[0]] = $nameAndValue[1];

}

return($output);

}</pre>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 - Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/" title="Clean URLs Using Apache&#8217;s mod_rewrite and PHP - Beginner&#8217;s Tutorial">Clean URLs Using Apache&#8217;s mod_rewrite and PHP - Beginner&#8217;s Tutorial</a></li><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/php-no-such-file-or-directory-in-unknown-on-line-0-error/" title="PHP - No such file or directory in Unknown on line 0 Error">PHP - No such file or directory in Unknown on line 0 Error</a></li><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/check-if-headers-have-already-been-sent-in-php/" title="Check if Headers Have Already Been Sent in PHP">Check if Headers Have Already Been Sent in PHP</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/" title="Introducing the Lovely Caption Maker">Introducing the Lovely Caption Maker</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/adding-removing-and-editing-elements-dynamically-using-javascript/" title="Adding, Removing and Editing Elements Dynamically using JavaScript">Adding, Removing and Editing Elements Dynamically using JavaScript</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/coding/coding-php/extract-get-variables-from-url-string-to-array-php-function/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/coding/coding-php/extract-get-variables-from-url-string-to-array-php-function/</feedburner:origLink></item>
		<item>
		<title>Microsft, Yahoo and MSN Lose Bets to US Government</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/wDUfOTvuJgQ/</link>
		<comments>http://www.logon2.com.au/blog/archive/uncategorized/microsft-yahoo-and-msn-lose-bets-to-us-government/#comments</comments>
		<pubDate>Thu, 20 Dec 2007 02:07:42 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[gambling]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[legal]]></category>

		<category><![CDATA[live]]></category>

		<category><![CDATA[news]]></category>

		<category><![CDATA[us]]></category>

		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/archive/uncategorized/microsft-yahoo-and-msn-lose-bets-to-us-government/</guid>
		<description><![CDATA[Within a week of the US locking foreigners out of its online gambling market, the three biggest search companies - Google, Yahoo and Microsoft - have all decided to settle with the US Goverment on cases regarding the promotion of online gambling, which is illegal in the US.  The total amount forfeited was $31 [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.logon2.com.au/blog/wp-content/microsoft-yahoo-microsoft-o.jpg" alt="Microsft, Yahoo and MSN Lose Bets to US Government" align="right" hspace="5" vspace="5" />Within a week of the <a href="http://www.logon2.com.au/blog/archive/internet-news/us-gambling-market-closed-to-europe-japan-and-canada/">US locking foreigners out of its online gambling market</a>, the three biggest search companies - <a href="http://mashable.com/2007/12/19/yahoo-google-microsoft-settle-internet-gambling-case/" target="_blank">Google, Yahoo and Microsoft - have all decided to settle with the US Goverment</a> on cases regarding the promotion of online gambling, which is illegal in the US.  The total amount forfeited was $31 million - much of which was in the form of advertising credit.</p>
<p>Google was required to settle for the least amount - $3 million. Yahoo paid $12 million  - $4.5 million of payment in the form of advertising on the Yahoo Network. Microsoft forked out the most, with a total settlement worth $21 million - $9 million of which is in advertising credits to be used for public service announcements.</p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/tips/your-site-need-fresh-content-regularly/" title="Does Your Site Need Fresh Content, Regularly?">Does Your Site Need Fresh Content, Regularly?</a></li><li><a href="http://www.logon2.com.au/blog/archive/internet-news/us-gambling-market-closed-to-europe-japan-and-canada/" title="US Gambling Market closed to Europe, Japan and Canada">US Gambling Market closed to Europe, Japan and Canada</a></li><li><a href="http://www.logon2.com.au/blog/archive/internet-news/advertise-in-pdf-documents-yahoo-and-adobe-team-up/" title="Advertise in PDF Documents - Yahoo and Adobe Team Up">Advertise in PDF Documents - Yahoo and Adobe Team Up</a></li><li><a href="http://www.logon2.com.au/blog/archive/internet-news/chinese-addicted-to-the-web/" title="Chinese Addicted to the Web?">Chinese Addicted to the Web?</a></li><li><a href="http://www.logon2.com.au/blog/archive/internet-news/google-set-your-geographic-location/" title="Google Goes Geographic!">Google Goes Geographic!</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/uncategorized/microsft-yahoo-and-msn-lose-bets-to-us-government/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/uncategorized/microsft-yahoo-and-msn-lose-bets-to-us-government/</feedburner:origLink></item>
		<item>
		<title>New Tool - YouTube Music on MySpace</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/LkZ2TMm-v1U/</link>
		<comments>http://www.logon2.com.au/blog/archive/tools/new-tool-youtube-music-on-myspace/#comments</comments>
		<pubDate>Wed, 19 Dec 2007 11:43:56 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[MySpace]]></category>

		<category><![CDATA[tools]]></category>

		<category><![CDATA[generator]]></category>

		<category><![CDATA[music]]></category>

		<category><![CDATA[profile]]></category>

		<category><![CDATA[tool]]></category>

		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/archive/tools/new-tool-youtube-music-on-myspace/</guid>
		<description><![CDATA[After being asked a number of times how to get YouTube music on peoples&#8217; MySpace profile, I made a tool that generates the code to:

Put music from a YouTube video into your MySpace profile, bulletin, blog, comment or anywhere else you can post HTML.



Just enter the URL of the page that the YouTube video is [...]]]></description>
			<content:encoded><![CDATA[<p>After being asked a number of times how to get YouTube music on peoples&#8217; MySpace profile, I made a tool that generates the code to:</p>
<ul>
<li><strong>Put music from a YouTube video into your MySpace profile, bulletin, blog, comment or anywhere else you can post HTML.<br />
</strong></li>
</ul>
<hr />
Just enter the URL of the page that the YouTube video is on and we&#8217;ll give you the code:</p>
<form action="/tools/myspace-hidden-music/" method="post" enctype="application/x-www-form-urlencoded" name="form1"> YouTube Video URL:<br />
<input name="url" id="URL" type="text" /> <span class="meta">(<a href="#">don&#8217;t know how to get the URL?</a>)<br />
<input name="generate" value="Generate YouTube Music  Code" type="submit" /> </span></form>
<p>
<hr /></p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/download-soundtrack-from-youtube-videos/" title="Download Music From YouTube Videos - From YouTube to MP3">Download Music From YouTube Videos - From YouTube to MP3</a></li><li><a href="http://www.logon2.com.au/blog/archive/tools/myspace-convert-text-to-html/" title="MySpace - Convert Text to HTML">MySpace - Convert Text to HTML</a></li><li><a href="http://www.logon2.com.au/blog/archive/myspace/choose-myspace-comment-colors-fonts-and-sizes/" title="Choose MySpace Comment Colors, Fonts and Sizes">Choose MySpace Comment Colors, Fonts and Sizes</a></li><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/youtube-videos-choppy-or-slow/" title="YouTube Videos Choppy or Slow">YouTube Videos Choppy or Slow</a></li><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/download-youtube-videos/" title="Download YouTube Videos - Also burn them to DVD">Download YouTube Videos - Also burn them to DVD</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/tools/new-tool-youtube-music-on-myspace/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/tools/new-tool-youtube-music-on-myspace/</feedburner:origLink></item>
		<item>
		<title>US Gambling Market closed to Europe, Japan and Canada</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/QINALVfPEdk/</link>
		<comments>http://www.logon2.com.au/blog/archive/internet-news/us-gambling-market-closed-to-europe-japan-and-canada/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 12:35:50 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
		
		<category><![CDATA[Internet News]]></category>

		<category><![CDATA[internet]]></category>

		<category><![CDATA[laws]]></category>

		<category><![CDATA[news]]></category>

		<category><![CDATA[online-gambling]]></category>

		<category><![CDATA[regulations]]></category>

		<category><![CDATA[usa]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/archive/internet-news/us-gambling-market-closed-to-europe-japan-and-canada/</guid>
		<description><![CDATA[The United States Government has made agreements with the European Union, the Japanese Government and the Canadian government to keep it&#8217;s online gambling market exclusive to US companies. The US is still in negotiations with other online gambling company hubs such as India, Antigua and Barbuda, Macau and Costa Rica.
European online gambling companies are disappointed [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.logon2.com.au/blog/wp-content/us-locks-out-foreign-online-gambling-companies.jpg" alt="US Locks out Foreign Online Gambling Companies" vspace="5" hspace="5" align="right"/>The United States Government has made agreements with the European Union, the Japanese Government and the Canadian government to keep it&#8217;s online gambling market exclusive to US companies. The US is still in negotiations with other online gambling company hubs such as India, Antigua and Barbuda, Macau and Costa Rica.</p>
<p>European online gambling companies are disappointed with the agreement - who were hoping that a recent case against the US at the World Trade Organisation determined that a US law only allowing US companies to offer horse-race betting services was discriminatory to offshore companies.</p>
<p>Though, since the discrimination case , the US has made it more difficult for foreign online gambling companies by making it illegal for US banks and other financial institutions to send money to offshore gambling companies.</p>
<p>Offshore online gambling companies claim that being refused access to the US market is hindering their business. European online gambling companies believe that they are entitled to as much as $100 billion in compensation -though the European Commission has dismissed the request as an exaggeration.</p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/tips/your-site-need-fresh-content-regularly/" title="Does Your Site Need Fresh Content, Regularly?">Does Your Site Need Fresh Content, Regularly?</a></li><li><a href="http://www.logon2.com.au/blog/archive/uncategorized/microsft-yahoo-and-msn-lose-bets-to-us-government/" title="Microsft, Yahoo and MSN Lose Bets to US Government">Microsft, Yahoo and MSN Lose Bets to US Government</a></li><li><a href="http://www.logon2.com.au/blog/archive/internet-news/chinese-addicted-to-the-web/" title="Chinese Addicted to the Web?">Chinese Addicted to the Web?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/internet-news/us-gambling-market-closed-to-europe-japan-and-canada/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/internet-news/us-gambling-market-closed-to-europe-japan-and-canada/</feedburner:origLink></item>
	</channel>
</rss>
