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

标签 javascript php mysql forms apache

到目前为止,论坛对这个项目提供了巨大的帮助。我正在此处寻找有关我的项目下一步的指导。

我有一个表单,可以将用户提交的信息输入 MySQL 数据库。然后,该数据库将此信息提供给显示数据库中所有信息的主页。我想要做的是向我的表单添加一些内容,以便在提交表单时创建一个新的唯一 URL/页面。我已经为此页面设计了 HTML/CSS 模板,它旨在仅显示一组信息,而不是整个数据库的值(value)。

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

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

编辑:在 @Jacky Cheng 指出无需创建新版本的 HTML/CSS 文件就可以实现这一点之后,我倾向于在服务器上创建一个动态的 HTML 文件。

感谢您的帮助,到目前为止你们都做得很好。

包括我提交到数据库的表单的代码,以及我将从中提取信息的页面。

这是表格:

<?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 后填充来自数据库的信息的页面。

<?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;

显示.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>

关于javascript - 在 HTML 表单提交上从 MySQL DB 创建唯一的 URL/页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24774997/

相关文章:

javascript - 在 MVC 中使用 jquery 更改 foreach 循环中的 CSS 类

javascript - 如何使用php编辑txt文件内容?

javascript - 根据ajax中的另一个td名称设置td值

javascript - Facebook 登录/注册帮助

javascript - 未捕获的语法错误 : Unexpected token '?'

php - 如何在另一个字符串中插入一个字符串?

php - 按子数组排序数组

javascript - 尝试将法语/英语文本更新到 mysql 数据库时出错

mysql - Phpmyadmin Mysql Web 客户端和终端客户端的区别

php - 子数据不显示在查询结果中 - 将 Apache Solr 4.8.1 与 mySql 结合使用