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