通过post在另一个页面获取数据

Get data in another page through post

我一直在尝试获取另一个网页中变量的值。 单击确认按钮后,页面应将 id 的值发送到下一页。我收到以下错误 -

Parse error: syntax error, unexpected ''" name = "user_id" >Confirm</' (T_CONSTANT_ENCAPSED_STRING), expecting ',' or ';' in C:\xampp\htdocs\home.php on line 57

这是我尝试发送数据的地方。

<body>
 <form action="database3.php" method="post" class="form" enctype="multipart/form-data">

<?php
$r=$_GET['ch'];
echo $r;
 echo '<div class="container">
 <button type="submit" class="btn btn-success" value="'.$r'" name = "user_id" >Confirm</button>
 </div>';

 ?>

这是我试图在 database3.php -

中获取数据的地方
<?php

 extract($_POST);
  $id=$_POST["user_id"];
  echo $id;

  ?>

我需要做哪些改变?

使用extract函数是因为:

Import variables into the current symbol table from an array. Ref

你应该这样做:

<?php
    extract($_POST);
    echo $user_id;
?>

更新

$_POST 个变量中的所有变量都将映射到变量,例如:

$var_array = array("color" => "blue", "size"  => "medium");
extract($var_array);

创建两个新变量:

$color; // blue
$size;  // medium

所以在你的情况下 $_POST$_POST['user_id'] 它创建变量 $user_id 之后可以在任何下一个代码中使用。

也没有必要混合 HTMLPHP 当你可以做的时候:

<?php $r = $_GET['ch']; ?>
<div class="container">
  <button type="submit" class="btn btn-success" value="<?php echo $r; ?>" name="user_id" >
    Confirm
  </button>
</div>

更新 2

问题看起来是在 HTML 上,您缺少一个 . 以便相应地连接:

<?php
$r=$_GET['ch'];
echo $r;
echo '<div class="container">
<button type="submit" class="btn btn-success" value="'.$r.'" name=      "user_id" >
 Confirm</button>
 </div>';
   ?>

由于单引号内的字符串和变量之间的连接如下:

$variable_name = 'Hi!';
echo 'The value of a variable is: ' . $variable_name . ' So that was';

或者有更好的方法来解决这个问题,正如我在我的示例中提到的,以避免 HTMLphp 的混合。还有像 sprintfprintf 这样的函数可以使事情更具表现力:

$variable_name = 'Hi!';
printf('The value of a variable is: %s So that was', $variable_name');

代替此代码:

value="'.$r'" 

应该是这样的代码:

value="'.$r.'" 

您错过了变量 $r 之后的点。