Reputation: 45
Im trying to pass a variable value from a page to another page. Im using to go to the next page and I use Session to get the value,
the link variable does working but the price variable doesn't work
Here's the code: index.php
<?php
require('connect.php');
if(!isset($_SESSION)){
session_start();
}
$query = mysqli_query($connection, "SELECT link, price FROM funnyture WHERE category ='Bed' or category = 'Chairs' or category = 'Tables'") or die("Couldn't find search");
$count = mysqli_num_rows($query);
if($count == 0) {
$output = "There was no row in array";
} else {
while($row = mysqli_fetch_array($query)) {
$link = $row['link'];
$price = $row['price'];
echo '
<form action="Orderform.php" method="post" class="formClass">
<input name="link" type="image" src="'.$link.'" value="'.$link.'" class="inputClass">
</form>';
}
}
?>
Orderform.php
<?php include 'navbar2.php' ;?>
<div class="left">
<?php
$_SESSION['link'] = $_POST['link'];
// $_SESSION['price'] = $_POST['price'];
echo '<img src="'.$_SESSION['link'] .'">';
echo '<p>'.$_GET['price'].'</p>';
?>
Help me :)
Upvotes: 0
Views: 119
Reputation: 4371
Data can be Send in multiple ways
in your orderform.php you are forgot to start session.
Upvotes: 0
Reputation: 785
You are fetching the price using get method and you have not passed it in your redirect url. If you want to fetch that variable on other page using get method then pass it in action url as :
<form action="Orderform.php?price=<?php echo $price; ?>" method="post" class="formClass">
and fetch as :
$price = $_GET['price'];
Or otherwise pass it using a hidden field inside form and fetch using post method.
<input name="price" type="hidden" value="'.$price.'" class="inputClass">
and fetch like:
$price = $_POST['price'];
Upvotes: 0
Reputation: 33993
Only values that are sent by a form will be in the GET
or POST
array.
From what you are showing I conclude that you don't want to show the field in your form, so make it hidden.
Add this inside your form tag:
<input name="price" type="hidden" value="'.$price.'" class="inputClass">
Also, if you are going to use these values to access the database, be more careful with just taking in variables like this, assume that all user input is wrong and/or dangerous. You would want to look at things like SQL injection and mysqli_escape_string
Upvotes: 1