PhP datei wird nicht durch php parser gejagt...

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

PhP datei wird nicht durch php parser gejagt...

Postby Rinecamo » 25. April 2010 11:38

Hallo Leute

Ich designe für ein browsergame maps für spielwelten und hab dafür ein programm (mit php gemacht) bekommen...ich habs ne zeit lang auf meinem server laufen gelassen, allerdings konnte ich ein teil des programmes auf dem server nicht benutzen....der admin meinte ich solle es mit xampp probieren, hab auch schon alles gemacht also tabellenstruktur in mysql eingefügt u.s.w. allerdings wenn ich die php datei öffnen will (http://localhost/mapeditor/mapeditor.php)
kommt nur der queltext.... bei anderen php dateien (z.B. <?php echo "Hllo Welt" ?>) wird es richtig angezeigt...am quelltext kann es ja nicht liegen da er ja auf meinem server auch läuft und funktioniert hat...kann mir jemand helfen???

(ps. apache und mysql läuft und die dateien hab ich auch in htdocs getan...)

schonmal Danke im vorraus

mfg Rinecamo
Rinecamo
 
Posts: 7
Joined: 25. April 2010 11:27

Re: PhP datei wird nicht durch php parser gejagt...

Postby Altrea » 25. April 2010 12:31

Rinecamo wrote:.am quelltext kann es ja nicht liegen da er ja auf meinem server auch läuft und funktioniert hat

Ich wette mit dir (Einsatz darfst du bestimmen), dass es doch am Quelltext liegt :D

Wenn ich jedesmal, wo jemand unberechtigt "Das liegt nicht am Quelltext" oder "Das muss funktionieren, denn das hat schon immer so funktioniert" gesagt hat, 1 Euro bekommen hätte, wäre ich jetzt reich :lol:

Okay, bißchen Hintergrundwissen: Apache ist nicht gleich Apache, PHP ist nicht gleich PHP. Sowohl Apache als auch PHP bieten unzählige Einstellungsmöglichkeiten die Funktionalitäten ein- bzw. ausschalten können. Mal ganz davon abgesehen, dass es auch große Unterschiede zwischen den einzelnen Versionen geben kann (so zum Beispiel zwischen PHP 5.2 und PHP 5.3).
Der Server auf dem die Scripte laufen ist mit Sicherheit ganz anders konfiguriert als XAMPP out of the box.

In deinem Fall wird es sehr sehr sicher an short_open_tags liegen. Man kann PHP Blöcke nämlich mit dem vollständigen Starttag <?php beginnen, sowie auch mit der kurzen Variante <? (letztere aber nur, wenn diese in der php.ini aktiviert ist).
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11935
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: PhP datei wird nicht durch php parser gejagt...

Postby Rinecamo » 25. April 2010 13:14

ein bisschen php versteh ich schon....der quelltext des skriptes fängt mit der kurzen variante an, allerdings hab ich es auch schon mit <?php versucht... da kommt dann nochmal ne extra fehlermeldung
Rinecamo
 
Posts: 7
Joined: 25. April 2010 11:27

Re: PhP datei wird nicht durch php parser gejagt...

Postby Rinecamo » 25. April 2010 13:36

<?php

session_start();

// Feldtyp speichern
if(isset($_GET['feld']))
$_SESSION['option']['feld'] = $_GET['feld'];

if(!isset($_SESSION['option']['feld']))
$_SESSION['option']['feld'] = "g";

// Details einblenden
if(isset($_GET[option_detail]))
$_SESSION['option']['detail'] = $_GET['option_detail'];

if(!isset($_SESSION['option']['detail']))
$_SESSION['option']['detail'] = 0;



?>
<html>
<head>
<title>Mapeditor</title>
<meta name="author" content="Avatar">
<style type="text/css">
<!--
#map {
padding: 0 0 0 0;
margin: 0 0 0 0;

}

body {
text-align:center;
padding: 50px 0px 0px 0px;
}

#body {
margin: 0 auto;
width: 800px;
text-align:left;
}

#main {
float:left;
}

#option {
padding:0 0 0 850px;
width:300px;
}

.image {
width:25px;
height:25px;
text-decoration:none;
font-size:0.6em;

}


-->
</style>
<script type="text/javascript">
<!--
var option_detail = <? echo $_SESSION['option']['detail'];?>;

function trim(s) {
while (s.substring(0,1) == ' ') {
s = s.substring(1,s.length);
}
while (s.substring(s.length-1,s.length) == ' ') {
s = s.substring(0,s.length-1);
}
return s;
}

