我只是在学习 php,一件事我没有运气就搜索了整个网络。我知道以下内容在客户端脚本(javascript)中非常简单,但我想知道在 php 中是否可行。
我有一个 html 按钮元素,使用 php 代码可以更改其文本吗?每次单击按钮时都会反复更改某些内容。
只需通过变量定义按钮值:
<?php
$buttonName = "bla bla";
?>
<input type="submit" value="<?php echo $buttonName; ?>" />
或者
<button><?php echo $buttonName ?></button>
然后你可以随心所欲地使用变量
PHP 只能在页面最初呈现时操作页面的源代码,因为它在页面发送到客户端之前在服务器上执行。如果按钮导致页面在每次点击时重新加载,您可以更改按钮标签。
例如,要在每次加载时为按钮提供一个随机数,您可以执行以下操作:
<button><?php echo rand(1,10); ?></button>
但这将取决于导致页面重新加载的按钮。如果您想在不重新加载页面的情况下执行此操作,那么 JavaScript 是完成这项工作的正确工具。
您可以在点击按钮时将按钮的当前文本发送到服务器,并将其与新的随机文本进行比较,如果不相等,则将其回显到页面,如果不相等,则继续搜索不相等的随机文本.
你也可以通过会话来做到这一点。将当前文本放入会话 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)
.