我一直试图在另一个网页中获取变量的值。 单击按钮确认,页面应将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;
?>
我需要做出哪些改变?
答案 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
,而不是在下一个代码之后使用。
当您可以执行此操作时,无需将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');
答案 1 :(得分:1)
而不是这段代码:
value="'.$r'"
应该是这样的代码:
value="'.$r.'"
您在变量$ r后错过了点。