【问题标题】:Make a button that triggers a php code [closed]制作一个触发php代码的按钮[关闭]
【发布时间】:2014-04-04 01:13:40
【问题描述】:

我想制作一个可点击的按钮,点击后会显示这个 php。

$chars = array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
$serial = '';
$max = count($chars)-1;
for($i=0;$i<20;$i++){
    $serial .= (!($i % 5) && $i ? '-' : '').$chars[rand(0, $max)];
}
echo $serial; 

如果我重复点击会再次生成代码。

【问题讨论】:

  • “显示这个 php”是什么意思?它目前在做什么与您的预期输出不同?
  • 您将在 Javascript 中创建一个按钮。为什么不在 Javascript 中完成所有这些操作?
  • 我的意思是只有在点击按钮后才会出现代码,如果再次按下按钮,它会刷新(再次生成代码)php代码。
  • 将您的代码放入一个函数中,然后使用isset 条件语句调用该函数;这是一种方法。
  • @MikeW 也许 OP 想要将序列密钥存储在数据库或类似的东西中?

标签: php


【解决方案1】:

基于@fred-ii'scomment here

<?php 
    //Check if the submit button was clicked
    if(isset($_POST['submit'])){
        $chars = array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
        $serial = '';
        $max = count($chars)-1;
        for($i=0;$i<20;$i++){
            $serial .= (!($i % 5) && $i ? '-' : '').$chars[rand(0, $max)];
        }
        echo $serial; 
    }
?>
<form method="POST" action="">
    <input type="submit" name="submit" value="Click Me" />
</form>

【讨论】:

  • 这正是我所说的哈哈! From comment ;-)
  • 旁注:action="#" 不需要#,只需将其留空即可action="" 这样更好。它只会在页面 URL 的末尾添加一个#。给出解释也是有益的。
  • @Fred-ii- 是的!这就是你说的。我只是给出了一个代码 sn-p 因为我认为 OP 不知道如何编写一个表单来发布数据并使用 php 来获取POST 数据。是的action="" 更好:)
  • 这是一种方法,我做了+1 btw ;-)
  • @Fred-ii- 编辑错误哈哈。归因于:P
【解决方案2】:

建议编写您的 php 代码:

<?php

// $chars as a string

$chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$serial = '';

for($i = 0; $i < 20; $i++) {

    $serial .= (!($i % 5) && $i ? '-' : '').substr(str_shuffle($chars), 0, 1);

}

// $chars as an array

$chars = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
    'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 
    'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 
    'U', 'V', 'W', 'X', 'Y', 'Z');
$serial = '';

for($i = 0; $i < 20; $i++) {

    $serial .= (!($i % 5) && $i ? '-' : '').$chars[array_rand($chars)];

}

echo $serial; 

与 Krimson 的回答相同,您只需要创建一个 html 表单即可提交。对于不刷新的提交,AJAX 是必需的。

【讨论】:

  • 现在我看到刷新页面,我现在正在搜索如何使用 ajax 制作它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-07-21
  • 2022-06-16
  • 2014-10-20
  • 2020-08-01
  • 2013-09-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多