PHP-Abfrageseiten für MySQL Datenbank werden nicht gefunden?

preko

Erfahrenes Mitglied
Hi,

ich habe einen Webseitenaccount mit PHP und einer MySQL Datenbank (ich weiß nicht, opb ich schreiben darf wo, oder ob das unter "Werbung" fällt - auf Anfrage teile ich es gerne mit). Meine Homepage hatte ich zunächst auf XAMPP (mit MySQL 4.0.16-nt ) zuhause laufen ohne Probleme.

Nun habe ich die Seiten zu Testzwecken auf meinen Account hochgespielt in einem Unterordner. Läuft auch alles wunderbar, bis auf die (PHP-)Seiten, die auf die MySQL Datenbank (MySQL 4.0.16-standard) zugreifen - sei es nun um zu schreiben oder um zu lesen.

Ich habe CHMOD bei diesen Seiten zuerst auf 755, dann auf 777 gesetzt, allerdings ohne Erfolg. Weiterhin wird angezeigt: "Die Seite kann nicht angezeigt werden.".

Kennt Ihr dieses Problem auch? Woran kann so etwas liegen. Die anderen PHP Seiten werden anstandslos dargestellt. Ich weis wirklich nicht weiter. :confused:


Beste Grüße,
Preko
 
Wenn die Seite nicht angzeigt werden kann bist Du Dir dann auch sicher das diese dann auch da sind ?

Gruß Mirko
 
Hi,

die Seiten sind auf jeden Fall da. Ich habe sie mit WS-FTP Pro übertragen und auch die Schreibweise wg. eventueller Tippfehler überprüft. Alles o.k., sonst hätten sie ja auch nicht auf dem XAMPP funktioniert.

Hier ist z.B. ein Codeschnipsel des Gästebuches:

Code:
<body>
<div id="back">
 <div id="title" align="center">
  <h1>XXX´s Homepage</h1>
 </div>

 <div id="left">
<?php
include ("navig.php");
?>
</div>
 <div id="content">
<?php
include ("pass.php");
echo "<p><h1>G&auml;stebuch von XXX</h1></p>";
echo "<p><a href='eintraggaeste.php' target='_parent'>Eintrag ins G&auml;stebuch machen</a></p>";
$db = @mysql_connect($host, $user, $password)
	or die ("Verbindung mit MySQL-Server fehlgeschlagen!");
@mysql_select_db($database, $db)
	or die ("Verbindung mit Datenbank fehlgeschlagen!");
