Phonegap, Mysql, ajax // No Insert


Phonegap, Mysql, ajax // No Insert

我尝试从html插入到mysql (Phonegap)。但他没有……我错在哪里?对不起,我的英语不好,谢谢你的帮助…我有~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~HTML:

    <div id="landmark-1" data-landmark-id="1">
        <form>
    <div id="block1">Datum:<input type="date" id="date" name="date"></div>
    <div id="block2">Baustelle:  <input name="bau" id="bau" class="tb1" type="text" size="18" /></div>
<div id="block4">
<input type="submit" value="Speichern">
</div>
    </form>
    </div>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Post.js

$(document).bind('deviceready', function(){
    $(function(){
        $('form').submit(function(){
            var landmarkID = $(this).parent().attr('data-landmark-id');
            var postData = $(this).serialize();
            alert(postData+'&lid='+landmarkID);
            $.ajax({
                type: 'POST',
                data: postData+'&lid='+landmarkID,
                //change the url for your project
                url: "http://voss-hm.de/zeitserver/save.php",
                success: function(data){
                    console.log(data);
                    alert('Your comment was successfully added');
                },
                error: function(){
                    console.log(data);
                    alert('There was an error adding your comment');
                }
            });
            return false;
        });
    });
});

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~PHP:

<?php
$server = "--------------";
$username = "--------------";
$password = "--------------";
$database = "--------------";
$con = mysql_connect($server, $username, $password) or die ("Could not connect: " . mysql_error());
mysql_select_db($database, $con);
$id = $_Post["id"];
$date = ($_Post["date"]);
$baustelle = ($_Post["bau"]);

$sql = "INSERT INTO timesave.$id (datum, baustelle, anfang, ende, pause) VALUES ('$date' , '$baustelle', '', '', '')";
if (!mysql_query($sql, $con)) {
    die('Error: ' . mysql_error());
} else {
    echo "Comment added";
}
mysql_close($con);
?>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

这里有几个错误。

首先,使用$_POST而不是$_POST(区分大小写)。

第二,你不应该再使用mysql_*函数。请阅读本教程:https://www.binpress.com/tutorial/using-php-with-mysql-the-right-way/17

你的脚本现在很容易受到很多攻击,你真的需要学会转义POST值。你的脚本也将不工作,如果你有单引号在你的张贴值。下面的链接将教你如何处理这个问题。

从PHP脚本返回json编码的对象也是一个好主意。

  1. $_POST而不是$_Post
  2. 请勿使用mysql_ -functions!使用mysqli_或PDO代替。