?
Solved

Passing variables: One PHP Document Within Another

Posted on 2003-02-28
8
Medium Priority
?
220 Views
Last Modified: 2008-02-26
I have a website setup as follows: There is the main file, called index.php.  It's job is to show the html to make my page look pretty, which basically includes making up a table.  Since I have several pages within my site, I set it up so that to move to a new page the link would be like:

index.php?id=newpage.htm

What happens is index.php uses FOPEN() on 'newpage.htm', reads the contents of the file, then ECHOs the entire contents out in one of the cells of the table.  The problem here is that if I want to open up another PHP document that has a form, I can't pass variables to the second page (i.e. 'form.php').

Here is the code:

<?php

if($id) {
     $filename=$id;
     if(file_exists($filename)){
          $resource = fopen($filename,"r");
          $contents = fread($resource, filesize($filename));
          $handle = fclose($resource);
     } else {
          $contents = "Sorry!  This area of the site is currently undergoing construction but should be up shortly.  Thank you!";
     }
} else {
          $filename = "primary.htm";
          $resource = fopen($filename,"r");
          $contents = fread($resource, filesize($filename));
          $handle = fclose($resource);
}

?>

<body>
<table width="750" border="0" cellspacing="0" cellpadding="0" align=center>
  <tr>
    <td width="155" background="images/left.jpg"><img src="images/code.jpg" width="155" height="129"></td>
    <td width="595" align="left" valign="top" background="images/bluefade.jpg"><img src="images/topmenu.gif" border="0" align="baseline" usemap="#Map"></td>
***REMOVED TO SAVE SPACE***
    <td background="images/bluefade.jpg" valign=top><font size = "2" face="Arial, Helvetica, sans-serif">   ***HERE IS WHERE THE FILE IS INSERTED***   <?php printf("%s", $contents); ?></font><br><br><br></td>
  </tr>
</table>
<table width="755" border="0" cellspacing="0" cellpadding="0" align=center>
  <tr>
    <td><img src="images/bottombar.gif"></td>
  </tr>
</table>
***REMOVED TO SAVE SPACE***
</body>
</html>

How can I set it up so that I can use FOPEN to open another PHP document and have that document pass variables to itself?

Thanks,
Matt
0
Comment
Question by:bomax
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
8 Comments
 
LVL 5

Expert Comment

by:harwantgrewal
ID: 8046837
Not able to get your point. Are you saying if the include file will have some vairables how you will get them. Pleas explain more


Harry
0
 

Author Comment

by:bomax
ID: 8046856
Ok...Basically I want to create a Header file and a Footer file.  BUT, when I use the INCLUDE statement, PHP looks in the hosts include directly, however my files are in my directory.  Is there a way to have PHP look in my dir instead of the 'include' dir?
0
 
LVL 5

Expert Comment

by:harwantgrewal
ID: 8046928
yes just try this include "./file.php";

Harry
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 4

Accepted Solution

by:
Devastated earned 300 total points
ID: 8047137
You don't need to read a files contents and display it to the page... you simply use an inclde statement as follows...


<?php include("inc/footer.txt"); ?>

in the above example..

if the code above were in index.php then in the same folder there must be a folder named inc and in there the footer.


P.S. You decide where it looks.
P.P.S. You may have some problems if you start including files within includes etc etc but most can be done - u just have to work out the paths correctly.
0
 

Author Comment

by:bomax
ID: 8047174
Is there a way to use the include statement, but if the file isn't found to display a nice error message instead of the standard "warning: mysql...."
0
 
LVL 4

Expert Comment

by:Devastated
ID: 8047321
<?php
$strURL = $HTTP_GET_VARS["name"];
if (($strURL == null) OR ($strURL == "") OR ($strURL == "home")) {
     $strURL="inc/index_body.asp";
} else {
     $strURL="inc/".$strURL."_body.asp";
}
include($strURL);
?>

Use the above code rather than what you want to do - unless you really like displaying error messages (doesnt seem logical - they shouldnt have invalid URLs should they ?)

The above code checks if the var passed e.g. index.php?name=home

the var checked is name and if it is empty or null (doesnt exist e.g. index.php?name="" or index.php?name= then it displays the main page...

or index.php?name=home for the return home button of course :-) otherwise it will go and get the appropriate include file e.g. index.php?name=registration then the code will look in the inc folder for a file named registration_body.asp

TIP OF THE DAY: Leave the files as .asp because they cannot be leeched from your server! - the way .inc, .js, .txt etc can be.
0
 
LVL 4

Expert Comment

by:Devastated
ID: 8047324
hmmm more of an A answer i'd say! :D
0
 

Author Comment

by:bomax
ID: 8048332
Thanks... :)
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Things That Drive Us Nuts Have you noticed the use of the reCaptcha feature at EE and other web sites?  It wants you to read and retype something that looks like this. Insanity!  It's not EE's fault - that's just the way reCaptcha works.  But it i…
Part of the Global Positioning System A geocode (https://developers.google.com/maps/documentation/geocoding/) is the major subset of a GPS coordinate (http://en.wikipedia.org/wiki/Global_Positioning_System), the other parts being the altitude and t…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
Suggested Courses

800 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question