html表单进入mysql数据库然后放到表上

时间:2014-04-12 11:46:50

标签: php

我已经使用index.php(hidden =?page =)/ home制作了一个包含多个页面的php网站 所以人们将该页面视为localhost / home 我们有一个注册表单,我已经设置发送电子邮件给一个人看,但我想把一些信息发送到一个表,我想写它到一个HTML文件,但这将意味着更多文件和空间使用。 我在想信息可以去 表格 - > FORMSEND.PHP - >数据库和电子邮件 然后在名为" teamentries"的页面上它显示了以下信息的表格"团队名称坑车号女士/ U16" ladies / u16只是一个复选框,我们需要能够分配投票位置。

好的,多亏了小丑,我现在有了这个

<?php // database add

$conn = mysql_connect("localhost", "pedalcar", "Rsr12345");
$database = mysql_select_db("pedalcar_pedalcar", $conn);

$query = mysql_query("INSERT INTO teamentries (teamname, teamtype, teamhistory,carnumber, carhistory, driverone, drivertwo, driverthree,driverfour, pusher, club, sponsor, leader, address, telephone, mobile, email, construction, deconstruction, marshall) VALUES ('".$TeamName."','".$teamtype."','".$teamhistory."','".$carnumber."','".$carhistory."','".$driverone."','".$drivertwo."','".$driverthree."', '".$driverfour."','".$pusher."','".$club."','".$sponsor."','".$leader."','".$address."','". $telephone."','".$mobile."','".$email."','".$construction."','".$deconstruction."','".$marshall."')");?>

但它没有向数据库添加任何数据!

2 个答案:

答案 0 :(得分:1)

我将尝试在没有任何给定代码或文件名的情况下尽可能地回答这个问题

<强>的index.php

<form action='sendemail.php' method='post'>
  //input tags (e.g. name, email)
</form>

<强> sendemail.php

<?php 
  //Email code that you wrote

  $conn = mysql_connect("SQL_SERVER", "USER", "PASSSWORD");
  $database = mysql_select_db("DATABASE_NAME", $conn);

  $query = mysql_query("INSERT INTO table_name (name, email) VALUES ('".$_POST['name']."', '".$_POST['email']."')");

  header('Location: table.php');

?>

<强> table.php

<table>
  <?php
  $conn = mysql_connect("SQL_SERVER", "USER", "PASSSWORD");
  $database = mysql_select_db("DATABASE_NAME", $conn);

  $query = mysql_query("SELECT * FROM table_name");
  while($row = mysql_fetch_assoc($query)){
    echo "<tr>";
      echo "<td>".$row['name']."</td>";
      echo "<td>".$row['email']."</td>";
    echo "<tr>";
  }
?>
</table>

答案 1 :(得分:0)

  

我想把一些信息转到桌子上

你的意思是一个html表元素或一个db表?

  

我正考虑将其写入html文件

您不需要编写html文件来执行此操作,您可以使用php脚本以dinamically方式生成html输出(或者使用javascript更好地填充表单输入的div);将表单提交到save并显示php脚本(form action =“showAndView.php”),浏览器将打开一个页面,用表格数据(例如用POST方法发送)执行查询,检查数据以避免在浏览器上重新提交刷新到此页面,然后使用相同的数据填充表格。 无需为每个表单提交创建一个html文件!

编辑:使用评论数据扩展答案

如上所述,您可以使用$ _POST数组创建一个保存到db的php页面,并使用$ _POST数组查询表单数据,该数组存储您提交表单时发送的已提交表单数据(如果表单方法=“POST”) ,但您也可以使用GET方法和$ _GET数组,具体取决于您需要对数据执行的操作),然后使用相同的数组来填充表 你需要逃避你的数据,以确保不会发生任何不良事件(恶意数据)

//Escaping html data
$formElementName1 = htmlspecialchars($_POST['formElementName1'], ENT_NOQUOTES | ENT_HTML5);
$formElementName2 = htmlspecialchars($_POST['formElementName2'], ENT_NOQUOTES | ENT_HTML5);

//Escaping mysql data
$value1 = mysql_real_escape_string($_POST['formElementName1']);
$value2 = mysql_real_escape_string($_POST['formElementName2']);

/Saving to db
$db = new mysqli($db_host, $db_username, $db_password, $db_name);
$result = $db->query("INSERT INTO your_table (column_1,column_2) VALUES($value1,$value2);

//HTML output
echo "<table>
<tr><td>Title 1</td><td>Title 2</td></tr>
<tr><td>".$formElementName1."</td><td>".$formElementName2."</td></tr>
</table>";

请记住插入查询错误控件并检查数据重复