php
  • html
  • mysql
  • web-development-server
  • 2015-04-24 139 views 2 likes 
    2

    我已經從窗體中讀取了一個值作爲用戶的輸入。表單是POST。在PHP頁面中傳遞變量

    <form action="form_handler.php" method="POST"> 
    

    然後,在form_handler.php頁面中,我將該值保存在一個變量中。 $productID=$_POST['product']; 然後,我想通過鏈接來傳遞這個變量到另一個頁面:

    echo "<a href='products.php?prodID=".$productID."' title='Products 
    Page' class='whatEver'>click here for product details</a>"; 
    

    當我點擊鏈接,我看到該鏈接的價值。但是,products.php頁面裏面我想使MySQL查詢產品詳細資料爲:

    $sql = "SELECT * FROM products WHERE prodID = '$productID'"; 
    

    我得到0的結果。我也嘗試回顯$ productID值,它似乎是空的,而不是我在URL中看到的值。

    請問我的錯誤是什麼?如何根據我在鏈接中傳遞的productID變量,使數據庫查詢獲取產品詳細信息?

    注:我正在嘗試做一個MySQL注入漏洞的演示。請忽略安全問題。

    +0

    你在捕捉'$ _GET ['prodID']的值嗎? ''products.php'裏面? –

    回答

    0

    你不能得到那樣的productID ..你必須把`$ productID = $ _GET ['prodID']; '你可以在sql查詢中使用該變量。

    0

    當你發送的變量中的鏈接,然後?var=value

    你需要的東西得到它像

    $variable = $_GET['var'];

    在你的情況你products.php 應該有$prodid = $_GET['prodID'];

    0
    echo "<a href='products.php?prodID=".$productID."' title='Products 
    Page' class='whatEver'>click here for product details</a>"; 
    

    在我看來,你正在將它傳遞給產品s.php爲prodID。 您可以嘗試使用:

    $sql = "SELECT * FROM products WHERE prodID = '$prodID'"; 
    

    取而代之?

    0

    就像以前一樣,當你使用$productID=$_POST['product'];, 你需要做同樣的事情,在products.php中使用變量,除了代替post變量,它是一個get變量(因爲它在url中)。使用$productID=$_GET["productID"]

    相關問題