-2

我在 index.php 有一个表单,它接受用户输入,它包含用户输入并将其发送到另一个 php 文件进行处理。

下面是 index.php 的代码:

<?php
if(isset($_GET['q'])){
    include_once "form.php";
    exit(0);
}
?>
<!Doctype HTML>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>Search</title>
    </head>
    <body>
        <form method="get">
         <input type="text" name="q" />
    </form>
    </body>
 </html>

当提交表单时,在文本输入集中时按回车键,它会转到

http://mysite.com/?q=textUserEntered(如果之前访问过该域)或 http://mysite.com/index.php?q=textUserEntered(如果之前访问过 index.php)

我怎样才能让它去http://mysite.com/form?q=textUserEnteredhttp://mysite.com/index.php/form?q=textUserEntered同时仍将表单数据传递给 form.php

我更喜欢使用 PHP 的解决方案,但如果唯一的方法是使用 .htacess,请分享。

我在开头的 index.php 和 form.php 中尝试了这个,它导航到 URL 但不将数据传递给 form.php 并导航到 404 错误页面。

if(!empty($_GET['q']))
{
    header("Location: form?q=".rawurlencode($_GET['q']));
    exit;
}

我不能使用 action 属性,因为将 form.php 添加到 action 属性的值会使 URLhttp://mysite.com/form.php?q=userEnteredTexthttp://mysite.com/form?q=userEnteredText

4

1 回答 1

1

只需告诉表单将​​数据发送到哪里,您不需要重定向:

<form method="get" action="form.php">
于 2013-05-19T00:09:07.387 回答