将文本添加到数组并在php中显示数组

时间:2014-01-15 21:58:19

标签: php arrays function button echo

我正在尝试创建一个小程序,我在文本字段中输入文本。然后我想将文本添加到数组中。我通过在添加'添加'单击按钮。单击按钮后,我希望显示数组条目和条目数。这是我到目前为止的代码,但它不起作用:P

我尝试了一些东西,但似乎没有任何效果。

我现在把它改成了这个:

<form action="array.php" method="POST">
<fieldset>
<legend>Enter text here</legend>
<p>text: <input type="text" size="60" name="text"></p>
<p><input type='button' name='add' value='Add' onclick= "<?php add() ?>"></p> 
</fieldset>
</form>

<?php

global $array;

$array = array();

function add()
{

if(isset($_POST['text']))
{

array_push($array, $_POST['text']);
}

return $array;
}

$arraystring = implode(", " , $array);

echo $arraystring;

?>

1 个答案:

答案 0 :(得分:0)

这里有几个问题。第一:

<script>
function add_script(){
 alert("<?PHP add(); ?>");
 }
</script>

警报在这里没有意义。你不能像这样在javascript和php之间传递数据。你需要的是AJAX。最简单的解决方案是Jquery's ajax function。所以你需要设置一个函数来处理数据,一个单独的php脚本来接收它并处理它,你最安全的办法是返回一个JSON字符串,初始脚本将处理,读取并返回数据。

第二个非常大的问题是add()函数 - 函数可能不会返回多个值。每当口译员看到

return $x;

该功能将停在那里,并返回你给它的任何东西。当函数终止时,第二个将被忽略。

您的第二个选择是将整个表单发布到同一个脚本

<form method="post">
<!--the form inputs here-->
</form>

当点击“添加”按钮时,它会将整个数据发布到自身。然后在PHP脚本中,您需要添加一个条件来处理这种情况:

<?php
if($_POST && $_POST['text']) echo $_POST['text'];
?>