2015-06-22 151 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你忘記開始會話。

相關問題