$sql_query = "SELECT 
            CONCAT(DAYOFMONTH(`datumzeit`), '. ', ELT(MONTH(`datumzeit`), 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezenber'), DATE_FORMAT(`datumzeit`, ' %Y, %H:%i:%s')) AS `datumzeit`, 
            `vorname`, 
            `nachname`, 
            `email`, 
            `text` 
      FROM 
            `gaestebuch` 
    "; 
  if( !$result = mysql_query($sql_query, $db) ) { 
    echo "<p><strong>Fehler ".mysql_errno($db)."</strong><br />\nFehler-Ausgabe:<strong>".mysql_error($db)."</strong>"; 
    exit; 
  } 
  while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) { 
    echo "<center><table width='400' border='0' cellpadding='1' cellspacing='5'><tr><td bgcolor='#FFCC66' align='left'>";
    echo '<a href="mailto:'.$row['email'].'">'.$row['vorname'].' '.$row['nachname'].'</a> hat am '.$row['datumzeit'].' Uhr <br />folgenden Beitrag eingestellt:';
    echo "</td></tr>"; 
    echo "<tr><td bgcolor='#FFCC66' align='left'><strong>".$row['text']."</strong><br /></td></tr></table></center>"; 
    echo "<center><hr width='400' size='1'></center>";
  }
mysql_close($db);
echo "<a href='index.php' target='_parent'>zur&uuml;ck zur Startseite</a>";
// date("d.M.Y, H:i:s")		
?>
</div>
 <br style="clear:both;" />
</body>

Die Datei pass.php enthält "nur" die Zugangsdaten und ist auch auf dem Server eingespielt.

Beste Grüße,
preko
 
Hast Du auch die Groß- und Kleinschreibung beachtet? Wenn dein Webserver unter Linux läuft, musste das auch berücksichtigen.

Ansonsten nimm doch mal deine Index-Seite runter und ruf die Domain auf. Schau dann mal, ob die Datei aufgelistet wird, die Du suchst. Sofern Dein Server das nicht blockt.
 
Erstelle eine Datei mit dem Namen info.php in diese Datei schreibst du NUR
PHP:
<?php
phpinfo();
?>
Dann lädst du sie hoch und führst sie aus. Wenn es einen Fehler gibt, dann lass dir von deinem Hoster mal die Pfadstruktur erklären.
 
Hi,

ich schreibe grundsätzlich alle Dateinamen klein um bei UNIX/Linux-Systemen nicht anzuecken. Ebenso achte ich auf Umlaute, z.B. statt ä schreibe ich ae, etc..

Ich habe nochmals das Verzeichnis geprüft - die Dateien sind definitiv auf dem Server.

Jetzt habe ich aber eine Idee, die Ihr mir vielleicht bestätigen könnt, oder auch nicht. Kann es sein, dass der Hoster den Account so einrichtet, dass Datenbankanfragen "nur" über ein CGI-Script möglich sind - sprich nicht direkt von einer PHP-Datei aus dem root-Verzeichnis, sondern einer z.B. abfrage.cgi im "cgi-bin" Ordner?

Beste Grüße,
Preko
 
Warum sollte er das machen wenn Er dir PHP und Sql anbietet. Ne das glaub ich eher nicht, das es so sein könnte. Korrigiert mich wenn ich falsch liege.

GRuß Mirko
 
Original geschrieben von preko
Kann es sein, dass der Hoster den Account so einrichtet, dass Datenbankanfragen "nur" über ein CGI-Script möglich sind - sprich nicht direkt von einer PHP-Datei aus dem root-Verzeichnis, sondern einer z.B. abfrage.cgi im "cgi-bin" Ordner?
Selbst wenn diese, doch sehr sehr merkwürdige, Einstellung tatsächlich vorhanden ist, würdest Du zumindest die Seite sehen und entsprechende Fehlermeldungen (im schlimmsten Fall Server 500 Fehler) bekommen.

Also: Überprüfe nochmals die Ordnerstruktur auf dem Live-Server (liegen die seiten auch wirklich unterhalb des Webroots (meistens htdocs oder ähnliches)?
 
@Chino:

Original geschrieben von Chino
Selbst wenn diese, doch sehr sehr merkwürdige, Einstellung tatsächlich vorhanden ist, würdest Du zumindest die Seite sehen und entsprechende Fehlermeldungen (im schlimmsten Fall Server 500 Fehler) bekommen.

Also: Überprüfe nochmals die Ordnerstruktur auf dem Live-Server (liegen die seiten auch wirklich unterhalb des Webroots (meistens htdocs oder ähnliches)?

Es ist, wie ich bereits erwähnte: alle Dateien liegen im Unterordner "Test". Die Verlinkung ist o.k.. Ich habe nun eine einfache leere PHP Seite mit einem Mustertext unter dem Namen "gaestebuch.php " eingespielt und siehe da - er stellt sie anstandslos dar! Kaum spiele ich aber die oben abgebildete Datei ein, zeigt er mir an, dass die Seite nicht zu finden ist.
Das passiert mit allen Seiten, die Zugriff auf die MySQL Datenbank nehmen müssen/sollen/wollen!

Der Anbieter meines Accounts hat mir zurückgeschrieben, dass das System angeblich fehlerfrei läuft, aber warum verweigert er mir dann diese Seiten? Ich krieg bald ´ne Meise!


Beste Grüße,
Preko
 
Zurück