Hi,
ich habe hier ein kleines Problem mit meinem Script und ich finde den Fehler nicht... Kann mir hier evtl. jemand helfen?
Das Problem ist, dass dieses Script das Formular nicht speichert und ich immer das echo aus if($num_rows==0) bekomme, auch wenn die Formulardaten type und type2 in type_table vorhanden sind...
Danke für eure Hilfe!
HTML:
PHP-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Copyright 2008 Google Inc.
Licensed under the Apache License, Version 2.0:
http://www.apache.org/licenses/LICENSE-2.0
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Title</title>
<script src="http://maps.google.com/maps?file=api&v=2&key=XXXXXXXXXXXXXXXXX"
type="text/javascript"></script>
<script type="text/javascript">
var xmlHttp = false;
if (typeof XMLHttpRequest != 'undefined')
{
xmlHttp = new XMLHttpRequest();
}
if (!xmlHttp)
{
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
xmlHttp = null;
}
}
}
var marker;
function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map_canvas"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(30.000000, 0.000000), 1);
GEvent.addListener(map, "click", function(overlay, latlng) {
if (latlng) {
marker = new GMarker(latlng, {draggable:true});
GEvent.addListener(marker, "click", function() {
var html = "<table>" +
"<tr><td> </td> <td><input type='hidden' id='colour' value='Green'></td> </tr>" +
"<tr><td>Name:</td> <td><input type='text' id='name'/> </td> </tr>" +
"<tr><td>Date:</td> <td><input type='text' id='date'/></td> </tr>" +
"<tr><td>9-digit Number:</td> <td><input type='text' id='type'/></td> </tr>" +
"<tr><td>3-digit Number:</td> <td><input type='text' id='type2'/></td> </tr>" +
"<tr><td></td><td><input type='button' value='Save & Close' onclick='saveData()'/></td></tr>";
marker.openInfoWindow(html);
});
map.addOverlay(marker);
}
});
}
}
function saveData() {
var colour = escape(document.getElementById("colour").value);
var name = escape(document.getElementById("name").value);
var date = escape(document.getElementById("date").value);
var type = escape(document.getElementById("type").value);
var type2 = escape(document.getElementById("type2").value);
var latlng = marker.getLatLng();
var lat = latlng.lat();
var lng = latlng.lng();
xmlHttp.open('POST', 'phpsqlinfo_addrow.php', true);
xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlHttp.onreadystatechange = messageresponse;
xmlHttp.send("colour=" + colour + "&name=" + name + "&date=" + date + "&type=" + type + "&type2=" + type2 + "&lat=" + lat + "&lng=" + lng);
GDownloadUrl("phpsqlinfo_addrow.php", function(data, responseCode) {
if (responseCode == 200 && data.length <= 1) {
marker.closeInfoWindow();
document.getElementById("message").innerHTML = "Location added.";
}
});
}
function messageresponse()
{
if(xmlHttp.readyState==4) {
if(xmlHttp.status==200) {
marker.closeInfoWindow();
document.getElementById('message2').innerHTML = xmlHttp.responseText;
}
}
}
</script>
</head>
<body onload="initialize()" onunload="GUnload()">
<div id="map_canvas" style="width: 600px; height: 400px"></div>
<div id="message"></div>
<div id="message2"></div>
</body>
</html>
PHP:
PHP-Code:
<?php
require("phpsqlinfo_dbinfo.php");
$colour = $_GET['colour'];
$name = $_GET['name'];
$date = $_GET['date'];
$type = $_GET['type'];
$type2 = $_GET['type2'];
$lat = $_GET['lat'];
$lng = $_GET['lng'];
$connection = mysql_connect ("localhost", $username, $password);
if (!$connection) {
die('Not connected : ' . mysql_error());
}
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
die ('Can\'t use db : ' . mysql_error());
}
$query="Select * from type_table WHERE type='$type' AND type2='$type2' ";
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
if($num_rows==0) {
echo $message1 = "Type or Type2 has been incorrect";
}
if($num_rows==1) {
$query = sprintf("INSERT INTO markers " .
" (id, colour, name, date, lat, lng, type, type2 ) " .
" VALUES (NULL, '%s', '%s', '%s', '%s', '%s', '%s', '%s');",
mysql_real_escape_string($colour),
mysql_real_escape_string($name),
mysql_real_escape_string($date),
mysql_real_escape_string($lat),
mysql_real_escape_string($lng),
mysql_real_escape_string($type),
mysql_real_escape_string($type2));
$result = mysql_query($query);
if ($result == true)
{
echo $message2 = "Type and Type2 were correct and marker has been saved";
}
if (!$result) {
die('Invalid query: ' . mysql_error());
}
}
?>