kostenloser Webspace werbefrei: lima-city


PHP gibt weder Seite noch Fehler aus

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    mf-hd

    Kostenloser Webspace von mf-hd

    mf-hd hat kostenlosen Webspace.

    Guten Abend Com.

    Seit einigen Tagen Programmiere ich ein Social Network zu meinem Minecraft-Server.
    Das ganze klappt auch wunderbar, zumindest auf dem Localhost, Lima-City's Server gibt nichts aus.
    Der Quelltext der Seite:
    <?php 
    error_reporting(E_ALL);
    #Settings
    include("./settings.php");
    #Datenbankverbindung aufbauen
    mysql_connect($dbhost,$dbuser,$dbpw);
    mysql_select_db($db);
    #Session
    $timestap = time();
    $ip = $_SERVER['REMOTE_ADDR'];
    $query1 = "SELECT username, password, date, ip FROM session WHERE ip = '$ip' LIMIT 1";
    	$qee = mysql_query($query1);
    		$row1 = mysql_fetch_object($qee);
    			if(!isset($row1->username)) { echo "Bitte anmelden! <a href=\"http://myccnet.de\">Login</a>"; }
    			else {
    					$query = "SELECT username, password, date, userid FROM session WHERE date > '$timestap' LIMIT 1";
    						$result = mysql_query($query);
    							$row = mysql_fetch_object($result);
    								if(!$result) { echo "Session abgelaufen, bitte erneut <a href=\"http://myccnet.de\">Einloggen</a>"; }
    								else { 
    										#Variabeln festlegen
    										#$_SESSION['id'] = $row->username;
    										#$_SESSION['pw'] = $row->password;
    										$pw = $row->password;
    										$id = $row->username;
    										$userid = $row->userid;
    										$side = $_GET['page'];
    										$method = $_GET['method'];
    										$postid = $_GET['id'];
    #myNe-Funktion
    if($method == "makemyne") {
    	$qry = "SELECT userid FROM makemyne WHERE postid = '$postid'";
    		$dro = mysql_query($qry);
    			$qry1 = mysql_fetch_object($dro);
    	$querrry = "INSERT INTO makemyne (userid, postid) VALUES ('$userid', '$postid')";
    		$dorr = mysql_query($querrry) or die ("Fehler");
    	}
    #Aufbau
    require("./forms/headframe.php");
     if(!isset($side)) { include("./side/start.php"); } else {
    
    	switch ($side) {
    	
    					case 'newpost':
    					echo "Neuer Post erstellt!";
    					include("./side/start.php");
    					break;
    					
    					case 'message':	
    					include("./side/message.php"); 
    					break;
    					
    					case 'chat':
    					include("./side/chat.php");
    					break;
    					
    					case 'account':
    					include("./side/account.php");
    					break;
    					
    					case 'map':
    					include("./side/map.php");
    					break;
    					
    					case 'logout':
    					include("./side/logout.php");
    					break;
    					}
    					
    					}
    }
    
    #Fuß
    include("./forms/footframe.php");
    }
    ?>


    In der Datei "settings.php" stehen nur die Datenbankdaten (Host, Benutzer, Passwort).

    Auf meinem Xampp-Server wird das ganze so interpretiert, wie ich es möchte, und sieht dann so aus:
    Screenshot
    (In dem Fall wird die Datei "start.php" eingebunden, die einzeln auch auf dem Server einwandfrei funktioniert.)

    In meiner .htacces-Datei steht folgendes:
    php_flag display_startup_errors on
    php_flag display_errors on
    php_flag html_errors on
    php_value docref_root 1
    php_value docref_ext 1


    Weiß jemand, warum das ganze nicht auf Lima-City funktioniert, oder zumindest, wie ich die Fehler anzeigen lassen kann?
    Vielen Dank.

    [Tut mir leid, wenn der Code teilweiße unübersichtlich oder etwas "unreif" daher kommt, ich lerne noch]
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. g****e

    Keinerlei Ausgabe?
    Dann fang mal so an: Spiel mit Echos und versuch die Stelle rauszufinden, wo es endet. Beispiel:
    <?php 
    echo "start <br/>";
    error_reporting(E_ALL);
    #Settings
    include("./settings.php");
    echo "sessions included <br/>";
    #Datenbankverbindung aufbauen
    mysql_connect($dbhost,$dbuser,$dbpw);
    mysql_select_db($db);
    echo "database connected and selected <br/>";
    #Session
    $timestap = time();
    $ip = $_SERVER['REMOTE_ADDR'];
    // .....


    Da muss eigentlich mindestens das "start" rauskommen, und dann kannst du sehen, wie weit er ungefähr geht. Damit kannst du vllt schonmal ein bisschen weiter kommen. So könnte man rangehen.

    Ansonsten, blöde Vermutung: Hast du die Echos vergessen? Oder Cache noch gespeichert, der ne weiße Seite anzeigt? Ist ein Link zu haben?

    Liebe Grüße
  4. Hallo,
    mf-hd schrieb:
    Auf meinem Xampp-Server wird das ganze so interpretiert, wie ich es möchte, und sieht dann so aus:
    Screenshot

    Auf dem Screenshot sehe ich mehrere Meldungen ganz oben, die du nicht ignorieren solltest.
    Außerdem ist der Code sehr schlecht eingerückt, was das Fehlerfinden sehr schwer macht. Guck dir mal das an:
    <?php
    	error_reporting(E_ALL);
    	#Settings
    	include("./settings.php");
    	#Datenbankverbindung aufbauen
    	mysql_connect($dbhost,$dbuser,$dbpw);
    	mysql_select_db($db);
    	#Session
    	$timestap = time();
    	$ip = $_SERVER['REMOTE_ADDR'];
    	$query1 = "SELECT username, password, date, ip FROM session WHERE ip = '$ip' LIMIT 1";
    	$qee = mysql_query($query1);
    	$row1 = mysql_fetch_object($qee);
    	if(!isset($row1->username)) {
    		echo "Bitte anmelden! <a href=\"http://myccnet.de\">Login</a>";
    	} else {
    		$query = "SELECT username, password, date, userid FROM session WHERE date > '$timestap' LIMIT 1";
    		$result = mysql_query($query);
    		$row = mysql_fetch_object($result);
    		if(!$result) {
    			echo "Session abgelaufen, bitte erneut <a href=\"http://myccnet.de\">Einloggen</a>";
    		} else {
    			#Variabeln festlegen
    			#$_SESSION['id'] = $row->username;
    			#$_SESSION['pw'] = $row->password;
    			$pw = $row->password;
    			$id = $row->username;
    			$userid = $row->userid;
    			$side = $_GET['page'];
    			$method = $_GET['method'];
    			$postid = $_GET['id'];
    			#myNe-Funktion
    			if($method == "makemyne") {
    				$qry = "SELECT userid FROM makemyne WHERE postid = '$postid'";
    				$dro = mysql_query($qry);
    				$qry1 = mysql_fetch_object($dro);
    				$querrry = "INSERT INTO makemyne (userid, postid) VALUES ('$userid', '$postid')";
    				$dorr = mysql_query($querrry) or die ("Fehler");
    			}
    			#Aufbau
    			require("./forms/headframe.php");
    			if(!isset($side)) {
    				include("./side/start.php");
    			} else {
    				switch ($side) {
    					
    					case 'newpost':
    					echo "Neuer Post erstellt!";
    					include("./side/start.php");
    					break;
    					
    					case 'message':
    					include("./side/message.php");
    					break;
    					
    					case 'chat':
    					include("./side/chat.php");
    					break;
    					
    					case 'account':
    					include("./side/account.php");
    					break;
    					
    					case 'map':
    					include("./side/map.php");
    					break;
    					
    					case 'logout':
    					include("./side/logout.php");
    					break;
    				}
    		
    			}
    		}
     
    		#Fuß
    		include("./forms/footframe.php");
    	}
    ?>

    So auf die Schnelle konnte ich keinen Fehler finden, aber du solltest dich mal um die Hinweise von Screenshot kümmern.
    MFG THWBM
  5. Autor dieses Themas

    mf-hd

    Kostenloser Webspace von mf-hd

    mf-hd hat kostenlosen Webspace.

    Die Variabeln aus dem Screenshot werden nur nach Gebrauch gefüllt,
    page - Die Seite aus der Navigation, später im Code unter Aufbau zu finden.
    method - Die Methode, nur wichtig falls "geliked" oder kommentiert wird, findet sich im Code unter "myNe"
    id - Die ID des Posts, der Kommentiert oder geliked wird, findet sich im Code unter "myNe"

    Die Fehler treten sicher auf, da nicht immer geliked oder kommentiert wird, und weil beim Aufrufen der Startseite (index.php) keinerlei Variabeln zu Seiten mitgesendet werden (bsp.: index.php?page=nachrichten), deshalb steht im Code
    [...] isset($page) [...]


    Trotzdem Danke.

    Werde das mit den "echo"s mal testen, vielen Dank

    EDIT


    Das mit den Echos hat mich zur Lösung gebracht. Warum auch immer, wird die Settings-Datei nicht eingebunden.
    Besten Dank :)

    Beitrag zuletzt geändert: 26.12.2012 19:35:51 von mf-hd
  6. Dann überprüfe doch mal den Pfad zur settings.php
  7. Autor dieses Themas

    mf-hd

    Kostenloser Webspace von mf-hd

    mf-hd hat kostenlosen Webspace.

    Ich denke, ich habe das Problem gefunden.
    In jeder .php-Datei, die ich per include() einbinde, habe ich weiteren PHP Code, den ich auf mehrere Dateien verteilt hab, um mehr übersicht zu bekommen, und um ihn in mehrere von einander unabhängige Seiten einzubinden.

    Wenn ich zu beginn der eingebundenen .php-Datei
    <?php
    und am Ende
    ?>
    schreibe, funktioniert nichts. Lasse ich das weg, funktioniert alles.

    Mein einziges Problem besteht nun darin, dass ein Benutzer, der durch zufall oder wie auch immer, in die settings.php kommt, meine MySQL-Zugangsdaten im Klartext sieht.
    Lässt sich das irgendwie verhindern, außer, in jeder Datei erneut die Variabeln festzulegen?

    Edit:
    Hatte die Idee, den Quelltext einfach als HTML-Kommentar darzustellen (<!-- PHP-Code -->).
    Funktioniert im Prinzip, schaut man sich jedoch den Quelltext an, findet man die Daten dennoch.
    Also fällt diese Lösung weg.


    Beitrag zuletzt geändert: 26.12.2012 20:16:35 von mf-hd
  8. und wenn du anstelle von include mal require_once nutzt?
  9. Autor dieses Themas

    mf-hd

    Kostenloser Webspace von mf-hd

    mf-hd hat kostenlosen Webspace.

    Funktioniert genauso wie bei include() bzw. include_once().
  10. g****e

    Inhalt der Settings.php sieht wohl so aus?:
    <?php
    
    $var1 = "foo";
    $var2 = "bar";
    
    ?>


    Kannst du den Inhalt deiner Settings.php vllt zensiert (also die Werte der Zugangsvariablen durch XXX ersetzt) geben? Vielleicht ist da ja auch irgendwas faul?

    Das <?php ?> muss da übrigens rein, da sonst die Datei nicht augeführt wird.

    Liebe Grüße
  11. Autor dieses Themas

    mf-hd

    Kostenloser Webspace von mf-hd

    mf-hd hat kostenlosen Webspace.

    ggamee schrieb:
    Inhalt der Settings.php sieht wohl so aus?:
    <?php
    
    $var1 = "foo";
    $var2 = "bar";
    
    ?>



    Sieht ziemlich genau so aus
  12. mf-hd schrieb:
    ... klappt auch wunderbar, zumindest auf dem Localhost, Lima-City's Server gibt nichts aus. ...
    yo mey. eine ganz doofe frage ;) hast du in dem root-ordner bei lima eine .htaccess datei? und hast du als inhalt darin eine zeile mit
    php_flag display_errors on
    ? wenn nicht, hole es nach (ein alter hut hier am server)! dann musst du (fehler)meldungen von php bekommen. zeige sie dann hier falls nötig.

    ==== edit ====
    und von php-dateien vonm anfang bloß kein <?php wegnehmen!!!! am ende kannst - falls nicht zwischen php und html hüpst - das ?> löschen. das geht.

    Beitrag zuletzt geändert: 26.12.2012 22:51:12 von czibere
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!