单击表单时,仅发送到数据库的空值

时间:2012-03-10 04:21:15

标签: jquery-mobile

我在php上使用了一个jquery移动表单,使用Dreamweaver cs5.5 ..一个表单用于包含post函数..我的服务器是zqlichost.com中的mysql ..它发生在每次我运行表单.. null值发送到我的数据库..即使将值插入文本字段并按提交..仍然将空值发送到数据库..请问我知道问题是什么?你的合作是值得赞赏的...我有jz更新代码,删除$ _POST和['name']之间的空格,并将$ _POST ['密码']更改为$ _POST ['pass'] .. 它碰巧与之前的结果相同..

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>My Cloud</title>

<?php

$un = $_POST['name'];
$em = $_POST['email'];
$pw = $_POST['pass'];

//$un = 'abc';
//$pw = 'abc';

$mysql_hostname = "localhost";
$mysql_database = "mycloud_zymichost_register";
$mysql_user = "user";
$mysql_password = "pass";

$conn = mysql_connect($mysql_hostname,$mysql_user,$mysql_password);

mysql_select_db($mysql_database, $conn );

if (isset($_POST['submit'])){
//$query = "SELECT * FROM Login WHERE username = '$un' AND password = '$pw'";
$query = "INSERT INTO Register (name,email,pass) VALUES ('$un','$em','$pw')";

$result = mysql_query($query) or die("Unable to verify user because : " . mysql_error());  

// if(mysql_num_rows($result) > 0)  

//echo 1;   
//else  
//echo 0; 
 echo print_r($_POST, true);
}

?>




<link href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.css" rel="stylesheet" type="text/css">
<script src="http://code.jquery.com/jquery-1.5.min.js" type="text/javascript"></script>
<script src="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.js" type="text/javascript"></script>
</head>

<body>
<div data-role="page" id="index">
<div data-role="header">
<h1>Header</h1>
</div>
<div data-role="content">Register

<form action="index.php" method="post" name="form">

<div data-role="fieldcontain">
  <label for="name">Name:</label>
  <input type="text" name="name" id="name" value=""  />
</div>

<div data-role="fieldcontain">
  <label for="email">Email:</label>
  <input type="text" name="email" id="email" value=""  />
</div>

<div data-role="fieldcontain">
  <label for="pass">Password:</label>
  <input type="password" name="pass" id="pass" value=""  />
</div>
<a href="index.php" data-role="button" name="submit">Submit</a>
</form>


</div>
<div data-role="footer">
<h4>Footer</h4>
</div>
</div>
</body>
</html>

我在php上使用了一个jquery移动表单,使用Dreamweaver cs5.5 ..一个表单用于包含post函数..我的服务器是zqlichost.com中的mysql ..它发生在每次我运行表单.. null值发送到我的数据库..即使将值插入文本字段并按提交..仍然将空值发送到数据库..请问我知道问题是什么?你的合作是值得赞赏的...我有jz更新代码,删除$ _POST和['name']之间的空格,并将$ _POST ['密码']更改为$ _POST ['pass'] .. 它碰巧与之前的结果相同..

3 个答案:

答案 0 :(得分:1)

我认为您将获得null值,因为您已使用<a>标记用于提交按钮,它不会提交页面,但会在指定的页面上重定向您。

而不是它(<a>)尝试使用按钮代码:

<button type="submit" data-theme="b" name="submit" value="submit-value">Submit</button>

还可以查看此链接:

http://jquerymobile.com/demos/1.1.0-rc.1/docs/forms/forms-sample.html

它将为您提供ajax表单提交和非ajax表单提交的示例

另外一件事我想建议你使用jquerymobile的最新稳定版本及其支持的jquery.js文件

希望这会对你有所帮助

答案 1 :(得分:0)

问题在于:

$pw = $_POST ['password'];

...和...

<input type="password" name="pass" id="pass" value=""  />

请注意,您输入的名称为传递,但您使用的是$ _POST ['密码']

答案 2 :(得分:0)

从密码输入中删除value =“”字段,并将name =“password”更改为name =“pass”

密码字段应如下所示:

<input type="password" name="pass" id="pass" />