Archived entries for

PHP – Select Menu with Current Month Selected

Here's a PHP class that displays the current month in a select menu list of months:

<?php
$curr_month = date("m");
$month = array (1=>"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
$select = "
<select name=\"month\">\n";
foreach ($month as $key => $val) {
    $select .= "\t<option val=\"".$key."\"";
    if ($key == $curr_month) {
        $select .= " selected=\"selected\">".$val."</option>\n";
    } else {
        $select .= ">".$val."</option>\n";
    }
}
$select .= "</select>
 
";
echo $select;
?>

I found this script on: http://www.finalwebsites.com/forums/topic/select-menu-with-current-month

Web Design – Wireframing (A Beginners Guide)

Smashing magazine had a lengthy post about wireframing (which I mentioned previously), BuildInternet have a crash course on wireframing.

http://buildinternet.com/2009/09/why-your-next-website-should-be-designed-with-wireframes/

In the article, a great online wireframing application is recommended called HotGloo. Signup is required, but it is free and you get your own subdomain name which allows you to share your projects with clients.

Web Design – Free PSD Templates

Here's an article that provides over 70 PSD web Templates:

http://www.instantshift.com/2009/09/17/70-ultimate-round-up-of-free-psd-website-templates/

Inspiration – 12 Tips for Creating a Great Portfolio

Noupe has a good article covering some essential tips for portfolios. THere's also a showcase section of good portfolios with the pros and cons of each.

http://www.noupe.com/design/12-tips-for-creating-a-great-portfolio-site.html

PHP – Validating an Email Addresss

Countless scripts have been written for validating email addresses in PHP, I've used a few and most seem to work fine. i came across this article (http://www.linuxjournal.com/article/9585) which discusses IETF's documents concerning email address standards. Valid email address are not just in the form of someone@domain.com. Backslashes, more than one "@" symbol are valid in email addresses as well as other symbols (I didn't look into it much!). There is a lengthy script for validating email addresses included in the article.

However, I couldn't get it to work, maybe I'm just too impatient. There is a good script included in the article which doesn't account for backslashes and the @ symbol. This works quite well for me. (I know, it's bad practice!). I've copied the code and indented it for readability below (and changed the function name, I've tested it out on a live site).

function checkEmail($email)
	{
		//First, we check that there's one @ symbol,
		//and that the lengths are right.
		if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email))
			{
				//Email invalid because wrong number of characters
				//in one section or wrong number of @ symbols.
				return false;
			}
 
		//Split it into sections to make life easier
		$email_array = explode("@", $email);
		$local_array = explode(".", $email_array[0]);
 
		for ($i = 0; $i < sizeof($local_array); $i++)
			{
				if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&↪'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$",$local_array[$i]))
					{
						return false;
					}
			}
 
			//Check if domain is IP. If not,
			//it should be valid domain name
			if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1]))
				{
					$domain_array = explode(".", $email_array[1]);
					if (sizeof($domain_array) < 2)
						{
							return false; // Not enough parts to domain
						}
					for ($i = 0; $i < sizeof($domain_array); $i++)
						{
							if(!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|↪([A-Za-z0-9]+))$",$domain_array[$i]))
								{
									return false;
								}
						}
				}
		return true;
	}
 

If you find this script isn't conforming to correct standards, there's a more complex and updated one at google code:

http://code.google.com/p/php-email-address-validation/

Design – PSD Files for Designers

Hongkiat has a great list of PSDs for use in web design. Objects include mp3 players, monitors, computers, icons, etc.

http://www.hongkiat.com/blog/60-high-quality-photoshop-psd-files-for-designers/

Wordpress – Cheat Sheet

Here's a great cheat sheet (pdf) for wordpress:

http://ekinertac.com/?p=259

Photography – 21 Great Shots and How They Were Taken

Digital Photography School have a great showcase of some great photos and an explanation on how they were taken:

http://digital-photography-school.com/great-reader-shots

PHP – Retrieve and display your recently listened to tracks from last.fm

I've been playing around with retrieving my recently listened to tracks from last.fm so that I can use it on my portfolio. Last.fm provides an XML file of recently listened to tracks, so I wrote a php function to retrieve them. Below is the script, it's just basic HTML at the moment so that it can be properly stylised. I've commented all the code so you can see how it works.

//enter your last.fm username
$username = 'spahndirge';
//in seconds, how long to wait until your recently listened tracks are checked for new entries
$time = 300;
//this is the URL of the last.fm xml file of your profile
$lastfmFile = "http://ws.audioscrobbler.com/1.0/user/$username/recenttracks.xml";
//the number of tracks you want to display, this can't be above 9
$numOfTracks = 5;
 
function getTracks($username, $time, $lastfmFile, $numOfTracks) {
//this will be the local xml file written to your server
$myLocalFile = $username.'.xml';
//if the local xml file doesn't exist or if local xml file is older than the time set
if ((!file_exists($myLocalFile)) || (time()-filemtime($myLocalFile)>$time)) {
	//get the last.fm xml file and place it into the contents variable as a string
	$contents = @file_get_contents($lastfmFile);
	//open the local file or create it if it doesn't exist
	$temp = fopen($myLocalFile, "w");
	//write the contents of the lastfmFile to the local file
	fwrite($temp, $contents);
	//close the file
	fclose($temp);
}
//grab the local xml file and place it into the xml variable
$xml = @simplexml_load_file($myLocalFile);
//create an unordered list of the track name and artist from the local XML file
print "
<ul>";
	for ($t = 0; $t <= $numOfTracks; $t++) {
		print "\n
<li><a href=\"".$xml->track[$t]->url."\" target=\"_blank\">".$xml->track[$t]->name." - ".$xml->track[$t]->artist."</a></li>
 
";
	}
	print "</ul>
 
";
}
 
getTracks($username, $time, $lastfmFile, $numOfTracks);

It isn't the most efficient code, but it works!

I set the time to 300 seconds (5 minutes), it's around the average time it takes to listen to a song. This is to reduce server load and loading times; there's no point in checking for a new song every minute or two.

If you have any improvements on the script, let me know.

Web Development – Minimise Load Times

Smashing Magazine has tweeted a very informative link on how to minimize web page load times. It lists some great tools which analyse load times.

http://www.uxbooth.com/blog/how-to-minimize-load-time-for-fast-user-experiences/



Copyright © 2004–2009. All rights reserved.

Computers & Internet Directory