2015-06-22 129 views
0

我试图将页面中的变量值传递给另一页面。使用IM进入下一个页面,我使用会话来获取值,如何将页面中的值传递给PHP中的另一个页面

链接变量不工作,但价格变量不起作用

下面的代码: 的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>'; 

     ?> 

他lp me :)

回答

1

只有通过表单发送的值将位于GETPOST数组中。

从你展示的内容我得出结论,你不想在你的表单中显示该字段,所以将它隐藏起来。

表单标签中添加此:

<input name="price" type="hidden" value="'.$price.'" class="inputClass"> 

另外,如果你要使用这些值来访问数据库,更加小心只有在这样的变量考虑,假设所有用户输入错误和/或危险。 你会想看看事情像SQL injectionmysqli_escape_string

0

您正在使用提取得到方法,你有没有在你的重定向URL通过了它的价格。如果要使用get方法来获取其他页面上的变量,然后通过它在行动网址为:

<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']; 
0

数据可以以多种方式

  1. GET或者发送POST
  2. 使用会话
  3. 使用Cookie

在你的orderform.php你忘记开始会话。

相关问题