AJAX geht lokal aber nicht im www

Eiszwerg

Erfahrenes Mitglied
Moin zusammen,

ich habe lokal ein Script erstellt, welches verschiedene Timestamps auf Klick in eine DB speichert. Dazu habe ich ein wenig mit xajax gearbeitet.
Nun hab ich den Kram hochgeladen und es geht nicht.
Der Xajax-Ordner hat Schreibrechte verpasst bekommen, aber dennoch passiert nix.
Leider bekomme ich derzeit auch keine Fehlermeldung.

Hat jemand so aus dem FF einen heissen Tip?

Danke und schöne Nacht!
 
Du solltest den Quelltext posten oder mal in die Fehlerkonsole kuggen. Wenn das nicht hilft einfach Debuggen. Und: "Geht nicht" ist ja mal KEINE Fehlerbeschreibung.
 
Okay okay ;-)
Ich war so perplex, dass es nicht ging, dass ich blind drauf losgepostet habe. Ist sonst nicht meine Art.

Wie bekomme ich die Fehlerkonsole zu sehen bzw. aktiviere sie?

Hier mal der gruselige Quellcode:
PHP:
<?php
require("../xajax/xajax.inc.php"); 		        
$my_xajax = new xajax();				                  
//$my_xajax->debugOn();
$my_xajax->registerFunction("addstamp",XAJAX_POST);	  
$my_xajax->registerFunction("delstamp",XAJAX_POST);	  
$my_xajax->processRequests();				              
?>
<html>
<head>
<title>Ferienwohnungen "Alt-Borby" in Eckernf&ouml;rde</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../css/style.css">

<?php
$my_xajax->printJavascript($sJsURI="xajax/");
?>
<script type="text/javascript">
var stamps = new Array();
function mark(id,stamp)
{
var a=document.getElementById(id).style.backgroundColor;
  if (document.getElementById(id).style.backgroundColor == "#3399ff" || document.getElementById(id).style.backgroundColor == "rgb(51, 153, 255)")
	{
    document.getElementById(id).style.backgroundColor = "#ff0000";
    xajax_addstamp(stamp);
	} else {
    document.getElementById(id).style.backgroundColor = "#3399ff";
    xajax_delstamp(stamp);
  }
}
</script>
</head>



<body>

<?php
$timestamp    = mktime();
$datum        = getdate($timestamp);
$tag          = "$datum[mday]";
$wochentage   = array("Mo.","Di.","Mi.","Do.","Fr.","Sa.","So.");
$monatsnamen  = array(0,"Januar","Februar","M&auml;rz","April","Mai","Juni","Juli","August","September","Okober","November","Dezember");
//$monat      = "$datum[mon]";
$monat        = 1;

if ($jahr==""){
$jahr =  "$datum[year]";
}
echo "<h2>&Uuml;bersicht f&uuml;r \"Vogel\" $jahr</h2>";
$jahrminus=$jahr-1;
echo "<a href=\"$PHP_SELF?jahr=$jahrminus\"><<</a> ... ";
$jahrplus=$jahr+1;
echo "<a href=\"$PHP_SELF?jahr=$jahrplus\">>></a>";

$zelle        = 1;
include("vars.php");

$schaltjahr = gettype($jahr/4);
if($schaltjahr=="integer") {
    $monat_tage = array(0,31,29,31,30,31,30,31,31,30,31,30,31);
    } else {
      $monat_tage = array(0,31,28,31,30,31,30,31,31,30,31,30,31);
      }
