我试图将变量值从页面传递到另一个页面。我用来转到下一页,我用Session来获取值,
链接变量确实有效,但价格变量无法正常工作这里是代码: 的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>';
?>
帮帮我:)
答案 0 :(得分:1)
只有表单发送的值才会出现在GET
或POST
数组中。
根据您的展示我得出结论,您不希望在表单中显示该字段,因此请将其隐藏。
在表单标记中添加:
<input name="price" type="hidden" value="'.$price.'" class="inputClass">
此外,如果您要使用这些值来访问数据库,那么只需要接受这样的变量就会更加小心,假设所有用户输入都是错误的和/或危险的。 您可能希望查看SQL injection和mysqli_escape_string
等内容答案 1 :(得分:0)
您正在使用获取方法获取价格,而您尚未在重定向网址中传递该价格。如果你想使用get方法在其他页面上获取该变量,那么将其传递给action url as:
<form action="Orderform.php?price=<?php echo $price; ?>" method="post" class="formClass">
并获取为:
$price = $_GET['price'];
或者使用表单内的隐藏字段传递它,并使用post方法获取。
<input name="price" type="hidden" value="'.$price.'" class="inputClass">
并获取如:
$price = $_POST['price'];
答案 2 :(得分:0)
可以通过多种方式发送数据