HTML动态创建子页面

时间:2014-02-11 20:16:51

标签: javascript php html hyperlink

假设我有一个包含多行链接的网站www.mywebsite.com。当您点击每个链接时,您将被带到www.mywebsite.com/subfolder/1。如果动态创建这些链接(即用户提交到www.mywebsite.com的新链接),则还必须动态创建以下页面。

www.mywebsite.com/subfolder/1
www.mywebsite.com/subfolder/2
www.mywebsite.com/subfolder/3
...
www.mywebsite.com/subfolder/n

如何使用HTML / Javascript创建这些页面?

这个网站就是一个例子:

http://www.postrandomonium.com/

如果您看到第一个框,则其中包含ID为4248

您可以转到http://www.postrandomonium.com/status/4248查看与#4248中的信息特定的网页。

显然,这些页面是动态创建的,那么如何在代码中处理这个?

2 个答案:

答案 0 :(得分:0)

如果你真的想做这样的事情,请参阅我的解决方案:

1)生成这样的动态链接:[实际上有两个输入,一个是提交按钮,看起来像链接,另一个是不可见的输入。

<html>
    <head>
        <style type="text/css">
            input[class="buttonLikeLink"] {
                background:none;
                border:none; 
                padding:0;
                background-color:#FFFFF0;
                color: #0000FF;
             //   border-bottom:1px solid #444; 
                text-decoration:underline;
                cursor:pointer;
                cursor:hand;
            }

        input[class="invisible"] {
            background:none;
            border:none; 
            padding:0;
            background-color:#FFFFF0;
            color: #FFFFF0;
            cursor: default;
        }



        </style>
    </head>

    <body>
        <form   target="_blank"  method='POST' action="generate.php">
            <input class="buttonLikeLink" type="submit" value="the name of the link">
            <input class="invisible" type="text" value="myId" name="myName">
        </form>

        <form   target="_blank"  method='POST' action="generate.php">
            <input class="buttonLikeLink" type="submit" value="the name of the link 2">
            <input class="invisible" type="text" value="myId2" name="myName">
        </form>


    </body>

</html>

2)generate.php只是将其重定向到实际页面:

<?php

$myId=$_POST['myName'];

// Here you can access the database if you want using a query based on $myId


?>

<h1> 

    This is a very unusual solution! 

</h1>
<p> <?php echo $myId ?> </p>

我希望这个解决方案对您有用。也许你甚至可以改进它。

正如@ Anthony-Garcia在下面引起我们的注意,你可以使用普通链接和Ajax来做同样的事情。

答案 1 :(得分:0)

这是网址重写:在幕后,服务器将网址从人类可读的形状www.mywebsite.com/subfolder/1转换为服务器可读的形状www.mywebsite.com/index.php?folder=subfolder&id=1

您可以对每个主要的http服务器使用网址重写,例如ApacheIIS

如果你有兴趣用php编写那种网站,我建议你使用一个框架,比如Slim

http://www.slimframework.com/

或Silex

http://silex.sensiolabs.org/