2013-03-28 88 views
2

我试图发布数据并将其放入msql数据库,但是当我把print_r($ _ POST);它显示数组为空。我知道它获得正确的价值,但它不张贴HTML form not POSTing

<!DOCTYPE html> 

<html> 

<head> <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
     <script src="Scripts/menu.js"></script> 
     <script src="Scripts/signup.js"></script> 

<link rel='stylesheet' href='CSS/index.css'> 


</head> 

<body> 

<img src="wc.png" id="wc"> 

<img src='restaurant.jpg' id="restaurant"> 
<img src='map.jpg' id="map"> 
<img src='mail.jpg' id="mail"> 
<img src='people.jpg' id="people"> 

<div id="window"> <div id="membersWindow"> <input type="text" id="signupUsername" value="name" placeholder="Username"> 

<form action="/signup.php" method="post"> 
<input type="password" id="signupPassword" placeholder="Password"> 

<input type="text" id="signupEmail" placeholder="Email"> 

<input type="text" id="signupphoneNumber" placeholder="Phone Number"> 

<iframe src="useragreement.html" id="userAgreement"> </iframe> 

<input type="submit" id="signupSubmit"> 
</div> 

</form> 

<div id="restaurantWindow"> Restaurant Window </div> 

<!--- <div id="mapWindow"> <iframe src="https://maps.google.com/?ie=UTF8&amp;ll=29.817178,-95.401291&amp;spn=0.689868,1.256561&amp;t=h&amp;z=10&amp;output=embed"></iframe> 
</div> ---> 

<div id="mailWindow"> Mail Window </div> 

</div> 

<div id="banner"> <h1> Wolfeboro Connection </h1> </div> 

</body> 

</html> 

下面是获取帖子,但它显示数组()为空的PHP页面。还没有任何错误报告。

<?php 
error_log(E_ALL); 

if(isset($_POST)) echo "NO POST<BR>"; 
print_r($_POST); 



include("connection.php"); 



$stmt = $db->stmt_init(); 

if($stmt->prepare("INSERT INTO users (BusinessName, Password, Phone, Email) VALUES (?, ?, ?, ?)")) { 

$stmt->execute(); 
$stmt->close(); 

} 



?> 


$(function() 
{ 
alert($("#signupUsername").val()); 

$("#signupSubmit").click(function() { 
alert("posting "+$("#signupUsername").val()); 

$.post("../signup.php", 
    { username: $("#signupUsername").val(), 
    password: $("#signupPassword").val(), 
    phonenumber: $("#signupphoneNumber").val(),  
    email: $("#signupEmail").val() 
    }) 
    .done(function(r) 
    { 
    alert("done"); 
    }) 
    .fail(funciton() 
    { 
    alert("fail"); 
    }); 
}); 
alert("loaded"); 

}); 
+0

您还可以将u为Firefox提供“HTTPFox”-AddOn以获取所有请求,包括所有GET/POST信息以进行调试。这是非常有用的:) – 2013-03-28 00:10:42

+0

jQuery和AJAX在哪里发挥作用?这仅仅是一个基本的HTML表单。 – 2013-03-28 00:17:49

+0

什么是输出 – 75inchpianist 2013-03-28 00:24:58

回答

10

<input>标签需要name属性。它会被用来为索引在你$_POST,所以,这个输入:

<input name="some" type="text"/> 

会产生:

$_POST['some'] 

http://www.w3schools.com/php/php_post.asp

+0

它的工作感谢所有 – 2013-03-28 00:14:09

2

你必须给所有input SA name属性,该属性将值添加到数组中:

<form action="/signup.php" method="post"> 
    <input type="password" id="signupPassword" placeholder="Password"> 

    <input type="text" name="signupEmail" placeholder="Email"> 

    <input type="text" name="signupphoneNumber" placeholder="Phone Number"> 

    <input type="submit" name="signupSubmit"> 
</form>