echo "<form action=\"test.php\" name=\"kalender\">";
for ($monat=1;$monat<13;$monat++){
$monat_tage = array(0,31,28,31,30,31,30,31,31,30,31,30,31);
$start  = getdate(mktime(2,0,0,$monat,1,$jahr));
//###############Div starten
echo "<div id=\"kalender\">";


//################Tabellenkopf mit Wochentagen generieren.
echo "<strong>$monatsnamen[$monat]</strong><br><table border=0><tr>";
for ($y=0;$y<7;$y++)
  {
  echo "<td align=\"center\">".$wochentage[$y]."</td>";
  }
echo "</tr>";


//################Tabelle bauen
$beginn = $start[wday];                           //$beginn ist die zahl des Wochentages vom ersten Tag des Monats
if ($beginn==0) $beginn=7;                        // wenn $beginn 0 ist, was sonntag waere, dann wird $beginn auf 7 gesetzt
$spalte=0;                                        //Zaehler fuer die Spalten.
echo "<tr>";
for ($x=1;$x<$beginn;$x++)                        //fuellen der leeren Wochentage bis zum 1.
  {
  echo"<td> </td>";
  $spalte++;                                      //Zaehler fuer die Spalten erhoehen, um bei So einen </tr> zu machen
  }

for ($y=1;$y<($monat_tage[$monat]+1);$y++)        //solange den Tag schreiben, wie der Monat Tage hat 
  {
  $zellen_id++;                                 
  $stamp = mktime(0, 0, 0, $monat, $y, $jahr); //timestamp f&uuml;r den Tag generieren
 
//############# hier werden die Buttons erstellt, welche die JavaScript-Funktion aufrufen ############# 
mysql_connect ($server,$user,$pw) or die ("Es besteht keine DB Verbindung :o(");
$dbanfrage = "SELECT * FROM $table2 WHERE stamp='$stamp'";
$result = mysql_db_query ($db, $dbanfrage);
if (mysql_num_rows($result)=="0"){
  echo"<td align=\"center\" ><input style=\"font-size: 9px;color: #000; background-color: #339900;border:none;width: 18px;\" type=\"button\" value=\"$y\" id=\"$zellen_id\" onClick=\"mark(id,$stamp);return false;\"></td>"; 
} else   echo"<td align=\"center\" ><input style=\"font-size: 9px;color: #000; background-color: #ff0000;border:none;width: 18px;\" type=\"button\" value=\"$y\" id=\"$zellen_id\" onClick=\"mark(id,$stamp);return false;\"></td>"; 
//echo"<td align=\"center\" ><input style=\"width:10;height:10;border:none;\" type=\"checkbox\" name=\"timestamp\">$y</td>"; 
  $spalte++;                                      //Zaehler fuer die Spalten erhoehen, um bei So einen </tr> zu machen
  if (gettype($spalte/7)=="integer") echo "</tr>\n<tr>"; //wenn 7 Spalten geschrieben wurde, dann neue Zeile
}

//############# Auffuellen bis alles buendig ist #############
while(gettype($spalte/7)!="integer")
{
  echo "<td></td>";
  $spalte++;
}

echo "</table>\n";
/*if ($monat==6) echo "</div><br />";
else */echo "</div>";
}
echo "</form>";


function addstamp($stamp)
{
include ("vars.php");
mysql_connect ("localhost",$user,$pw);
mysql_db_query ($db,"INSERT INTO $table2  VALUES('0','$stamp')");
$response = new xajaxResponse();
return $response;
}
function delstamp($stamp)
{
include ("vars.php");
mysql_connect ("localhost",$user,$pw);
mysql_db_query ($db,"DELETE FROM $table2 WHERE stamp='$stamp'");
$response = new xajaxResponse();
return $response;
}
?>

Fehler: Es werden keine Einträge mehr in die DB gespeichert.
 
Zuletzt bearbeitet:
Hat keiner eine Idee, woran es liegen könnte?
Mittlerweile habe ich den Code ein wenig umsortiert und rausgefunden, dass nach dem Aufruf der Funktion mark() kein Aufruf von addstamp() oder delstamp() erfolgt.

Weiß Jemand wieso?

Hier der neue Code:
PHP:
<?php
include("../xajax/xajax.inc.php"); 		        
$my_xajax = new xajax();	

function addstamp($stamp)
{
include ("vars.php");
mysql_connect ("localhost",$user,$pw);
mysql_db_query ($db,"INSERT INTO $table2  VALUES('0','$stamp')");
$response = new xajaxResponse();
return $response;
}


function delstamp($stamp)
{
include ("vars.php");
mysql_connect ("localhost",$user,$pw);
mysql_db_query ($db,"DELETE FROM $table2 WHERE stamp='$stamp'");
$response = new xajaxResponse();
return $response;
}			                  
$my_xajax->registerFunction("addstamp",XAJAX_POST);	  
$my_xajax->registerFunction("delstamp",XAJAX_POST);	  
$my_xajax->processRequests();				              
?>
<html>
<head>
$my_xajax->printJavascript();
<title>Ferienwohnungen "Alt-Borby" in Eckernf&ouml;rde</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../css/style.css">


<script type="text/javascript">
var stamps = new Array();
function mark(id,stamp)
{
var a=document.getElementById(id).style.backgroundColor;
  if (document.getElementById(id).style.backgroundColor == "#003399" || document.getElementById(id).style.backgroundColor == "rgb(0, 51, 153)")
	{
    document.getElementById(id).style.backgroundColor = "#ffff22";
    xajax_addstamp(stamp);
	} else {
    document.getElementById(id).style.backgroundColor = "#003399";
    xajax_delstamp(stamp);
  }
}
</script>
</head>



