Passing PHP variables from one page to another


Posted on 16th Feb 2014 07:03 pm by admin

Hello-

I'm having trouble figuring out how to transport a variable from one php file to another. Specifically, the name of an image, to be used as a subject in a form mail. I don't even really have the proper vocabulary to describe this, so I'll just try to show my code.

Did you know?Explore Trending and Topic pages for more stories like this.
Here's the test website in question:

http://www.grymttr.com/raj/RajTest/portfolio/

When you go to the "portfolio" page, and click on the album (only one at the moment). If you see a picture you are interested in, you click on it, which triggers the file "popup2.php"

Quote<?php error_reporting(0); if (isset($_GET['dl'])) {
$file = str_replace('/', DIRECTORY_SEPARATOR, $_GET['src']);
if (strpos($file, '..') !== false) {
exit;
}
$name = basename($file);
$info = pathinfo($name);
$ext = $info['extension'];
$full_path = dirname(__FILE__) . $file;
header("Content-Disposition: attachment; filename=$name");
switch(strtolower($ext)) {
case 'jpg':
$ct = 'image/jpeg';
break;
case 'gif':
$ct = 'image/gif';
break;
case 'png':
$ct = 'image/png';
break;
default:
$ct = 'application/octet-stream';
break;
}

header('Content-type: ' . $ct);
header('Content-length: ' . filesize($full_path));

$disabled_functions = explode(',', ini_get('disable_functions'));

if (is_callable('readfile') && !in_array('readfile', $disabled_functions)) {
readfile($full_path);
} else {
die(file_get_contents($full_path));
}
} else { ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title><?php echo(strip_tags($_GET['title'])); ?></title>
<style type="text/css" media="screen">
/* <![CDATA[ */
* { margin:0; padding:0; overflow:auto;}
/* ]]> */
</style>

<script type="text/javascript" charset="utf-8">
function isIE() {
return /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
}

function resize(img_w, img_h) {
if (isIE()) {
var h = document.documentElement.clientHeight;
} else {
var h = window.innerHeight;
}
var w = document.body.clientWidth;
var adj_w = img_w - w;
var adj_h = img_h - h;
window.resizeBy(adj_w, adj_h);
window.focus();
}
</script>
<link href="mail.css" rel="stylesheet" type="text/css" />
</head>

<body>
<?php

if (strpos($_GET['src'], 'p.php?a=') !== false) {
$src = $_GET['src'];
$bits = explode('?a=', $src);
$src = $bits[0] . '?a=' . urlencode($bits[1]);
} else {
$src = strip_tags($_GET['src']);
}

?><div id="container">
<img class="image" src="<?php echo($src); ?>" alt="<?php echo(strip_tags($_GET['title'])); ?>" />
<div id="form">

<form method="POST" action="mailer.php">
Subject: "<?php echo(strip_tags($_GET['title'])); ?>"



Name:
<input type="text" name="name" size="29">



E-Mail:
<input type="text" name="email" size="29">




<input type="checkbox" name="check[]" value="print"> print

<input type="checkbox" name="check[]" value="matte"> matte

<input type="checkbox" name="check[]" value="frame"> frame



Message:

<textarea rows="7" name="message" cols="33"></textarea>



<input type="submit" value="Submit" name="submit">
</form>
</div></div>

</body>
</html><?php } ?>
and then I have "mailer.php" which actually sends the mail with the variables entered in the form above. The lines highlighted in green grab the "title" of the image, like "GLS002.jpg", which is what I want to be the subject of the e-mail.

Quote
<?php
if(isset($_POST['submit'])) {


$to = "greg@grymttr.com";
$subject = $_GET['title'];
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$message = $_POST['message'];

foreach($_POST['check'] as $value) {

$check_msg .= "Checked: $valuenn";

}

$body = "From: $name_fieldnn E-Mail: $email_fieldnn Subject: $subjectnn Message:nn $messagenn $check_msg";

echo "Data has been submitted to $to!";
mail($to, $subject, $body);


} else {

echo "blarg!";

}
?>

I know the line in red is wrong, but I don't know how to get the title of the image from "popup2.php". If you go to the site and click on an image during the slideshow, you will see the pop-up open, with the title of the window and the "Subject: ....." line filled out correctly, but I can't figure out how to get that variable into the mailer.php file as the subject of the e-mail that gets sent. It's sort of critical, as that's the identification of the image in question. Help!
No comments posted yet

Your Answer:

Login to answer
165 Like 32 Dislike
Previous forums Next forums
Other forums

update post issues
I am trying to create an update to a post function, while the update does occur, the page routing an

passing data from one page to another
hey guys
i have the follwoing code to get information from one page and place on another:

BSP Ext - tableView - Sort - NEWBIE
Hi,
I have been trying to get the sort to work. I have defined the column definitions by fillin

blank page.... nothing is happening.
I'm new to a lot of this but in the last 24hrs have learned a lot.
Installed latest version of my

how to export excel file in same server
My first post - php newbie, so appreciate your support.

I'm currently using headers to save w

Parse error: parse error in C:wampwwwlogspagesmembers.php on line 16
I dont see the problem with this, I always get Parse error: parse error in C:wampwwwlogspagesme

ScriptResource.axd gives an error on fresh install of ASP.NET Ajax 1.0
Hello,I have a fresh install of Microsoft ASP.NET Ajax 1.0. When I create an Ajax enabled website in

Wierd if else problem
Hi guys,

this probably aint wierd for you, but it seems like php is playin up to me. may b i

Sessions work for me and not others?
I'm having a bit of bad luck with sessions. In the past they have worked fine for me, but this time

MySQL Does not UPDATE- SQLString Problem
vb Syntax (Toggle Plain Text) 1. SQL = "UPDATE sampletable SET column1 = 'C1sample1'"

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash