簡體   English   中英

如何傳遞多個PHP獲取參數

[英]How to pass multiple PHP get parameters

在這段代碼中,我試圖讓一個想要從下拉列表中更改事件狀態的用戶。 下拉菜單包含三個選項:

“已聯系”“已核實”“已完成”

我希望用戶單擊“提交狀態”並將它們帶到 change.php,如 action 屬性中指定的那樣。 Change.php 應該有 2 個 get 參數:他們想要更改的事件的數據庫列的 id,以及他們想要將其更改為的新狀態。 例如它應該是這樣的: http://localhost/schedule/change.php?id=60?status=verified

但這就是我現在得到的:

http://localhost/schedule/change.php?status=verified&submitStatus=Change+status

而且,下拉列表顯示錯誤:注意:未定義索引:第 1 行中的狀態

 // Assume this is line 1
 echo "<form method='get' action='change.php?id=".urlencode($e['id'])."?url=".urlencode($_GET['status'])."'><select name='status' id='status'>'";

    if ($e['status'] == "contacted") {

      echo "<option value='contacted' selected>Contacted</option>";

      echo "<option value='verified'>Verified Appointment</option>";

      echo "<option value='completed'>Job Completed</option>";

      $counter++;

    } else if ($e['status'] == "verified") {

      echo "<option value='verified' selected>Verified Appointment</option>";

      echo "<option value='contacted'>Contacted</option>";

      echo "<option value='completed'>Job Completed</option>";

      $counter++;

    } else if ($e['status'] == "completed") {

      echo "<option value='completed' selected>Job Completed</option>";

      echo "<option value='contacted'>Contacted</option>";

      echo "<option value='verified' selected>Verified Appointment</option>";

      $counter++;

    } else {

      echo "No event status found!";

    }

    if ($counter == 1) {

    echo "<input type='submit' name='submitStatus' value='Change status'></form></select>
    </td>"; 

    echo "</tr>";

  }

我知道真正的問題在於第一個 echo 行,我從這里開始表單標記,我知道問題出在 action 參數中,但我只是不知道該怎么做! 請幫我在這里...

錯誤是您正在使用? 分隔參數而不是使用&&& 所以你的代碼應該是:

 echo "<form method='get' action='change.php?id=".urlencode($e['id'])."&url=".urlencode($_GET['status'])."'><select name='status' id='status'>'";

另外,正如 Phil 所說,如果您不想更改 url 中的數據值,請嘗試使用POST 例如,如果更改 url 中的id ,change.php 將根據 url 中的id參數進行更改。 在我看來,您應該使用POST作為更改對我來說意味着非常安全的事情,而不是通過GET完成的事情。

顯然,這並不意味着您不應該使用GET 這些方法同樣重要,但並不安全,因為可以如此輕松地從 url 更改數據。 GET可用於搜索過程,例如您不必更改數據庫,只需檢索即可。

我可能跑題了,但我認為知道應該使用哪種方法對您來說非常重要。 謝謝!!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM