如何创建内部链接(href =“#...”/ PHP& Bootstrap

时间:2018-03-27 16:11:59

标签: php hyperlink bootstrap-4 href

一般的编码新手。创建一个简单的小网站作为类分配。使用没有框架的PHP和用于HTML-CSS的Bootstrap。不能根据分配要求使用JavaScript。

我找不到如何在页面中正确创建内部链接。

我使用URL来决定显示哪个页面(全部来自index.php)。链接(通过href)到同一网站或外部链接中的不同页面可以正常工作。

但是当我尝试使用通常用于指向同一页面的链接的href =“#idName”时,它不起作用。

我认为它与此信息如何进入URL有关,并由index.php解释。但除此之外,我迷路了。

也许是因为我没有合适的词汇来搜索它,但到目前为止,在网上寻找答案时没有运气。

index.php的一部分:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>

typedef struct
{
   size_t  nLen;    // number of elements allocated for var
   double *var;     // pointer to a list of double variables
} moeda;

// struct is small so just initialize the whole thing and return it
// from the initialization routine.
moeda iniMoeda (size_t n)
{
   moeda x = {0};

   x.var = malloc(n * sizeof(double));   // try to allocate the requested number of doubles
   if (x.var) x.nLen = n;     // if allocated then remember number of doubles

   return x;
}

// free a moeda variable. we require a pointer so that we can reset
// the moeda variable to a known state of NULL pointer and zero allocation
// length so that we can easily catch using the variable after the memory
// has been freed. Hope for Address exception on a NULL pointer if this
// variable is used after freeing.
void freeMoeda (moeda *x)
{
    // free the allocated doubles and clear everything.
    // if x->var is NULL then free() does nothing.
    free (x->var); x->var = NULL; x->nLen = 0;
}

int main(void)
{
    size_t  a = 250;
    moeda   m = iniMoeda (a);

    if (m.var) {
        // allocation worked so lets test our space
        m.var[0] = 2000;
        printf("%lf", m.var[0]);
    } else {
        printf ("m.var is NULL.\n");
    }

    freeMoeda (&m);
    return 0;
}

在我想要内部链接的页面中的部分html:

if (isset($_GET['action'])){
    if($_GET['action'] == 'profil-membre'){
        include('pages/header_menu.html'); 
        include('pages/profil-membre.php');
    }elseif ($_GET['action'] == 'page-activite'){
        include('pages/header_menu.html'); 
        include('pages/page-activite.php');
    }
}else{ 
    include('pages/header_menu.html'); 
    //and below the html for the main page.
?>

任何有关我可以找到解决此问题的信息的想法或链接都将受到赞赏!!

1 个答案:

答案 0 :(得分:2)

如果我正确理解了这个问题,您可以使用:target CSS伪元素并使用它来使用display显示内容。我正在为你做一些非常简单的事。

&#13;
&#13;
* {margin: 0; padding: 0; line-height: 1; font-family: 'Segoe UI'; text-align: center; border-radius: 5px;}
a {display: inline-block; padding: 5px; border: 1px solid #ccf; background-color: #eef; text-decoration: none;}
a:active, a:focus {background: #f90; border-color: #f60;}
section {margin: 10px; padding: 10px; border: 1px solid #ccf; background-color: #f5f5f5; display: none;}
section:target {display: block;}
&#13;
<a href="#one">one</a>
<a href="#two">two</a>
<a href="#three">three</a>
<a href="#four">four</a>

<section id="one">
  This is section one.
</section>
<section id="two">
  This is section two.
</section>
<section id="three">
  This is section three.
</section>
<section id="four">
  This is section four.
</section>
&#13;
&#13;
&#13;

上面的代码就像一个标签视图,它没有任何JavaScript或服务器端代码。它纯粹依赖于传递给URL的#hashvalue。以上代码完全符合您的要求:

  • 不使用任何服务器端语言。
  • 不需要JavaScript。

这是一种纯粹的CSS做事方式。