如何将值从页面传递到PHP

时间:2015-06-22 08:37:17

标签: php

我试图将变量值从页面传递到另一个页面。我用来转到下一页,我用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>';

      ?>

帮帮我:)

3 个答案:

答案 0 :(得分:1)

只有表单发送的值才会出现在GETPOST数组中。

根据您的展示我得出结论,您不希望在表单中显示该字段,因此请将其隐藏。

在表单标记中添加:

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

此外,如果您要使用这些值来访问数据库,那么只需要接受这样的变量就会更加小心,假设所有用户输入都是错误的和/或危险的。 您可能希望查看SQL injectionmysqli_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)

可以通过多种方式发送数据

  1. GET或POST
  2. 使用会话
  3. 使用Cookie
  4. 在你的orderform.php中,你忘了开始会话。