Php 如何在提交前从表单中获取值

Php 如何在提交前从表单中获取值,php,Php,我想在窗体的操作重定向它之前从窗体中获取值。 例如,在这个表单中,我想抓取“text_one”并将其发送到数据库,然后再将其重定向到google。我也想在谷歌上看到“text_one”。我该怎么办? 试试这个 <form method="post" onsubmit="return getdata()" action="google.com"> <input type="text" name="text_one" id="text_one"> <input

我想在窗体的操作重定向它之前从窗体中获取值。 例如,在这个表单中,我想抓取“text_one”并将其发送到数据库,然后再将其重定向到google。我也想在谷歌上看到“text_one”。我该怎么办?

试试这个

<form method="post" onsubmit="return getdata()" action="google.com">
  <input type="text" name="text_one" id="text_one">
  <input type="submit">
</form>
<script>
function getdata(){
      var txtOne = document.getElementById('text_one').value;
      // Do Something 
}
</script>

函数getdata(){
var txtOne=document.getElementById('text_one')。值;
//做点什么
}

您可以将操作更改为“yourscript.php”并执行s.th。比如:

<?php //yourscript.php
//save $_POST['text_one'] to Database
header('Location: http://google.com');

?>

或者,您可以使用ajax调用“yourscript.php”在后台执行此操作。

尝试以下操作:

echo (isset($_POST['text_one']) ? $_POST['text_one'] : '');

或者使用AjaxAjax是您问题的答案

对于纯PHP解决方案,您可以使用@v.eigler提出的想法。为了创建对Google服务器(或您想要的任何服务器)的POST请求,您只需要使用一些库来发出HTTP请求,我强烈建议您查看


使用它应该很简单,您只需要将表单处理重定向到您自己的脚本,进行自己的处理,然后创建一个到真正目的地的HTTP post。

我这样做的复杂性很小。 我更改你的表单动作处理程序

<form  method="post" action="yourscript.php">
  <input type="text" name="text_one">
  <input type="submit">
</form>

现在,是时候在服务器端处理它了。我已经提出了解释意见

 <!-- yourscript.php -->
 <?php 
 echo $_POST['text_one']; 
 // also do required server side operation.

?>  
<!-- note: Action part is google.com -->
<form id="myform" method="post" action="google.com">
<!-- Note: value of input already set.-->
      <input type="text" value=<?php echo $_POST['text_one'];" ?> name="text_one">
      <input type="submit">
</form>

<script language="JavaScript">
   // submit your form as soon as page loaded.
   document.myform.submit();
</script>


Ajax应该能够做到这一点,而不会有太多麻烦,就在您提交表单之前,让Jquery捕获您的请求,在执行默认操作之前,让它对保存数据的某个php文件执行Ajax调用。可能重复使用。。使用Ajax,您可以清洁地板…--您通过正常的post操作在数据库中收到了值,但您的解决方案如何在google.com上获得text_one的值?这是真的。。。我需要擦眼镜