So here is my index.php:
Code:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>Arch13 Architecture and Tactile Design</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="Arch13 is a small design studio focused on Architectural Design and Historic Preservation.
We like working with our hands and finding solutions that aren't just 'off the shelf'" />
<meta name="robots" content="ALL" />
<meta name="author" content="Arch13 Design Studio" />
<meta name="publisher" content="Arch13" />
<meta name="subject" content="Arch13 Design Studio" />
<meta name="title" content="Arch13" />
<link href="css/global.css" rel="stylesheet" media="screen" type="text/css">
<link href="css/type.css" rel="stylesheet" media="screen" type="text/css">
</head>
<SCRIPT LANGUAGE="JavaScript" src="common/fadeitb.js"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!-- Idea by: Nic Wolfe (Nic@TimelapseProductions.com) -->
<!-- Web URL: http://fineline.xs.mw -->
<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
<!-- Begin
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=400,height=300,left = 312,top = 234');");
}
// End -->
</script>
<body bgcolor="#181A25">
<table width="700" height="408" border="0" align="center" cellpadding="0" cellspacing="0" style="border:1px solid #FFFFFF; width: 698px;">
<tr bgcolor="#FFFFFF">
<td width="28" height="25" bgcolor="#999999" class="navbars" cellpadding="0" cellspacing="0"> </td>
<td width="201" bgcolor="#999999" class="navbars" cellpadding="0" cellspacing="0"><font color="#FFFFFF"><a href="index.php" class="masthead">Arch13.com</a></font></td>
<td width="439" height="25" bgcolor="#999999" class="navbars" cellpadding="0" cellspacing="0"><div align="right">Bryce
| Sonia</div></td>
<td width="28" bgcolor="#999999" class="navbars" cellpadding="0" cellspacing="0"> </td>
</tr>
<tr bgcolor="#FFFFFF">
<td height="25" class="navbars" cellpadding="0" cellspacing="0"> </td>
<td height="25" class="navbars" cellpadding="0" cellspacing="0">Architecture/Design</td>
<td height="25" class="navbars" cellpadding="0" cellspacing="0"><div align="right"><a href="index.php?id=main">About</a>
| <a href="index.php?id=recent">Recent Work</a> | <a href="index.php?id=contact">Contact</a>
| <a href="index.php?id=resume">Resumé</a> | <a href="index.php?id=p_gallery&id2=portfolio_gal">Portfolio</a></div></td>
<td height="25" class="navbars" cellpadding="0" cellspacing="0"> </td>
</tr>
<tr>
<td height="353" bgcolor="#CCCCCC"><div align="center" class="unnamed2">
<p> </p>
</div></td>
<td height="353" colspan="2"cellpadding="0" class="contentbox"><div align="center">
<?php
$id = $_REQUEST['id'];
if(file_exists($id.".jpg")) {
echo "<img src='$id.jpg'>";
} elseif(file_exists($id.".php")) {
include($id.".php");
} else {
echo "<img src='Brewerysplash.jpg'>";
}
?>
</div>
<div align="center"></div></td>
<td bgcolor="CCCCCC"> </td>
</tr>
</table>
<div align="center" class="footer"><br>
<A HREF="javascript:popUp('popup_copyright.php')" class="footer">
<?php include"footer.htm"; ?>
</A>
</div>
</body>
</html>
My class="contentbox" is my content display area. As you see, the php that calls $id is there so that depending on the url, it places the included file called in that box.
Now brewery.php:
Code:
<link href="css/global.css" rel="stylesheet" type="text/css" />
<link href="css/layout.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.wrapper {
height: 480px;
width: 640px;
margin:0px auto;
text-align:center;
padding-top:0px;
border:1px #fff;
}
.photo_image {
height: 440px;
margin: 0 0 0 0px;
background-color:#BFCCE3;
remove--->
font-family: Verdana;
font-size: 11px;
}
.photo_nav {
height: 40px;
margin:0 0 0 0px;
text-align:left;
padding:0px 0px 0px 5px;
border-top:2px solid #ccc;
background-color:#666;
font-family: Verdana;
font-size: 11px;
}
.photo_subnav {
width: 55px;
height: 40px;
background-color:#660000;
padding:0px 0px 0px 0px;
float: left;
color: #FFFFFF;
}
-->
</style>
<div class="wrapper">
<div class="photo_image">
<?php
$id = $_REQUEST['id2'];
if(file_exists($id.".jpg")) {
echo "<img src='$id.jpg'>";
} elseif(file_exists($id.".php")) {
include($id.".php");
} else {
echo "<img src='brewerysplash.jpg'>";
}
?>
</div>
<div class="photo_nav">
<div class="photo_subnav">< 1/12 ></div>
Crasnton, RI - Built in 1853 as the Providence Trolley house. Used as the
repair shop and storage shed for trolleys until 1923 when the city shuttered
their traction car system. It was then converted to the Cranston Brewery under
which it operated until the company went under in the late 70's.</div>
</div>
So here is the goal in a nutshell: Clean up the php coding to be more efficiant, and so that $id2=12345 instead of the name. Your previously suggested, parse failed script is hitting the nail on the head of intent there. Of course, that is only for this include page that I want it to work that way. In the case of
www.arch13.com/index.php?id=p_gallery, I still need $id2 to work as it does currently. (when it doesn't, you'll notice that clicking that url defaults to a picture of a boiler on the left instead of a thumbnail table since the url didn't set an $id2)
The solution I'm searching for is something to use on all the building gallery pages. Brewery.php, stockhouse.php, etc.
So the url
www.arch13.com/index.php?id=brewery will display the brewery.php file in the content box of the index.
Becuase I still need the code to work in way similar to currently on some pages, while the way we're discussing on others, I thought keeping the $id and $id2 scripts seperate was a good idea. But I know a lot less about clean code than you do.
I want to create a new set of pages, one for each building I document. On these pages, the solution I want is what we are discssuing.
So to comment on your script as suggested:
Code:
$id = $_REQUEST['id']; //Can't we just get this from the script in index.php since that already defined it?
$id2 = $_REQUEST['id2'];
define('IMAGE_PATH', 'img/'); // Okay, I understand that this allows the code to place imgs/ in front of the image path
$filename=$id.'_'.$id2.'.jpg' // Since we defined $id in the parent page (index.php), how to we pass it on to this php script on the included page?
$image_location=IMAGE_PATH.$filename // Becomes 'img/brewery_1.jpg' in our example. That's exactly what I was thinking of.
if(file_exists($image_location)) {
echo "<img src='$image_location'>"; // So this is what displays the picture dependong on the variable..
} elseif(file_exists($id.".php")) {
include($id.".php");
} else {
echo "<img src='brewerysplash.jpg'>";
}
Am I loosing you at this point?
I really hope not
Can your suggested script be made to work while leaving the php script in index.php the same and just messing with the php script on the included page, or is this going to take a whole new appraoch?