这是我的index.php:
<?php
$about_me = array("Lorem ipsum dolor sit amet.",
"Lorem ipsum dolor sit amet", "Lorem ipsum");
?>
<form action="generate.php" method="POST">
<input type="hidden" name="about_me" value="<?php echo $about_me;?>">
<input type="submit" class="download_button" value="download">
</form>
这是generate.php:
<?php
$about_me = $_POST['about_me'];
$test = $about_me[0];
echo $test;
?>
generate.php的输出是
<
我期望输出为Lorem ipsum dolor sit amet.。但没想到我收到的只是一支箭。如果有人能帮助我,我会很感激的。
没有索引的数组不能回显。
所以试试这个
<input type="hidden" name="name" value="<?php echo $about_me[0];?>">
//----------------------------------------------------------^^^
也可以把这个输入域称为name
也就是name="name"
在这里用它的名字
<?php
$about_me = $_POST['name'];
echo $about_me;
?>
但是请记住,这只会传递
index.php
的$about_me
数组的第一次出现。
如果您想传递添加到$about_me
数组的所有数据,请将其改为一个简单的字符串
<?php
$about_me = "Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet,Lorem ipsum"
?>
<form action="generate.php" method="POST">
<input type="hidden" name="about_me" value="<?php echo $about_me;?>">
<input type="submit" class="download_button" value="download">
</form>
或者在数组
中创建尽可能多的隐藏字段<?php
$about_me = array("Lorem ipsum dolor sit amet.",
"Lorem ipsum dolor sit amet",
"Lorem ipsum");
?>
<form action="generate.php" method="POST">
<?php
foreach ( $about_me as $me) :
?>
<input type="hidden" name="about_me[]" value="<?php echo $me;?>">
<?php
endforeach;
?>
<input type="submit" class="download_button" value="download">
</form>
然后像这样处理
<?php
if (isset($_POST['about_me']) {
foreach ($_POST['about_me'] as $me) {
echo $me . '<br>';
}
} else {
echo 'Woops no data found';
?>
$_POST[]根据参数名称从表单中检索参数。它无法访问您在代码(PHP或Javascript)中设置的任何变量。
参数名是从表单的元素中分配的。我假设您正在尝试获取隐藏输入元素的值,因此您应该检查$_POST['name']而不是$_POST['about_me']。