Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在HTML表单提交上从MySQL DB创建唯一URL/页面_Javascript_Php_Mysql_Forms_Apache - Fatal编程技术网

Javascript 在HTML表单提交上从MySQL DB创建唯一URL/页面

Javascript 在HTML表单提交上从MySQL DB创建唯一URL/页面,javascript,php,mysql,forms,apache,Javascript,Php,Mysql,Forms,Apache,到目前为止,论坛对这个项目起到了巨大的帮助。我在这里寻找一些关于我项目下一步的指导 我有一个表单,它将用户提交的信息提供给MySQL数据库。然后,该数据库将该信息提供给显示数据库中所有信息的主页。我想做的是在我的表单中添加一些东西,以便在提交表单时创建一个新的唯一URL/页面。我已经为这个页面设计了HTML/CSS模板,它只显示一组信息,而不是整个数据库 我正在寻找一些关于如何在表单提交上创建页面和唯一URL的指导。立即从数据库获取这些新信息的最佳方式是什么 我需要以某种方式在服务器上自动重新创

到目前为止,论坛对这个项目起到了巨大的帮助。我在这里寻找一些关于我项目下一步的指导

我有一个表单,它将用户提交的信息提供给MySQL数据库。然后,该数据库将该信息提供给显示数据库中所有信息的主页。我想做的是在我的表单中添加一些东西,以便在提交表单时创建一个新的唯一URL/页面。我已经为这个页面设计了HTML/CSS模板,它只显示一组信息,而不是整个数据库

我正在寻找一些关于如何在表单提交上创建页面和唯一URL的指导。立即从数据库获取这些新信息的最佳方式是什么

我需要以某种方式在服务器上自动重新创建HTML和CSS文件,这是我不熟悉的

编辑:@Jacky Cheng指出,在不创建新版本的HTML/CSS文件的情况下,这是可能的。我倾向于在服务器上创建一个动态的HTML文件

谢谢你们的帮助,到目前为止你们都很好

包括我提交给DB的表单的代码,以及我将从中获取信息的页面

表格如下:

<?php
include_once 'post_func.inc.php';
connect();
?>
<!DOCTYPE html>
<html>
  <head>
    <title>Event Register</title>
  </head>
  <body>
    <div style="text-align: center">
      <h2>Event Register</h2>
      <form id="eventregister"action="eventtestconnect.php" method="post">
        <table style="border: 0; margin-left: auto; margin-right: auto; text-align: left">
          <tr>
            <td>Event Name:</td>
            <td><input name="name" type="text"></td>
            </tr>
            <tr>
            <td>Event Type:</td> 
            <td>
                <select name="eventtype">
                    <?php query_eventtype() ?>
                </select>       
            </td>
          </tr>
            <tr>
          <tr>
            <td>Venue:</td>
            <td>
                <select name="venue">
                    <?php query_venue() ?>
                </select>                   
            </td>
          </tr>      
       </table>
       <input type="submit" value="Submit">
       </form>
    </div>
  </body>
  <?php close() ?>
</html>

事件寄存器
事件寄存器
事件名称:
事件类型:
地点:
这是我希望在提交表单并生成url后用DB中的信息填充的页面

<?php
include_once 'event_func.inc.php';
connect();
?>
<html>
<head>
<title>
<?php query_eventname() ?>
</title>
<link href="eventstest.css" rel="stylesheet" type="text/css"/>
</head>
<body id="body">
  <div id="maincontainer">
    <div id="header">
    </div>
      <div id="content">
        <div id="eventname">
           <?php query_eventname() ?>
        </div>
        <div id="eventvenue">
           <?php query_eventvenue() ?>
        </div>
        <div id="eventicon">
           <?php query_eventtype() ?>
        </div>
      </div>
  </div>
</body>
<?php close() ?>
</html>

例如,为了在提交时生成url和事件页面能够在url/数据集之间动态跳转,需要对表单进行哪些更改