function ajaxtest(option, x, y) {

for(var i=0;i<document.test.img.length;i++){
if(document.test.img[i].checked == true)
img = document.test.img[i].value;
}

for(var i=0;i<document.test.art.length;i++){
if(document.test.art[i].checked == true)
art = document.test.art[i].value;
}

sektor = document.getElementById('sektor').value;
insel = document.getElementById('insel').value;

/*
if(document.test.insel[3].checked)
insel = 1;
else
insel = 0;
*/
var xmlHttp = null;
// Mozilla, Opera, Safari sowie Internet Explorer 7
if (typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}
if (!xmlHttp) {
// Internet Explorer 6 und älter
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
xmlHttp = null;
}
}
}
// Wenn das Objekt erfolgreich erzeugt wurde
if (xmlHttp) {
/*alert('test: '+test+'');*/
var url = "mapeditor_ajax.php";

var params = "img="+img+"&x="+x+"&y="+y+"&art="+art+"&sektor="+sektor+"&insel="+insel;

xmlHttp.open("POST", url, true);

xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", params.length);
xmlHttp.setRequestHeader("Connection", "close");

xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
//document.getElementById(x+"-"+y).innerHTML = "<img src=\"../welt1/gif/karte/"+xmlHttp.responseText+".gif\" border=\"0\" width=\"25px\" height=\"25px\">";

document.getElementById("info").innerHTML = xmlHttp.responseText;


var returnwert = xmlHttp.responseText;

if(returnwert == "error=maxsektor")
alert("max. 100 Felder pro Sektor");

var parts = returnwert.split("?");
var sektor = parts[2];
var insel = parts[3];
var felder_in_sektor = parts[4];
var images = parts[1].split(",");

document.getElementById('sektor').value = sektor;
document.getElementById('insel').value = insel;
document.getElementById('felder').innerHTML = felder_in_sektor;

for(var i=0;i<images.length;i++){
var werte = images[i].split(":");
//var div_id = (trim(werte[0])+"-"+trim(werte[1]));
var div_id = (werte[0]+"-"+werte[1]);
//alert(div_id);
document.getElementById(div_id).style.backgroundImage = "url(img/"+werte[2]+".gif)";

if(werte[0] == x && werte[1] == y && option_detail == 1)
document.getElementById(werte[0]+"-"+werte[1]).innerHTML = "I:"+insel+"<br />S:"+sektor;
}

// Vom Kontrollpunkt Radio zurück auf Feld springen
if(document.test.art[2].checked == true) {
document.test.art[2].checked = false;
document.test.art[1].checked = true;
}

// Vom Insel Radio zurück auf Feld springen
if(document.test.art[3].checked == true) {
document.test.art[3].checked = false;
document.test.art[1].checked = true;
}
/*$("#kundenliste").trigger("update");
$("#kundenliste").trigger("appendCache");
$(".tableover tr").mouseover(function() {$(this).addClass("over");}).mouseout(function() {$(this).removeClass("over");});*/
}
};
xmlHttp.send(params);
}
}


function goto(x, y) {
for(var i=0;i<document.test.img.length;i++){
if(document.test.img[i].checked == true)
img = document.test.img[i].value;
}

if(document.test.art[0].checked == true) {
location.href='mapeditor.php?x='+x+'&y='+y+'&feld='+img;
exit();
}
}
-->
</script>
</head>
<body>
<div id="body">
<div id="main">
<div id="info"></div>
<table border="0" id="map" cellspacing="0" cellpadding="0">
<?
include "db.php";

$size = 15;

if(!isset($_GET['x']) OR !isset($_GET['y']))
{
$x = 200;
$y = 200;
}
else
{
$x = $_GET['x'];
$y = $_GET['y'];
}

$sql = "SELECT x, y, img, build, sektor, s.insel, sektor1, sektor2, hafen FROM map_felder f
LEFT JOIN map_sektor s ON f.sektor = s.id
LEFT JOIN map_kontrollpunkt k ON f.id = k.id
LEFT JOIN map_insel i ON i.hafen = f.id

WHERE y <= ($y+$size) AND y >= ($y-$size) AND x <= ($x+$size) AND x >= ($x-$size) ORDER BY y DESC, x";
$result = mysql_query($sql) OR die(mysql_error());
$karte = mysql_fetch_assoc($result);



