duanluan2047 2017-01-03 19:47
浏览 54
已采纳

[PHP,HTML]链接到页面的按钮,php变量不起作用

I've been trying to use a button as a link to add some interactivity to my site, however for some reason it doesn't work.

I've been using this code for a search bar:

<span>
<input type="text" id="search" placeholder="Zoek naar een boek of auteur" name="search" method="get" autocomplete="off" style="width:25%;" value="<?php echo htmlspecialchars($search); ?>"></input>
        <button type='submit' style="vertical-align:middle" id='filterButton' onclick="<?php echo htmlspecialchars("'?search=$_GET[search]'");?>">
    <span>Zoek</span>
</button>
</span>

This works perfectly fine, when I click the button, I go to the search page with the variable. In the search results, I use the same method to make a "more info" button, redirecting the user to a page with, well, more information about a book. This is the code in this part

<span>
    <button type='submit' style="vertical-align:middle" id='infoButton' onclick="<?php echo htmlspecialchars("book.phph?id=$resultsid");?>">
    <span>Meer info</span>
</button>
</span>

But this doesn't work, the button does respond when I click it (I get the animation), but I don't get redirected to the page. I've tried a different method:

<span>
<form action="<?php echo htmlspecialchars('book.php?id=$resultsid');?>">
    <button type='submit' style="vertical-align:middle" id='infoButton' />
        <span>Meer info</span>
    </button>
</form>
</span>

This redirects me to "book.php?", but that's it. It ignored the id=$resultsid behinf the question mark. I can't get it to work, can somebody help please?

Thanks ~DagelijksGamer

  • 写回答

2条回答 默认 最新

  • dongtingxiao4697 2017-01-03 21:35
    关注

    Your last example may work, removing the parameter from the form action and adding an hidden input field:

    <form action="<?php echo htmlspecialchars("book.php");?>" method="GET">
        <input name="id" type="hidden" value="<?php echo $resultsid; ?>" />
        <button type='submit' style="vertical-align:middle" id='infoButton' />
                <span>Meer info</span>
        </button>
    </form>
    

    These answers explain why the part after "?" gets ignored in your last example:

    https://stackoverflow.com/a/1116026/3052648

    https://stackoverflow.com/a/9882750/3052648

    Note that you didn't specify a method in your form, and it defaults to GET.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题