通过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
之后可以在任何下一个代码中使用。
也没有必要混合 HTML
和 PHP
当你可以做的时候:
<?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';
或者有更好的方法来解决这个问题,正如我在我的示例中提到的,以避免 HTML
和 php
的混合。还有像 sprintf
或 printf
这样的函数可以使事情更具表现力:
$variable_name = 'Hi!';
printf('The value of a variable is: %s So that was', $variable_name');
代替此代码:
value="'.$r'"
应该是这样的代码:
value="'.$r.'"
您错过了变量 $r 之后的点。
我一直在尝试获取另一个网页中变量的值。 单击确认按钮后,页面应将 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
之后可以在任何下一个代码中使用。
也没有必要混合 HTML
和 PHP
当你可以做的时候:
<?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';
或者有更好的方法来解决这个问题,正如我在我的示例中提到的,以避免 HTML
和 php
的混合。还有像 sprintf
或 printf
这样的函数可以使事情更具表现力:
$variable_name = 'Hi!';
printf('The value of a variable is: %s So that was', $variable_name');
代替此代码:
value="'.$r'"
应该是这样的代码:
value="'.$r.'"
您错过了变量 $r 之后的点。