PHP - 在帖子提交时调用函数?

时间:2014-07-30 02:49:29

标签: javascript php

目前有这个:

<script>
  function copyToClipboard(info, text) {
    window.prompt(info, text);
  }
</script>

<?php
    function getLink($user) {
      return '<a class="clicky" onclick="copyToClipboard(
                \'Copy to clipboard: Ctrl+C, Enter\nUse this on any forum with [img] tags!\', 
                \'site/pcard.php?user='.$user.'\');">
                <span class="label label-primary">Get Link</span>
              </a>';
    }
?>

<div class="well">
    <form method="post">
        <label>Get Signature Image</label>
        <input type="text" placeholder="Username..." name="signame" />

        <button type="submit" class="btn btn-primary">Look-up</button>
<?php
if (isset($_POST)) {
  getLink($_POST['signame']);
}
?>
    </form>

我如何继续使用发布的信息调用该脚本?此外,这里还有其他错误吗?

1 个答案:

答案 0 :(得分:0)

注意到两件事:

  1. $_POST永远在那里。因此isset($_POST)始终为true。您应检查其中是否存在参数(例如$_POST['signme'])或检查其是否为空(例如!empty($_POST))。

  2. getLink函数并不能真正打印出结果。它只返回您刚忽略的HTML字符串。您应该打印getLink

  3. 的回报

    我认为这就是你所需要的:

        <script>
          function copyToClipboard(info, text) {
            window.prompt(info, text);
          }
        </script>
    
        <?php
            function getLink($user) {
              return '<a class="clicky" onclick="copyToClipboard(
                        \'Copy to clipboard: Ctrl+C, Enter\nUse this on any forum with [img] tags!\', 
                        \'site/pcard.php?user='.$user.'\');">
                        <span class="label label-primary">Get Link</span>
                      </a>';
            }
        ?>
    
        <div class="well">
            <form method="post">
                <label>Get Signature Image</label>
                <input type="text" placeholder="Username..." name="signame" />
    
                <button type="submit" class="btn btn-primary">Look-up</button>
        <?php
        if (isset($_POST['signame'])) {
          print getLink($_POST['signame']);
        }
        ?>
            </form>
        </div>