【发布时间】:2013-01-24 08:06:29
【问题描述】:
我只是在学习 php,一件事我搜索了整个网络却没有运气。我知道客户端脚本(javascript)中的以下内容非常简单,但我想知道在 php 中是否可能。
我有一个 html 按钮元素,我可以使用 php 代码更改它的文本吗?每次单击按钮时都会反复更改某些内容。
【问题讨论】:
我只是在学习 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>";
}
?>
有了这个,你每次按下按钮都会得到完全不同的文本;)
在这段代码和上面的场景中,我谈到了随机数,因为 PHP rand() 函数返回数字。如果你想要文本,你可以把你想在页面中显示的所有文本放在一个数组中,并使用rand(0, $max_index_of_the_array) 随机获取一个 - 在数组中显示文本索引来自rand(0, $max_index_of_the_array)的文本。
【讨论】: