PDA

View Full Version : Basic PHP Problem


japamor
2006-08-18, 06:06 PM
I'm trying to teach myself PHP and I'm getting tied up in knots.

I'm trying to use conditionals to create a pic of the day script. I know it should be easy but my cocked result can be seen under the first banner at:
http://www.jpmr1.com/index.html


The code I'm using is:
<php?
$today = date("l");
if ($today == "Sunday")
{
print ("<img src=\"http://www.japamor.com/banners/ferrocash/sfs/200x250_001.gif\">");
}
if ($today == "Monday")
{
print ("<img src=\"http://www.japamor.com/banners/ferrocash/sfs/200x250_002.gif\">");
}
if ($today == "Tuesday")
{
print ("<img src=\"http://www.japamor.com/banners/ferrocash/sfs/200x250_003.gif\">");
}
if ($today == "Wednesday")
{
print ("<img src=\"http://www.japamor.com/banners/ferrocash/sfs/200x250_004.gif\">");
}
if ($today == "Thursday")
{
print ("<img src=\"http://www.japamor.com/banners/ferrocash/sfs/200x250_005.gif\">");
}
if ($today == "Friday")
{
print ("<img src=\"http://www.japamor.com/banners/ferrocash/sfs/200x250_006.gif\">");
}
if ($today == "Saturday")
{
print ("<img src=\"http://www.japamor.com/banners/ferrocash/sfs/200x250_001.gif\">");
}
?>
I've spent hours trying to see what I've done wrong and its very frustrating. If anyone can help I'll be most grateful.

Cheers |huh

iMan
2006-08-18, 07:25 PM
You have the openinng php tag wrong.. it should be: <?php

cd34
2006-08-18, 07:26 PM
The first thing I see is your opening tag, you have <php? where it should be <?php

The second thing I see is that you could do things a little easier...


<?php

$banner_array = array(
'Sunday' => 'http://www.japamor.com/banners/ferrocash/sfs/200x250_001.gif',
'Monday' => 'http://www.japamor.com/banners/ferrocash/sfs/200x250_002.gif',
'Tuesday' => 'http://www.japamor.com/banners/ferrocash/sfs/200x250_003.gif',
'Wednesday' => 'http://www.japamor.com/banners/ferrocash/sfs/200x250_004.gif', 'Thursday' => 'http://www.japamor.com/banners/ferrocash/sfs/200x250_005.gif',
'Friday' => 'http://www.japamor.com/banners/ferrocash/sfs/200x250_006.gif',
'Saturday' => 'http://www.japamor.com/banners/ferrocash/sfs/200x250_001.gif'
);

$today = date("l");
?>
html here
<p>
<img src="<?php echo $banner_array[$today];?>">


Not that I particularly like that solution -- I would probably write a quick cron job to copy the right banner into place. Alternatively, you could consider using phpadsnew which would allow you to do all sorts of banner management.

japamor
2006-08-20, 04:12 AM
Many thanks to iMan and cd34. That's saved me hours of work. :D |bananna|

iMan
2006-08-20, 10:04 AM
Hey japamor,

Many thanks to iMan and cd34. That's saved me hours of work.

Cool.
It's usually the "little" things that takes time.
And if you're just learning PHP, and don't know any other C type of language, some of the most common mistakes, besides the php tags, are: To not put a semi colon a the end of a line, mixing up equal operator (== and/or ===) with assignment operator (=), using a bitwise operator (&, |) when you intend to use a boolean operator (&&, ||).

There are of course more... but I think these are the most common little buggers that you should pay attention to :)

Btw, although I totally agree with cd34, here's a "quick and dirty" way to do the daily photo:
<?php
for($i=0; $i<7; $i++){
if(date("w") == $i){
echo "<img src='http://www.japamor.com/banners/ferrocash/sfs/200x250_00$i.gif'>";
}// if
}// for
?>

This requires your pictures to be named in a sequential way though.. with 0,1,2,3.. etc. where the $i is in the "img src" tag.

Many ways lead to Rome,
happy coding :)