for($y_for = ($y+$size); $y_for >= ($y - $size); $y_for--)
{
echo "<tr>";

// Koordinaten
echo "<td>".$y_for."</td>";


for($x_for = ($x-$size); $x_for <= ($x + $size); $x_for++)
{

if($x_for != $karte['x'] OR $y_for != $karte['y'])
$img = "wasser";
else
$img = $karte['img'];

echo "<td>";
//echo "<a href=\"?x=".$x_for."&y=".$y_for."\">";

echo "<a href=\"#\" onclick=\"goto(".$x_for.", ".$y_for."), ajaxtest('x', ".$x_for.", ".$y_for.");\">";

echo "<div id=\"".$x_for."-".$y_for."\" class=\"image\" style=\"background-image:url(img/".$img.".gif);\">";

if($_SESSION['option']['detail'] == 1 AND $karte['x'] == $x_for AND $karte['y'] == $y_for)
{

if(!empty($karte['insel']))
echo "I:".$karte['insel']."<br />";

if(!empty($karte['sektor']))
echo "S:".$karte['sektor'];

if(!empty($karte['sektor1']))
echo $karte['sektor1']."x";;

if(!empty($karte['sektor2']))
echo $karte['sektor2'];
}

if($karte['hafen'] !== NULL AND $x_for == $karte['x'] AND $y_for == $karte['y'])
echo "<img src=\"img/h.gif\" border=\"0\">";
//echo "<img src=\"../welt1/gif/karte/".$img.".gif\" border=\"0\" width=\"25px\" height=\"25px\">";
echo "</div>";
echo "</a>";



echo "</td>";

if($x_for == $karte['x'] AND $y_for == $karte['y'])
$karte = mysql_fetch_assoc($result);
}
echo "</tr>";
}

// Koordinaten
echo "<tr>";
echo "<td></td>";
for($x_for = ($x-$size); $x_for <= ($x + $size); $x_for++)
echo "<td align=\"center\">".$x_for."</td>";
echo "</tr>";
?>
</table>
</div>

<div id="option">
<form method="post" name="test" action="ajax.php">
<table>
<tr>
<td><img src="img/w_o.gif"></td>
<td><input type="radio" name="img" value="w" <? if($_SESSION['option']['feld'] == "w") echo "checked";?>></td>
</tr>
<tr>
<td><img src="img/g1_o.gif"></td>
<td><input type="radio" name="img" value="g" <? if($_SESSION['option']['feld'] == "g") echo "checked";?>></td>
</tr>
<tr>
<td><img src="img/f2_o.gif"></td>
<td><input type="radio" name="img" value="f2" <? if($_SESSION['option']['feld'] == "f2") echo "checked";?>></td>
</tr>
<tr>
<td><img src="img/f4_o.gif"></td>
<td><input type="radio" name="img" value="f4" <? if($_SESSION['option']['feld'] == "f4") echo "checked";?>></td>
</tr>
<tr>
<td><img src="img/f1_o.gif"></td>
<td><input type="radio" name="img" value="fw" <? if($_SESSION['option']['feld'] == "fw") echo "checked";?>></td>
</tr>
<tr>
<td><img src="img/hafen_o.gif"></td>
<td><input type="radio" name="img" value="h" <? if($_SESSION['option']['feld'] == "h") echo "checked";?>></td>
</tr>
</table>

<br /><br /><br />
<table>
<tr>
<td><input type="radio" name="art" value="g" checked></td>
<td>Goto</td>
</tr>
<tr>
<td><input type="radio" name="art" value="f"></td>
<td>Feld</td>
</tr>
<tr>
<td><input type="radio" name="art" value="k"></td>
<td>Kontrollpunkt</td>
</tr>
<tr>
<td><input type="radio" name="art" value="i"></td>
<td>Neue Insel</td>
</tr>
</table>
<br><br><br>
Sektor<input type="text" id="sektor" name="sektor" value="NULL" size="3">
Insel<input type="text" id="insel" name="insel" value="NULL" size="3">
</form>
Felder im Sektor:<div id="felder" name="felder" style="display:inline">-</div>
<br /><br />
<?
if($_SESSION['option']['detail'] == 0 OR empty($_SESSION['option']['detail']))
echo "<a href=\"?x=".$x."&y=".$y."&option_detail=1\">Details anzeigen</a>";
else
echo "<a href=\"?x=".$x."&y=".$y."&option_detail=0\">Details ausblenden</a>";
?>


</div>

</div>






</body>
</html>
Rinecamo
 
Posts: 7
Joined: 25. April 2010 11:27

Re: PhP datei wird nicht durch php parser gejagt...

Postby Altrea » 25. April 2010 13:47

