jquery移动表单不提交

时间:2012-12-07 14:55:06

标签: php jquery mysql jquery-mobile submit

我想使用php表单获取一些用户数据并将其存储在mysql数据库中,麻烦的是,当我提交表单时页面会刷新。

这是我的php表单:

<form id="companyform" name="companyform" method="post" action="index3.php" data-ajax="false">
<b>To enlist your business fill in the form below:</b>
<p>
<label for="name">Company Name:</label>
<input type="text" name="companyname" id="companyname"  data-mini="true"/>
</p>
<p>
<label for="name">Company Address:</label>
<input type="text" name="companynaddress" id="companynaddress"  data-mini="true"/>
</p>
<p>
<label for="textfield">Tel No.:</label>
<input type="text" name="tel" id="tel"  data-mini="true"/>
</p>
<p>
<label for="textfield">Fax No.:</label>
<input type="text" name="fax" id="fax"  data-mini="true"/>
</p>
<p>
<label for="textfield">Email:</label>
<input type="text" name="email" id="email"  data-mini="true"/>
</p>
<p>
<label for="textfield">Website Address:</label>
<input type="text" name="website" id="website"  data-mini="true"/>
</p>

<p>
<label for="textfield">Contact Person Name:</label>
<input type="text" name="contactname" id="contactname"  data-mini="true"/>
</p>

<p>
<label for="textfield">Contact Person Number:</label>
<input type="text" name="contactnumber" id="contactnumber"  data-mini="true"/>
</p>

<p>
<label for="textfield">Contact Person Email:</label>
<input type="text" name="contactemail" id="contactemail"  data-mini="true"/>
</p>

<p>
<input name="submit" type="submit" id="submit" value="Submit" />
</p>
</form>

这是我的数据库连接代码:

<?php

if (array_key_exists('submit', $_POST)) {

$con = mysql_connect("host",    "user", "pass");

if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("botswanasearchdb", $con);

$companyname = $_POST['companyname'];
$companyaddress = $_POST['companyaddress'];
$tel = $_POST['tel'];
$fax = $_POST['fax'];
$emailid = $_POST['emailid'];
$website = $_POST['website'];
$contactname = $_POST['contactname'];
$contactnumber = $_POST['contactnumber'];
$contactemail = $_POST['contactemail'];

// prepare the SQL query
 $sql = "INSERT INTO businessuser (companyname, companyaddress, tel, fax, emailid,   website, contactname, contactnumber, contactemail) VALUES ('$companyname',   '$companyaddress', '$tel', '$fax', '$emailid', '$website', '$contactname', '$contactnumber', '$contactemail')";
mysql_close($con);
}

?>

1 个答案:

答案 0 :(得分:1)

这是您的表单标记:

<form id="companyform" name="companyform" method="post" action="index3.php" data-ajax="false">

因此,您要将表单提交到index3.phpaction属性)。根据您的评论index3.php包含您的表单,这就是您提交表单时刷新的原因。您基本上是在表单提交上重新加载表单。

您需要将表单提交到包含您发布的php代码的php脚本。

修改:如果所有内容都在同一页面上,您可以执行以下操作:

if (array_key_exists('submit', $_POST))
{
  // your code

  // show thank you message
}
else
{
  // show form
}

另一个编辑:当您使用已弃用的mysql_*函数而不是转义数据时,您将整个sql注入并且数据中的'字符将会中断您的查询。您应该切换到PDO / mysqli和准备好的语句。并始终添加错误处理。