HTML表单没有POSTing

时间:2013-03-28 00:07:12

标签: php html

我试图发布数据并将其放入msql数据库但是当我把它放到print_r($ _ POST);它将数组显示为空。我知道它正确地获得了值,但它没有发布

  <!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页面,但是它将array()显示为空白。报告也没有任何错误。

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

});

2 个答案:

答案 0 :(得分:11)

您的<input>代码需要name属性。它将被用作$_POST中的索引,因此,此输入:

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

将产生:

$_POST['some']

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

答案 1 :(得分:2)

您必须为所有input提供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>