【问题标题】:PHP Reload div's content on link clickPHP在链接点击时重新加载div的内容
【发布时间】:2015-03-30 08:35:16
【问题描述】:

如果您单击 PHP 链接,我想重新加载特定的 div。

HTML 代码:

<nav>
    <a href="register.php">Register</a>
    <a href="login.php">Login</a>
</nav>
<div class="content">
    //Reload Content here
    <p>That's a test paragraph for the start page</p>
</div>

现在我想将点击时 href 中的页面包含到 div.content 中

如何在 php 中捕获链接点击?这可能吗?以及如何将页面包含到我的 div.content 中?

谢谢!

【问题讨论】:

  • 使用jQuery。到目前为止,您尝试过什么?

标签: php


【解决方案1】:

如果您想在不重新加载页面的情况下实现此目的,您可能需要考虑使用 Jquery 和 AJAX...否则您可能希望使用 PHP GET 请求,如下所示:

<nav>
    <a href="?content=register">Register</a>
    <a href="?content=login">Login</a>
</nav>
<div class="content">
    <?php 
        if (isset($_GET['content'])) {

            if (file_exists($_GET['content'] . '.php')) {

                require($_GET['content'] . '.php');
            }
        }
    ?>
    <p>That's a test paragraph for the start page</p>
</div>

【讨论】:

    【解决方案2】:

    PHP 代码在服务器上执行,无法重新加载 &lt;div&gt; widhout 渲染整个页面。如果您绝对想使用 PHP 来执行此操作,则需要在 &lt;div class=content&gt; 内创建一个 &lt;iframe&gt; 并重新加载。

    URL 参数存储在$_GET 变量中。 例如:foo.com?page=bar 可以用$_GET['page']检索

    <?php 
    echo $_GET['page']; // will return "bar"
    ?> 
    

    没有&lt;iframe&gt;的纯PHP示例

    <nav>
        <a href="register.php">Register</a>
        <a href="login.php">Login</a>
    </nav>
    <div class="content">
    <?php
         if(isset($_GET['page']))
         {
            // Includes the content. @ is for supressing errors if the file is not found.
            // Can be solved with is_file();
            // http://php.net/manual/en/function.is-file.php
            @include "/path/to/file/".$_GET['page'].".php";
         }  
    ?>
    </div>
    

    这不是最安全的方法,因为您可以操纵 URL 以在系统中包含其他 PHP 文件,但您明白了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-12
      • 2014-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多