gpt4 book ai didi

php - 使用 HTML 访问表单输入

转载 作者:搜寻专家 更新时间:2023-10-31 20:43:38 25 4
gpt4 key购买 nike

我有一个用 PHP 查询以搜索动物的 HTML 表单:animals.php

一切正常,但我想知道我是否也可以使用 HTML anchor 标记访问表单。所以当你点击:

<a href="">giraffe</a>

它将通过 animals.php 查询数据库中的长颈鹿.

 <form  method="post" action="s.php?go"  id="searchform">
<input class="search" type="text" name="heyworld">
<input class="button" type="submit" name="submit" value="Search">
</form>

我的 PHP 查询是这样工作的:

if(isset($_POST['submit']) && isset($_GET['go']) && preg_match("/^[  a-zA-Z0-9#@]+/", $_POST['msg'])){
//query the db
//echo the results

最佳答案

(edit) 首先:您的 PHP 不安全:请花几分钟时间阅读有关 SQL 注入(inject)的内容:How can I prevent SQL injection in PHP?

由于您需要将数据发布到脚本,简单的 HREF 无法完成这项工作。但是,您可以:

制作另一个小的、不可见的表单包装器,带有一个默认值为“giraffe”的不可见文本字段,并以文本形式提交

<form  method="post" action="s.php?go"  id="searchform">    
<input class="search" type="hidden" name="heyworld" value="giraffee" />
<input class="button" type="submit" name="giraffee" value="Search" />
</form>

现在,对于实际的 HREF,您有 2 个选项:CSS 按钮使其与链接相同,或者使其成为链接,这将使用 form.submit() 提交(隐藏)表单

这里有一个解释这个的链接: How to HTTP POST from a link without JS

(编辑)如果你想用 GET 来做,你只需切换你从脚本中获取数据的全局(请注意,这仍然是不安全的代码,但我已经有几年没有编写 PHP 了,所以我最好把辅导留给更有资格的人),并修改您的 HTML 表单以通过 GET 提交数据:

if(isset($_GET['submit']) && isset($_GET['go']) && preg_match("/^[  a-zA-Z0-9#@]+/", $_GET['msg']))

现在您的 HREF 可以转到 s.php?go&submit&msg=giraffee - 请注意,对于您的脚本制作方式,您需要发送提交(空字符串可以,因为您只检查isset() 或类似的东西 :)

关于php - 使用 HTML <a href...> 访问表单输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16249543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com