0

我只是在学习 php,一件事我没有运气就搜索了整个网络。我知道以下内容在客户端脚本(javascript)中非常简单,但我想知道在 php 中是否可行。

我有一个 html 按钮元素,使用 php 代码可以更改其文本吗?每次单击按钮时都会反复更改某些内容。

4

3 回答 3

2

只需通过变量定义按钮值:

<?php 
$buttonName = "bla bla";
?>

<input type="submit" value="<?php echo $buttonName; ?>" />

或者

<button><?php echo $buttonName ?></button>

然后你可以随心所欲地使用变量

于 2013-01-24T09:18:05.413 回答
1

PHP 只能在页面最初呈现时操作页面的源代码,因为它在页面发送到客户端之前在服务器上执行。如果按钮导致页面在每次点击时重新加载,您可以更改按钮标签。

例如,要在每次加载时为按钮提供一个随机数,您可以执行以下操作:

<button><?php echo rand(1,10); ?></button>

但这将取决于导致页面重新加载的按钮。如果您想在不重新加载页面的情况下执行此操作,那么 JavaScript 是完成这项工作的正确工具。

于 2013-01-24T08:08:47.987 回答
0

您可以在点击按钮时将按钮的当前文本发送到服务器,并将其与新的随机文本进行比较,如果不相等,则将其回显到页面,如果不相等,则继续搜索不相等的随机文本.

你也可以通过会话来做到这一点。将当前文本放入会话 var,并在提交中创建另一个文本,并将其与先前创建的会话 var 进行比较,并回显到页面。

<?php
session_start();
if (isset($_POST)) // check button submission - do it with any way you like
{
    while(1)
    {
        $new_rand = rand();
        if($new_rand != $_SESSION['currText'])
        {
           $curr_text = $new_rand;
           $_SESSION['currText'] = $curr_text;
           echo "<button>$curr_text</button>";
           break;
        }
    }

}
else // and here is the first page request, when no button is clicked
{
    $new_rand = rand();
    $_SESSION['curr_text'] = $new_rand;
    echo "<button>$new_rand</button>";
}

?>

有了这个,你每次按下按钮都会得到完全不同的文本;)

在这段代码和上面的场景中,我谈到了随机数,因为 PHPrand()函数返回数字。如果你想要文本,你可以把你想在页面中显示的所有文本放在一个数组中,并使用随机获取一个rand(0, $max_index_of_the_array)- 在数组中显示文本索引来自rand(0, $max_index_of_the_array).

于 2013-01-24T08:32:53.473 回答