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条)

报告相同问题?

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分