PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Seite kann nicht angezeigt werden


AlexD
25.02.2005, 12:00:34
Hallo,

Ich hab ein Problem mit einem noch sehr einfachen PHP Script.
Es soll eine Administration für die Gig-Einträge einer Band werden.
Komischerweise kommt immer wenn ich die 2. (?action=2) oder 3. Tabelle (?action=3) aufrufen möchte der Fehler: Server oder DNS kann nicht gefunden werden.

Dazu möchte ich einfach mehrere Tabellen in diesem Skript haben und je bedarf anzeigen lassen (neuen Eintrag, ändern, Liste anzeigen usw...)

Ich hab schon öfter nach diesem System Scripte erstellt und funktionieren bis dato einwandfrei, nur jetzt hauts nicht hin und ich weiß nicht warum!

Folgendes:
Datei: admin.php
Variable: $action


Ich hab das nun immer Folgendermaßen gemacht:

z.B.
http://server/gigs/admin.php?action=1

?action=1 =>funktioniert
?action=2 => Server oder DNS kann nicht gefunden werden
?action=3 => Server oder DNS kann nicht gefunden werden

Das Script sie wie folgt aus:

<body bgcolor="#000000" text="#CCCC99" link="#CCCC99" vlink="#CCCC99" alink="#CCCC99">

<p>Was m&ouml;chtest Du tun?</p>
<p>Gigs ansehen: <a href="<? echo "$_PHPself?action=1"; ?>">Klick hier</a><br>
Gig eintragen: <a href="<? echo "$_PHPself?action=2"; ?>">Klick hier<br>
</a>Gig &auml;ndern: <a href="<? echo "$_PHPself?action=3"; ?>">Klick hier</a></p>
<?php
if ($_GET['action']==1) {
?>
<table width="90%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#666666">
<tr>
<td bgcolor="#333333">
<div align="center"><font color="#CCCC99" face="Arial, Helvetica, sans-serif"><strong>Gig-Administration</strong></font></div></td>
</tr>
<tr>
<td><div align="center">
<p><font face="Arial, Helvetica, sans-serif">&nbsp;</font></p>
<p align="left"><strong><font size="2" face="Arial, Helvetica, sans-serif">
<input type="radio" name="jahr" value="1">
.
.
.
</table)
</table>
<p>&nbsp;</p>
<?php
}
if ($_GET['action']==2) {
?>
<table width="90%" border="1" cellspacing="0" cellpadding="0" align="center" bordercolor="#666666">
<tr>
<td colspan="4"><strong><font face="Arial, Helvetica, sans-serif"><?php echo "Gig Eintragen"; ?></font></strong></td>
</tr>
<tr>
<td width="15%">&nbsp;</td>
<td width="24%">&nbsp;</td>
<td width="47%">&nbsp;</td>
<td width="14%">&nbsp;</td>
</tr>
<tr>
<td height="21">&nbsp;</td>
<td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Datum:</font></div></td>
<td>&nbsp; <input type="text" name="tag" size="3"> &nbsp; <select name="monat" size="1">
<option value="01">Januar</option>
<option value="02">Februar</option>
.
.
.
.
</table>
<?php
}
if ($action==3) {
?>
<table width="90%" border="1" cellspacing="0" cellpadding="0" align="center" bordercolor="#666666">
<tr>
<td colspan="4"><strong><font face="Arial, Helvetica, sans-serif">Gig Ändern</font></strong></td>
</tr>
<tr>
<td width="15%">&nbsp;</td>
<td width="24%">&nbsp;</td>
<td width="47%">&nbsp;</td>
<td width="14%">&nbsp;</td>
.
.
.
</table>
<?php
}
?>


Am Server bzw. der Netzwerkverbindung kann es nicht liegen, da sonst alles einwandfrei funktioniert.

Hier mal der Link zum testen:
http://www.skipjack-rock.dyndns.org/gigs/admin.php

hier als zip-Datei
http://www.skipjack-rock.dyndns.org/gigs/admin.zip

Ich versteh das nicht so richtig

Wo hab ich hier einen Fehler gemacht?

Gruß
Alex

|Coding
25.02.2005, 13:01:25
abgesehen davon, das du mit den if-anweisungen eine etwas unglückliche wahl getroffen hast, weil ein switch hier besser geeigenet wäre (so könntest du auch ein default case setzen), habe ich keine fehler feststellen können. bei mir läuft es einwandfrei!

AlexD
25.02.2005, 13:33:39
Hab es jetzt mal mit switch versucht.

Immer noch das gleiche Problem, 1 funktioniert, 2 und 3 nicht (Server oder DNS kann nicht gefunden werden)

Hab ich die switchanweisung richtig angewendet?
http://www.skipjack-rock.dyndns.org/gigs/admin1.zip

http://www.skipjack-rock.dyndns.org/gigs/admin1.php

Funktioniert das Script wenn Du es bei Dir laufen lässt oder auch beim Link von mir?

ich bin echt ratlos.

|Coding
25.02.2005, 13:49:38
wenn ich den link bei dir klicke, dann funkt es nicht, wenn ich es lokal teste, klappt alles wie es soll.

bezüglich des switch: wenn du vor den "break;" noch das entfernst "; " und dem letzten case noch ein break verpasst, das ist es ok.

AlexD
25.02.2005, 23:47:49
Hallo Coding,

hab folgendes festgestellt,
wenn ich das ganze HTML-Zeug aus 2 und 3 entferne und zum Beispiel nur "Hier sollte Tabelle zwei sein bzw 3 sein" schreibe, dann funktioniert es auch bei mir.
Sobald ich die Tabelle wieder in den case einfüge (HTML), kommt "Server oder DNS kann nicht gefunden werden".

Sollte ich es mal über so einen Heredoc-Text versuchen?! Vielleicht klappt es dann??
Oder welche Möglichkeiten gäbe es noch??

Also dieses Script läuft bei mir einwandfrei:

<?php

if (empty($_GET['action']))
$_GET['action'] = '';

switch($_GET['action'])
{
case 1:
echo('Text für action=1');
break;

case 2:
echo('Text für action=2');
break;

default:
echo('Text für default');
}

?>


Das ist halt rein PHP..... aber wenn PHP ein Problem mit dem Parsen hat, würde doch ein Fehler von PHP kommen und nicht "Server oder DNS kann nicht gefunden werden", oder lieg ich hier falsch. Scheint aber nicht so zu sein.

AlexD
28.02.2005, 15:14:55
Hallo, ich denke ich hab das Problem gefunden!

Bei mir läuft als Web-Server der Jana-Server v2.4.5.1, bei diesem hatte ich PHP als php.exe eingebunden. Nun hatte ich es mal als ISAPI versucht, und siehe da es funktioniert einwandfrei!
Warum auch immer, da ich ja schon Scripte dieser Art auf dem Server laufen habe die keine Probleme bereiten ?!

Ich möchte mich an dieser Stelle auch noch gleich für die Mühen und den Support bedanken!! :-)


Das Problem lag wohl wirklich am Web-Server von Jana. Es wurde bereits vom Entwickler zur Kenntnis genommen und bei der kommenden Version 2.4.6 wird der kleine Fehler behoben sein!! ;)