Du musst nichtnur auf die erste Verwendung davon achten, sondern auch jede weitere.
In deinem geposteten Quelltext sind noch 9 weitere Zeilen, die du so ändern musst.

Und was ist das für eine extra Fehlermeldung? Mit diesen Fehlermeldungen wirst du dich danach ebenfalls beschäftigen müssen.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11935
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: PhP datei wird nicht durch php parser gejagt...

Postby Rinecamo » 25. April 2010 14:00

so habs gemacht funktioniert trotzdem nicht
Rinecamo
 
Posts: 7
Joined: 25. April 2010 11:27

Re: PhP datei wird nicht durch php parser gejagt...

Postby Altrea » 25. April 2010 14:04

Rinecamo wrote:so habs gemacht funktioniert trotzdem nicht


Das ist ja mal eine Aussage, mit der man so absolut garnichts anfangen kann.
Tut mir leid, aber so kann ich dir absolut nicht helfen.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11935
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: PhP datei wird nicht durch php parser gejagt...

Postby Rinecamo » 25. April 2010 14:11

also ich ich alle <? in <?php umgeschrieben und den mapeditor nochmal geöffnet, es kommt aber immer noch das gleiche wie vorher und zwar das:

($y-$size) AND x <= ($x+$size) AND x >= ($x-$size) ORDER BY y DESC, x"; $result = mysql_query($sql) OR die(mysql_error()); $karte = mysql_fetch_assoc($result); for($y_for = ($y+$size); $y_for >= ($y - $size); $y_for--) { echo ""; // Koordinaten echo ""; for($x_for = ($x-$size); $x_for <= ($x + $size); $x_for++) { if($x_for != $karte['x'] OR $y_for != $karte['y']) $img = "wasser"; else $img = $karte['img']; echo ""; if($x_for == $karte['x'] AND $y_for == $karte['y']) $karte = mysql_fetch_assoc($result); } echo ""; } // Koordinaten echo ""; echo ""; for($x_for = ($x-$size); $x_for <= ($x + $size); $x_for++) echo ""; echo ""; ?>
".$y_for." "; //echo ""; echo ""; echo "
"; if($_SESSION['option']['detail'] == 1 AND $karte['x'] == $x_for AND $karte['y'] == $y_for) { if(!empty($karte['insel'])) echo "I:".$karte['insel']."
"; if(!empty($karte['sektor'])) echo "S:".$karte['sektor']; if(!empty($karte['sektor1'])) echo $karte['sektor1']."x";; if(!empty($karte['sektor2'])) echo $karte['sektor2']; } if($karte['hafen'] !== NULL AND $x_for == $karte['x'] AND $y_for == $karte['y']) echo ""; //echo ""; echo "
"; echo ""; echo "
".$x_for."
Rinecamo
 
Posts: 7
Joined: 25. April 2010 11:27

Re: PhP datei wird nicht durch php parser gejagt...

Postby Altrea » 25. April 2010 14:50

Das ist aber sehr ungewöhnlich, dass er mitten im sql-String auf die plain text ausgabe übergeht.
Da ich die genaue Datenbankstruktur nicht kenne, und den Inhalt der db.php, kann ich mir auch keine Testumgebung für dein Script aufbauen.

Hast du die db.php auch auf short_open_tags überprüft?
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11935
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: PhP datei wird nicht durch php parser gejagt...

Postby Rinecamo » 25. April 2010 18:42

die db.php ist nur dazu da um den mapeditor mit der mysql datenbank zu verbinden....in db.php ist es die lange version also <?php
Rinecamo
 
Posts: 7
Joined: 25. April 2010 11:27

Re: PhP datei wird nicht durch php parser gejagt...

Postby Altrea » 25. April 2010 18:51

Dann musst du irgendwo in deinem Quelltext wahrscheinlich zwischen "$sql = "SELECT ..." und "$result = mysql_query($sql) ..." einen Fehler in deinem Quelltext haben.
Aus der Ferne ein fremdes Script zu debuggen ist schon nicht leicht. Mit solch spärlichen Informationen aber vollkommen unmöglich.

Viel Glück.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11935
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: PhP datei wird nicht durch php parser gejagt...

Postby Rinecamo » 25. April 2010 19:51

soll ich dir mal alle dateien schicken???
Rinecamo
 
Posts: 7
Joined: 25. April 2010 11:27

Re: PhP datei wird nicht durch php parser gejagt...

Postby Altrea » 25. April 2010 20:00

Das wäre in diesem Fall sehr hilfreich.
E-Mail findest du in einer PM.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11935
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 47 guests