通过帖子在另一页中获取数据

时间:2016-05-29 20:17:34

标签: php html forms post action

我一直试图在另一个网页中获取变量的值。 单击按钮确认,页面应将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;

  ?>

我需要做出哪些改变?

2 个答案:

答案 0 :(得分:1)

使用extract函数,因为:

  

将变量从数组导入当前符号表。 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');

答案 1 :(得分:1)

而不是这段代码:

value="'.$r'" 

应该是这样的代码:

value="'.$r.'" 

您在变量$ r后错过了点。