用PHP发布POST问题

时间:2014-03-28 10:58:18

标签: php forms jquery-mobile post

我尝试将基本的jQuery Mobile页面放在一起,该页面连接到服务器的同一路径上的另一个文件以发送数据。我已经在注释掉的代码部分中测试了PHP。

PHP文件 - 提交harvest.php     

$dbConnection = mysqli_connect('*********', '*********', '*********', '*********');

/*
$variety  = "Aji Limon";
$picked   = "11";
$weight = "22";
*/

$variety  = $_POST['variety'];
$picked   = $_POST['picked'];
$weight = $_POST['weight'];

$query = "INSERT INTO `harvest` (`variety`, `picked`, `weight`) VALUES ('$variety', '$picked', '$weight')";

if (mysqli_query($dbConnection, $query)) {
    echo "Successfully inserted " . mysqli_affected_rows($dbConnection) . " row";
} else {
    echo "Error occurred: " . mysqli_error($dbConnection);
}

?>

和html文件 - index.html

<html>
<head>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css" />
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
    <script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>

    <!--Mobile Device Scaling -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />

</head>
<body>
    <div data-role="page" id="harvest">
        <div data-role="header" data-theme="b">
            <h1>Chilli Harvest</h1>
        </div>
    <div data-role="content">
    <form name="harvest" action="submitharvest.php" method="post" data-ajax="false">
        <div data-role="fieldcontain">
          <label for="variety" class="select" >Variety:</label>
            <select name="variety" id="variety" data-theme="b">
                <option value="7 Pot Red">7 Pot Red</option>
                <option value="7 Pot Yellow">7 Pot Yellow</option>
                <option value="Aji Limon">Aji Limon</option>
            </select>
      </div>
      <div data-role="fieldcontain">
        <label for="picked">Qty Picked:</label>
        <input type="range" name="picked" id="picked" value="1" min="0" max="200" step="1" data-theme="b" data-track-theme="c"/>
      </div>
      <div data-role="fieldcontain">
          <label for="weight">Weight (g):</label>
          <input type="number" name="weight" id="weight" value="" data-theme="b" />
      </div>
      <div data-role="fieldcontain">
        <input type="submit" value="Send" id="submit">
      </div>
    </form>
    </div>
</div>
</body>
</html>

添加了数据-ajax =“false”,甚至删除了整个查询移动框架,我得到了同样的问题,说明“发生了错误”,后面没有额外的细节,我看不到任何问题控制台。希望我在这里遗漏一些非常基本的东西?请帮忙。

因此,从下面的前几条评论中尝试了一些事情 - 这也就是dbconnection是罪魁祸首吗?我正在使用带有个人MySQL数据库的NAS驱动器,我是否需要在末尾编写端口号?目前我有:

$ dbConnection = mysqli_connect('home IP Address:3306','username','password','databasename');

我见过一些像这样的连接字符串,其中包含端口号:

$ dbConnection = mysqli_connect('home IP Address','username','password','database name',3306);

由于我尝试了以上所有内容甚至将端口号放在“3306”中,这真的增加了我的困惑......难过,有人有任何进一步的想法吗?

1 个答案:

答案 0 :(得分:0)

经过几个小时的浪费时间之后,它所托管的网络服务器通过它的防火墙阻止了MySQL,所以我所有的检查都没问题,但网络主机防火墙应该受到责备,网络公司已经添加了排除允许这个工作!