<body>
<?php
$timestamp    = mktime();
$datum        = getdate($timestamp);
$tag          = "$datum[mday]";
$wochentage   = array("Mo.","Di.","Mi.","Do.","Fr.","Sa.","So.");
$monatsnamen  = array(0,"Januar","Februar","M&auml;rz","April","Mai","Juni","Juli","August","September","Okober","November","Dezember");
//$monat      = "$datum[mon]";
$monat        = 1;

if ($jahr==""){
$jahr =  "$datum[year]";
}
echo "<h2>&Uuml;bersicht f&uuml;r \"Vogel\" $jahr</h2>";
$jahrminus=$jahr-1;
echo "<a href=\"$PHP_SELF?jahr=$jahrminus\"><<</a> ... ";
$jahrplus=$jahr+1;
echo "<a href=\"$PHP_SELF?jahr=$jahrplus\">>></a>";

$zelle        = 1;
include("vars.php");

$schaltjahr = gettype($jahr/4);
if($schaltjahr=="integer") {
    $monat_tage = array(0,31,29,31,30,31,30,31,31,30,31,30,31);
    } else {
      $monat_tage = array(0,31,28,31,30,31,30,31,31,30,31,30,31);
      }
echo "<form action=\"test.php\" name=\"kalender\">";
for ($monat=1;$monat<13;$monat++){
$monat_tage = array(0,31,28,31,30,31,30,31,31,30,31,30,31);
$start  = getdate(mktime(2,0,0,$monat,1,$jahr));
//###############Div starten
echo "<div id=\"kalender\">";


//################Tabellenkopf mit Wochentagen generieren.
echo "<strong>$monatsnamen[$monat]</strong><br><table border=0><tr>";
for ($y=0;$y<7;$y++)
  {
  echo "<td align=\"center\">".$wochentage[$y]."</td>";
  }
echo "</tr>";


//################Tabelle bauen
$beginn = $start[wday];                           //$beginn ist die zahl des Wochentages vom ersten Tag des Monats
if ($beginn==0) $beginn=7;                        // wenn $beginn 0 ist, was sonntag waere, dann wird $beginn auf 7 gesetzt
$spalte=0;                                        //Zaehler fuer die Spalten.
echo "<tr>";
for ($x=1;$x<$beginn;$x++)                        //fuellen der leeren Wochentage bis zum 1.
  {
  echo"<td> </td>";
  $spalte++;                                      //Zaehler fuer die Spalten erhoehen, um bei So einen </tr> zu machen
  }

for ($y=1;$y<($monat_tage[$monat]+1);$y++)        //solange den Tag schreiben, wie der Monat Tage hat 
  {
  $zellen_id++;                                 
  $stamp = mktime(0, 0, 0, $monat, $y, $jahr); //timestamp f&uuml;r den Tag generieren
 
//############# hier werden die Buttons erstellt, welche die JavaScript-Funktion aufrufen ############# 
mysql_connect ($server,$user,$pw) or die ("Es besteht keine DB Verbindung :o(");
$dbanfrage = "SELECT * FROM $table2 WHERE stamp='$stamp'";
$result = mysql_db_query ($db, $dbanfrage);
if (mysql_num_rows($result)=="0"){
  echo"<td align=\"center\" ><input style=\"font-size: 9px;color: #000; background-color: #003399;border:none;width: 18px;\" type=\"button\" value=\"$y\" id=\"$zellen_id\" onClick=\"mark(id,$stamp);return false;\"></td>"; 
} else   echo"<td align=\"center\" ><input style=\"font-size: 9px;color: #000; background-color: #ffff33;border:none;width: 18px;\" type=\"button\" value=\"$y\" id=\"$zellen_id\" onClick=\"mark(id,$stamp);return false;\"></td>"; 
//echo"<td align=\"center\" ><input style=\"width:10;height:10;border:none;\" type=\"checkbox\" name=\"timestamp\">$y</td>"; 
  $spalte++;                                      //Zaehler fuer die Spalten erhoehen, um bei So einen </tr> zu machen
  if (gettype($spalte/7)=="integer") echo "</tr>\n<tr>"; //wenn 7 Spalten geschrieben wurde, dann neue Zeile
}

//############# Auffuellen bis alles buendig ist #############
while(gettype($spalte/7)!="integer")
{
  echo "<td></td>";
  $spalte++;
}

echo "</table>\n";
/*if ($monat==6) echo "</div><br />";
else */echo "</div>";
}
echo "</form>";
?>

