Php 使用post和get传输url中的表单数据

Php 使用post和get传输url中的表单数据,php,url,url-routing,Php,Url,Url Routing,我有个问题。我需要将用户键入的消息传输到同一页面(因为我需要将其保存到数据库)。我有一张表格和一个“提交按钮” 如果我使用命令“post”,我就能够保存数据,将数据传输到同一页面,并在提取post变量后保存数据 问题是我没有在url中发送页面id(我可以用GET方法实现,但我不能使用它,因为用户消息可能太长,无法进入url) 我尝试编写一些javascript代码,将“提交”按钮转换为简单按钮,并执行重定向..: <script type="text/javascript"> doc

我有个问题。我需要将用户键入的消息传输到同一页面(因为我需要将其保存到数据库)。我有一张表格和一个“提交按钮”

如果我使用命令“post”,我就能够保存数据,将数据传输到同一页面,并在提取post变量后保存数据

问题是我没有在url中发送页面id(我可以用GET方法实现,但我不能使用它,因为用户消息可能太长,无法进入url)

我尝试编写一些javascript代码,将“提交”按钮转换为简单按钮,并执行重定向..:

<script type="text/javascript">
document.getElementById('messageSent').addEventListener('click', function () {
    window.location = 'article.php?articleID=<?php echo $_REQUEST['pageID']; ?>';
}, false);
</script>

document.getElementById('messageSent')。addEventListener('click',函数(){
window.location='article.php?articleID=';
},假);
但是POST变量丢失了

基本上,我想要的是实现post和get的效果,我想要在编码url时发布变量,如下所示:

home.php?pageID=<?php echo $_REQUEST['pageID']; ?>
home.php?页面ID=
页面应以post请求的形式重新发布到自身,并设置pageID


我怎样才能做到

您必须动态构建表单,使用POST值填充表单,然后使用JavaScript提交表单:

<form id="myform" action="target.php" method="post">
 <input type="hidden" value="<?php echo $_POST['pageID']; ?>">
</form>

<script>
 // ... eventually.... 
 document.getElementById("myform").submit();
</script>


您应该使用一个URL,该URL包含表单操作中的页面id。例如:

<form action="home.php?pageID=<?php echo $_REQUEST['pageID']; ?>" method="post">
</form>

非常棒且简单的解决方案..谢谢..我从未想过。这不会发布页面ID值。它将作为GET变量传输。只有您在表单中放置的内容才会被发布。我知道,我希望发布的部分变量将被发布。该操作将设置URL..这样我就可以编写$_Post['form variable']和$_Get['URL variable'];///这就是我在看的for@Matrix啊,那么我误解了你的问题。删除了downvote。请注意,此代码易受跨站点脚本(XSS)攻击。这不是我的意思。开始时我也想过使用隐藏变量。但这不是我的目的