【问题标题】:Adding text to an array and displaying the array in php将文本添加到数组并在 php 中显示数组
【发布时间】:2014-01-15 21:58:19
【问题描述】:

我正在尝试创建一个小 php 程序,在其中将文本输入到文本字段中。然后我希望将文本添加到数组中。我通过在单击“添加”按钮时调用一个函数来做到这一点。单击按钮后,我希望显示数组条目以及条目数。这是我到目前为止的代码,但它不起作用: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;

?>

【问题讨论】:

  • 这不是服务器-客户端模型的工作方式。 PHP 在 JavaScript 之前执行。
  • PHP 在服务器上执行,Javascript 在客户端上执行,除非您使用 AJAX 作为中介,否则 Javascript 不能调用 PHP 代码。
  • 你为什么不使用一些 JavaScript 来做到这一点?
  • 我不懂 JavaScript。刚开始使用 php 并认为这应该是可行的......
  • 在页面加载时执行 PHP。 Javascript 可以在任何事件发生(例如点击)时运行。为了在这个例子中实现你想要的,在 PHP 中,你必须深入挖掘 JS 和 PHP。 :)

标签: php arrays function button echo


【解决方案1】:

这里有几个问题。第一:

<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'];
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-24
    • 2013-11-29
    • 2012-01-17
    • 1970-01-01
    相关资源
    最近更新 更多