</body>
</html>
 
Natürlich... mein Fehler :)

Hier der Code auf eine Woche gekürzt:
HTML:
<script type="text/javascript">
var xajaxRequestUri="http://ostseeurlaub-jungclaus.de/code/admin_vogel.php";
var xajaxDebug=true;
var xajaxStatusMessages=false;
var xajaxWaitCursor=true;
var xajaxDefinedGet=0;
var xajaxDefinedPost=1;
function xajax_addstamp(){return xajax.call("addstamp", arguments, 1);}
function xajax_delstamp(){return xajax.call("delstamp", arguments, 1);}
</script>
	<script type="text/javascript" src="xajax_js/xajax.js"></script>
<html>
<head>
<title>Ferienwohnungen "Alt-Borby" in Eckernf&ouml;rde</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../css/style.css">


<script type="text/javascript">
var stamps = new Array();
function mark(id,stamp)
{
var a=document.getElementById(id).style.backgroundColor;
  if (document.getElementById(id).style.backgroundColor == "#003399" || document.getElementById(id).style.backgroundColor == "rgb(0, 51, 153)")
	{
    document.getElementById(id).style.backgroundColor = "#ffff22";
    xajax_addstamp(stamp);
	} else {
    document.getElementById(id).style.backgroundColor = "#003399";
    xajax_delstamp(stamp);
  }
}
</script>
</head>



<body>
<h2>&Uuml;bersicht f&uuml;r "Vogel" 2007</h2>
<a href="/code/admin_vogel.php?jahr=2006"><<</a> ... <a href="/code/admin_vogel.php?jahr=2008">>></a>
<form action="test.php" name="kalender">
    <div id="kalender">
        <strong>Januar</strong><br>
        <table border=0>
            <tr>
                <td align="center">Mo.</td>
                <td align="center">Di.</td>
                <td align="center">Mi.</td>
                <td align="center">Do.</td>
                <td align="center">Fr.</td>
                <td align="center">Sa.</td>
                <td align="center">So.</td>
            </tr>
            <tr>
                <td align="center" ><input style="font-size: 9px;color: #000; background-color: #003399;border:none;width: 18px;" type="button" value="1" id="1" onClick="mark(id,1167606000);return false;"></td>
                <td align="center" ><input style="font-size: 9px;color: #000; background-color: #003399;border:none;width: 18px;" type="button" value="2" id="2" onClick="mark(id,1167692400);return false;"></td>
                <td align="center" ><input style="font-size: 9px;color: #000; background-color: #003399;border:none;width: 18px;" type="button" value="3" id="3" onClick="mark(id,1167778800);return false;"></td>
                <td align="center" ><input style="font-size: 9px;color: #000; background-color: #003399;border:none;width: 18px;" type="button" value="4" id="4" onClick="mark(id,1167865200);return false;"></td>
                <td align="center" ><input style="font-size: 9px;color: #000; background-color: #003399;border:none;width: 18px;" type="button" value="5" id="5" onClick="mark(id,1167951600);return false;"></td>
                <td align="center" ><input style="font-size: 9px;color: #000; background-color: #003399;border:none;width: 18px;" type="button" value="6" id="6" onClick="mark(id,1168038000);return false;"></td>
                <td align="center" ><input style="font-size: 9px;color: #000; background-color: #003399;border:none;width: 18px;" type="button" value="7" id="7" onClick="mark(id,1168124400);return false;"></td>
            </tr>
        </table>
    </div>
</form>
</body>
</html>
 
Hallo,
kann es sein, dass die Seite von der aus der Request gestartet wird und das Zielscript nicht unter der selben Domain erreicht werden? - das wird nämlich aus Sicherheitsgründen blockiert.
 
Wenn ich Dich richtig verstanden habe, so kann ich diese Annahme ausschliessen, weil es sich um die gleiche Domain, sogar um die gleiche Datei handelt.
So gesehen gibt es ja kein Ziel-Script, weil es alles auf der admin_vogel.php passiert.
 
ich würde noch versuchen diese Zeile
HTML:
var xajaxRequestUri="http://ostseeurlaub-jungclaus.de/code/admin_vogel.php";
in einem relativen Pfad umzuwandeln
HTML:
var xajaxRequestUri="admin_vogel.php";
ich wüsste sonst keinen Grund, eben außer diesen Sicherheitseinstellungen der Browser warum dein Code Lokal aber nicht auf dem Webserver läuft.
 

Neue Beiträge

Zurück