0

我试图用 PHP 在 WHMCS 上创建一个登录页面。我的代码是这样的:

<div class="clearfix"></div>
  <div class="header_medium two">
    <div class="container">
      <h3 class="bigtext"> We are <span>Foxuhost.</span></h3>
      <h3 class="smalltext"><span>Get 7+</span> Unique Layouts</h3>
    </div>
  </div>
  <!--end header medium-->

  <div class="section_holder18">
    <div class="container">
      <div class="pagetitle">
        <h3>Login form</h3>
      </div>
      <div class="pagenation">&nbsp;<a href="index.html">Home</a> <i>/</i> <a href="#">Pages</a> <i>/</i> Login form</div>
    </div>
  </div>
  <!--end pagenation-->
  <div class="clearfix"></div>
  <div class="section_holder27" name="l1">
    <div class="container" name="l2">
      <div class="login_form" name="l3">
            <form method="post" id="sky-form" class="sky-form" name="l4">
                <header>Login form</header>

                <fieldset name="l5">
                    <section name="l6">
                        <div class="row" name="l7">
                            <label class="label col col-4">E-mail</label>
                            <div class="col col-8"name="l8">
                                <label class="input" name="l9">
                                    <i class="icon-append icon-user"></i>
                                    <input type="email" name="emailer">
                                </label>
                            </div>
                        </div>
                    </section>

                    <section>
                        <div class="row">
                            <label class="label col col-4">Password</label>
                            <div class="col col-8">
                                <label class="input">
                                    <i class="icon-append icon-lock"></i>
                                    <input type="password" name="password6">
                                </label>
                                <div class="note"><a href="#sky-form2" class="modal-opener">Forgot password?</a></div>
                            </div>
                        </div>
                    </section>

                    <section>
                        <div class="row">
                            <div class="col col-4"></div>
                            <div class="col col-8">
                                <label class="checkbox"><input type="checkbox" name="remember" checked><i></i>Keep me logged in</label>
                            </div>
                        </div>
                    </section>
                </fieldset>
                <footer>
                    <div class="fright">
                    <a href="http://trixia.dk/templates/d/register.html" class="button button-secondary eight">Register</a>
                    <button type="submit" name="send" value="send" class="button eight">Log in</button>
                    </div>

                </footer>
            </form>         
        </div>

        <form action="http://trixia.dk/templates/d/demo-recovery.php" id="sky-form2" class="sky-form sky-form-modal">
            <header>Password recovery</header>

            <fieldset>                  
                <section>
                    <label class="label">E-mail</label>
                    <label class="input">
                        <i class="icon-append icon-user"></i>
                        <input type="email" name="email" id="email">
                    </label>
                </section>
            </fieldset>

            <footer>
                <button type="submit" name="submit" class="button">Submit</button>
                <a href="#" class="button button-secondary modal-closer">Close</a>
            </footer>

            <div class="message">
                <i class="icon-ok"></i>
                <p>Your request successfully sent!<br><a href="#" class="modal-closer">Close window</a></p>
            </div>
        </form>
    {if $_post["emailer"] != ""}
      <div class="error-box alert"> <span><i class="fa fa-exclamation-triangle"></i> &nbsp; &nbsp;Error – message will goes here</span> <a class="mboxes_close" href="#"><i class="fa fa-times"></i></a> </div><!--end item-->
        {else}
        <h1>asdasd</h1>
    {/if}

</div>
  </div>
  <!--end section 22-->
  {literal}
  <script type="text/javascript">
    function validerform125() {
        var email = document.getElementsByName("password6")[0].value;
        var password = document.getElementsByName("emailer")[0].value;
        if (email == "" && password == "") {
            alert("Du skal udfylde alle felter");
        }
        else if (email == "") {
            alert("Du har ikke skrevet noget email");
            return false;
        }else if (password == "") {
            alert("Du har ikke skrevet noget password");
            return false;
        }else if(email != $values["email"]) {
            alert("Dit brugernavn er ikke rigtigt");
            return false;
        }else if() {

        }
        else{
            alert("Der skete noget");
            return false;
        }
    }
</script>
{/literal}

if 语句有点过了<!--end section 22-->

我在一个较小的网站上尝试过,效果很好。

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <form method="post">
        <div>
            Navn <input name="navn" type="text"><br/>
            Email <input name="email" type="email"><br/>
        </div>

        <div>
            <input type="submit" name="send" value="send">
        </div>
    </form>
<?php
if ($_POST["navn"] == "") {
    echo "hejsa";
    return;
}else{
    echo "hejsa2";
}
?>
</body>
</html>

错误是当我按下登录按钮时,它不会执行 if 语句。但是当我加载网站时,它会打印出“else”语句。

4

1 回答 1

0

您提供的第一个文件是 smarty .tpl 文件吗?如果是这样,您需要将底部更改为如下所示:

     ...
     </div>
        </form>
    {php}if ( $_POST["emailer"] != "" ) :{/php}
      <div class="error-box alert"> <span><i class="fa fa-exclamation-triangle"></i> &nbsp; &nbsp;Error – message will goes here</span> <a class="mboxes_close" href="#"><i class="fa fa-times"></i></a> </div><!--end item-->
        {php}else:{/php}
        <h1>asdasd</h1>
    {php}endif;{/php}

</div>
  </div>
     ...

Smarty 不知道您需要执行 PHP,除非您告诉它。这也是假设您没有在设置中禁用新的执行 PHP 选项的情况下运行 WHMCS 版本 6(然而,截至 2015 年 5 月,v6 仍处于测试阶段)。

希望有帮助。

于 2015-05-07T01:15:02.897 回答