如果已经提出这个问题,请道歉......
我需要在form1中输入的数据,通过URL发送到form2,form2从URL读取数据,填充form2的字段,提交,然后重定向到感谢页面。
我正在考虑通过URL中的GET发送信息。 我不希望用户看到form2,只是form1,然后感谢页面,如果成功。
我确实尝试使用以下方法...
的index.php
<?php
session_start();
?>
<form method="POST" name="test" id="test" action="process.php">
<label for="fname">First name</label>
<input type="text" name="fname" id="fname" /><br />
<label for="lname">Last name</label>
<input type="text" name="lname" id="lname" /><br />
<label for="email">Email</label>
<input type="text" name="email" id="email" /><br />
<input type="submit" value="Submit" />
</form>
process.php
<?php
session_start();
//Collect data set in the URL
if (isset($_POST['fname'])) { $fname = trim($_POST['fname']); }
if (isset($_POST['lname'])) { $lname = trim($_POST['lname']); }
if (isset($_POST['email'])) { $email = trim($_POST['email']); }
// Prepare web to lead link
$url = 'success.php?fname='.$fname.'&lname='.$lname.'&email='.$email;
// GO!
$ch = curl_init($url);
curl_exec($ch);
curl_close($ch);
?>
success.php
<?php
session_start();
//Collect data set in the URL
if (isset($_GET['fname'])) { $fname = trim($_GET['fname']); }
if (isset($_GET['lname'])) { $lname = trim($_GET['lname']); }
if (isset($_GET['email'])) { $email = trim($_GET['email']); }
?>
<!DOCTYPE html>
<html>
<head>
<title>Form test</title>
</head>
<body>
<form>
<label for="fname">First name</label>
<input type="text" name="fname" id="fname" value="<?php echo isset($fname); ?>" /><br />
<label for="lname">Last name</label>
<input type="text" name="lname" id="lname" value="<?php echo isset($lname); ?>" /><br />
<label for="email">Email</label>
<input type="text" name="email" id="email" value="<?php echo isset($email); ?>" />
</form>
</body>
</html>
index.php是form1,process.php收集数据并提交form2,success.php是form2
有什么建议吗?
答案 0 :(得分:2)
在index.php中提交的表单内容将使用POST方法传输到process.php,在process.php中,它准备链接并使用header()(而不是curl)将用户重定向到success.php,然后在success.php中,使用<?php if(isset($fname)) echo $var; ?>
预先填充表单输入字段(您正在执行<?php echo isset($fname); ?>
,根据条件只输出1或2)
更改的代码应如下所示(已测试):
<强> process.php 强>:
<?php
session_start();
//Collect data set in the URL
if (isset($_POST['fname'])) { $fname = trim($_POST['fname']); }
if (isset($_POST['lname'])) { $lname = trim($_POST['lname']); }
if (isset($_POST['email'])) { $email = trim($_POST['email']); }
// Prepare web to lead link
$url = 'success.php?fname='.$fname.'&lname='.$lname.'&email='.$email;
// GO!
header("Location: $url");
?>
<强> success.php 强>:
<?php
session_start();
//Collect data set in the URL
if (isset($_GET['fname'])) { $fname = trim($_GET['fname']); }
if (isset($_GET['lname'])) { $lname = trim($_GET['lname']); }
if (isset($_GET['email'])) { $email = trim($_GET['email']); }
?>
<!DOCTYPE html>
<html>
<head>
<title>Form test</title>
</head>
<body>
<form>
<h2> Submitted Form </h2>
<label for="fname">First name</label>
<input type="text" name="fname" id="fname" value="<?php if(isset($fname)) echo $fname; ?>" /><br />
<label for="lname">Last name</label>
<input type="text" name="lname" id="lname" value="<?php if(isset($lname)) echo $lname; ?>" /><br />
<label for="email">Email</label>
<input type="text" name="email" id="email" value="<?php if(isset($email)) echo $email; ?>" />
</form>
</body>
</html>
我希望这会有所帮助。祝你好运!
答案 1 :(得分:1)
您可以使用POST发送数据,然后将其保存到SESSION,以便可以从任何页面获取;用户仍然可以查看数据,但需要使用开发人员工具或Firebug才能完成更多工作。