2

我阅读了关于 SO 和 google 的所有相关问题,但仍然无法得到相同的答案。

这是我的 html 表单代码

<form id="Form1" name="Form1" method="post" action="page1.php" enctype="multipart/form-data">
Your Name:<input type="text" class="input" name="txtUserName">
Your Email:<input type="text" class="input" name="txtUserEmail">
<input type="submit" name="submit" value="Submit">
</form>

这是我的这个页面的 php 代码 (page1.php) // 我将这些变量转移到其他页面 page2.php

<?php
$values['txtUserName'] = 'username';
$values['txtUserEmail'] = 'useremail';
header( 'Location: page2.php' );
?>

这是page2.php的监听代码

<?php
$username = $_GET['username'];
$useremail = $_GET['useremail'];
?>

在 html 页面下方的某个地方

<div class="text1">
<?php echo $username; ?>
<?php echo $useremail; ?>
</div>
  1. 我收到未定义索引用户名和 useremail 的通知
  2. 回声不显示任何内容..我错在哪里?

  3. 另外,如果我不想将表单值转移到第二页,而是将变量 $username 转移到第二页.. 那怎么办?

4

7 回答 7

2

page2.php如果您将数据发送到 page2.php,则该操作应该是

action="page2.php"

并在page2.php使用$_POST中,因为您已经设置了形式method='post'

<?php
$username = $_POST['txtUserName'];  // txtUserName is as name in form
$usereail = $_POST['txtUserEmail']; // txtUserEmail is as name in form
?>

用这个page1.php

$username = $_POST['txtUserName'];
$usermail = $_POST['txtUserEmail'];
header( 'Location: page2.php?username='.$username.'&useremail='.$usermail );

GET在 page2.php 中使用

于 2013-03-11T06:18:27.667 回答
0

这个说法:

header('Location: page2.php');

除了您重定向到的不是绝对 URL 之外,它还会重定向到page2.php而不传递任何 GET 参数。为此,您只需附加它们:

header('Location: page2.php?' . http_build_query($values));
于 2013-03-11T07:40:07.047 回答
0

您的变量应该来自名称,并且您使用的是 post not get

$username = $_POST['txtUserName'];
$useremail = $_POST['txtUserEmail'];

您还应该使用 action="page2.php"

于 2013-03-11T06:17:16.163 回答
0

您的表单正在发送数据,method="post"但您使用 检索值$_GET['username']。您应该更改$_GET$_POST['username'].

另外,请注意$usereail = $_GET['useremail'];$useremail;

于 2013-03-11T06:18:09.913 回答
0

在您的页面 page2.php 中使用此代码

 $username = $_POST['username'];
 $useremail = $_POST['useremail'];
于 2013-03-11T06:18:33.977 回答
0

尝试这个:

<form id="Form1" name="Form1" method="post" action="page2.php" enctype="multipart/form-data">
    Your Name:<input type="text" class="input" name="txtUserName">
    Your Email:<input type="text" class="input" name="txtUserEmail">
    <input type="submit" name="submit" value="Submit">
</form>

PHP 代码:$_GET['txtUserName'] 名称应与 html 标签名称相同。

<?php
    $username = $_POST['txtUserName'];
    $useremail = $_POST['txtUserEmail'];
?>



<div class="text1">
    <?php echo $username; ?>
    <?php echo $useremail; ?>
</div>
于 2013-03-11T06:19:48.060 回答
0

在 php 中,您可以通过调用受尊重的输入名称的名称来获取文本框值或任何输入的值。所以你需要按照你的代码进行如下校准

$username=$_POST['txtUserName']; $useremail = $_POST['txtUserEmail'];

于 2013-03-11T06:23:36.783 回答