如何在提交表单时维护url

时间:2017-10-24 作者:mohsin

在我的情况下,我必须在同一个文件上提交表单,该文件是一个类,不使用任何javascript或挂钩,表单操作是action="<?php echo $_SERVER[\'PHP_SELF\']; ?>". 它正在提交表单,但正在重定向到网站主页。如果页面链接为http://sitename.com/my-link/ 表单位于此链接上,提交表单后,url应为http://sitename.com/my-link/?taskname=abc 但它会像这样重定向到主站点页面http://sitename.com/?taskname=abc. 我错过了什么

class tasks{

     function search_form(){

        <form action="<?php echo $_SERVER[\'PHP_SELF\']; ?>" method="GET" >
          <input type=\'text\' name=\'taskname\' >
        </form>

     }

   function search_form_submit(){   
        echo $_GET[\'taskname\']; 
    }

}

 $tasks_obj = new tasks();

 if($_SERVER[\'REQUEST_METHOD\'] == \'GET\') {  
 $tasks_obj->search_form_submit();
 }

1 个回复
SO网友:David F. Carr

如果您的表单嵌入了短代码或其他前端表单,我会将其发布到永久链接页面。根据我的经验,这比使用action“”更可靠。然后在该页面上输出一些内容以确认提交或显示错误。

$global $post;
printf(\'<form method="post" action="%s">\',get_permalink($post->ID));
或在管理端的表单中:

printf(\'<form method="post" action="%s">\',admin_url(\'admin.php?page=custom_form\'));
在admin\\u url中,包括页面url中位于wp admin之后的部分/

结束

相关推荐

Show the excerpt in a loop

我想用这个循环显示最后3篇文章。这很有效,但我不知道为什么,但摘录总是一样的。我做错了什么? <?php $args = array( \'numberposts\' => \'3\' ); $recent_posts = wp_get_recent_posts( $args ); foreach( $recent_posts as $recent ){ ?> <div class=\"