iT邦幫忙

0

PHP 用get 方法提交路徑的問題

  • 分享至 

  • xImage

Hello,

我想問一下怎樣可以根據選取的年份, 在提交時動態地加上年份的路徑呢
例如 a.php/年份/

<form action="a.php" method="get">
    <h3>Photo Search Engine</h3>
    <br>
    <table border=0>
        <tr>
            <td><select name="myDb">
                <option value="2003">2003 year
                <option value="2004">2004 year
                <option value="2005">2005 year
                <option value="2006">2006 year
            </select></td>
        </tr>
    </table>
    <input type="submit" value="submit">
</form>
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
alexswan
iT邦見習生 ‧ 2022-06-13 13:36:47
【**此則訊息已被站方移除**】
0
mantissa23bit
iT邦新手 4 級 ‧ 2022-06-13 15:29:36

Get不曉得怎麼做
如果是Post可以參考下面程式

<html>
<body>
    <form onsubmit="return path();" method="post" name="myform">
    <h3>Photo Search Engine</h3>
    <br>
    <table border=0>
        <tr>
            <td><select id="myDb" >
                <option value="2003">2003 year
                <option value="2004">2004 year
                <option value="2005">2005 year
                <option value="2006">2006 year
            </select></td>
        </tr>
    </table>
    <input type="submit" value="submit">
    </form>
</body>
</html>

<script type="text/javascript">
    function path(){
        document.myform.action ="a.php/"+document.getElementById("myDb").value;
        return true;
    }
</script>


0
小魚
iT邦大師 1 級 ‧ 2022-06-13 21:41:34

你說的那個需要用到htaccess,
單純表單只會在後面加上參數 ?name=text

2
wiseguy
iT邦超人 1 級 ‧ 2022-06-15 08:31:52

把你的 submit 按鈕改成如下

<form action="a.php" method="get">
    <h3>Photo Search Engine</h3>
    <br>
    <table border=0>
        <tr>
            <td><select name="myDb">
                <option value="2003">2003 year
                <option value="2004">2004 year
                <option value="2005">2005 year
                <option value="2006">2006 year
            </select></td>
        </tr>
    </table>
    <input type="button" value="submit" onclick="location.href='a.php/'+this.form.myDb.value+'/';">
</form>

原本我想將html → php , 然後修改發送的路徑

<form action="a.php/<?php echo $_GET['myDb'];?>/" method="get">
wiseguy iT邦超人 1 級 ‧ 2022-06-17 16:32:47 檢舉

除非你還有其他表單資料要送。不然的話,只有這個年份,那我這個改法就能達到你的要求了,不懂為何還要費事submit一次到server,只為了串接這個值。或是你需要的是這樣:

<form action="a.php/2003/" method="get">
    <h3>Photo Search Engine</h3>
    <br>
    <table border=0>
        <tr>
            <td><select name="myDb" onchange="this.form.action='a.php/'+this.value+'/';">
                <option value="2003">2003 year
                <option value="2004">2004 year
                <option value="2005">2005 year
                <option value="2006">2006 year
            </select></td>
        </tr>
    </table>
    <input type="submit" value="submit">
</form>
1

首先,已經很多人跟你說答案了。我就不在重覆

但從你的回應中。你似乎並沒搞懂何謂前端何謂後端。

從你說的

<form action="a.php/<?php echo $_GET['myDb'];?>/" method="get">

就可以了解到,你是想要後端應用值變動。
可惜的是,你操作的是前端 SELECT
後端只是負責生成html後,就不會再有任何運做。
這點你可以去檢查你的 html原始頁。一定看不到<?php這類的碼存在的。

所以,你沒將後端運行原理及前端運行原理給搞清楚。
造成這樣你認為的行為及認為的可行性。

正常來說,一但了解前端及後端的運行原理來說。
就不會產生你想要「那樣」的做法。因為辦不到的。
我在前端是無法再操作PHP的。

以上不是針對你的問題回答。只是單純厘清你的問題所在。

好的, 前后端要分離, 明白了

我要發表回答

立即登入回答