对于初学者的问题,我很抱歉,但是这个网站似乎真的是这类事情的最佳资源,我还没有在这里找到任何这样具体的东西


再次感谢你的帮助

我还在半猜你想要什么,所以请耐心听我说

从您的问题描述来看,您似乎有一个系统,可以为每个表单提交生成一个实际的html文件?我觉得那不太好。 也许可以试试这样:

重新设计一个网页,将http GET请求参数作为输入(mydomain.com/display.php?id={input1}),并且只显示一组信息

从我看到的评论来看,每个表单提交都有一个唯一的id,我建议不要在请求中直接使用它,因为这样可以非常容易地获取其他人的信息。相反,可以尝试对该id进行MD5编码,然后将其发送给用户

因此,整个系统将是:

1) you'll only ever have 1 html file in your server, which will dynamically change it's content according to input, which save you a lot of space.
2) you'll have a unique & slightly more secure URL per form submit
编辑: 这里有一些假代码来说明一般的想法

表格回应:

$uniqueId=mysql_query("SELECT unique_id FROM my_db");
echo "http://yourdomain.com/display.php?urlid=".$uniqueId;
display.php

<?php
$uniqueId=$_GET['urlid'];
mysql_query("SELECT info_you_need FROM your_tables WHERE unique_id = $uniqueId");
?>
<html><body>your display page html here</body></html>

您的显示页面在此显示html
我想

您希望创建如下所示的产品目录页:

www.abc.com/Electronics/Product-Motorola-moto-g-at-Rs6999-only.html

这将显示数据库中的所有产品信息

如果以上是您的情况,那么您可以在项目中使用url重写

RewriteEngine On    # Turn on the rewriting engine
RewriteRule    ^Product-/?$    Product-Motorola-moto-g-at-Rs6999-only.html    [NC,L]           # Handle requests for "Product-"
“重写规则”行是魔术发生的地方。该生产线可分为5个部分:

RewriteRule—告诉Apache,这个like指的是单个RewriteRule。 ^/产品/?$-“模式”。服务器将检查到站点的每个请求的URL,以查看此模式是否匹配。如果是这样,那么Apache将把请求的URL交换为下面的“替换”部分。 Product-Motorola-moto-g-at-Rs6999-only.html“替换”。如果上面的模式与请求匹配,Apache将使用此URL而不是请求的URL。 [NC,L]-“标志”,告诉Apache如何应用规则。在本例中,我们使用两个标志。“NC”告诉Apache这个规则应该不区分大小写,“L”告诉Apache如果使用这个规则,就不要再处理任何规则

处理“产品”请求-解释规则作用的注释(可选但推荐) 希望这对你有用。 请随时寻求帮助。
快乐编程:)

也请容忍我。你的描述很糟糕。如果我是对的,您需要form=>mysql=>confirmation

因此,表单应该是action=“process.php”method=“post”


创建一个process.php文件,在其中执行验证、转义、序列化等操作。插入MySQL表。如果返回true redirect(header(location:yourdomain.com)),然后在重定向页面上,从数据库中选择信息。

我不确定是否得到您想要的结果。“唯一URL”是什么样子的?在查询字符串中使用随机参数就足够了吗?@MaxArt是的,我相信可以,我正在考虑使用我从中提取的DB表的自动增量id。因此,在www.mydomain.com/12345中,唯一id是12345。如果页面是在服务器上的“new”文件夹中创建的,那么它将是www.mydomain.com/new/12345。这太棒了!对我来说,这真的很清楚,整个“每个表单提交创建一个新页面”感觉真的很混乱。所以这似乎更有意义,我不太了解http GET请求参数及其工作原理。至于唯一ID的md5编码,我会在PHP中与
http\u build\u url
选项结合使用吗?谢谢你的帮助我相信这个函数会把我的ID转换成md5:
函数url\u gen(){$uniqueid=mysql\u query(“SELEC