Loading...   Upload Image

Problem mit Pfaden & EndungForum » Webzone » PHP & MySQL » Problem mit Pfaden & Endung

Neues Thema verfassen Neues Thema

  • SerenadeUser ist offline
    Newbie


    Serenade

    Registriert: 31.05.2012
    Beitraege: 16

    27.06.2012 um 12:04 Uhr

    Halli Hallo:)

    Mal wieder befinde ich mich in einem Gewirr aus php und Umgebung.
    Da ich mir nich socher bin ob es in meinen alten Thread passt und es ja doch wieder irgendwie um etwas Anderes geht, poste ich es mal neu.:o
    Dieses Mal stehe ich vor der Frage wie die ph enden muss und wohin damit.

    Ich bin dabei alles so zu strukturieren, dass ich mit index.php?site=x meine ganzen Seiten included habe.
    Alles schn fein im include-ordner.

    Problem Pfade:
    So, nun wird das Ganze aber so langsam unbersichtlich wenn man ber 100 Seiten im Ordner drin hat.
    Ich stelle allerdings fest, dass sich meine php.inc Dateien aber auch nur aus diesem Ordner ffnen lassen. Unterordner und so gehen nicht.
    Ich kenne die Alternative anstatt zu includen zu switchen.Wrde ich nur ungern tun, nur wenn es keine andere Lsung gibt.XO

    So, nun aber das totale CHAOS (nun, zumindest fr mich:
    Ich bin verwirrt bezglich der Endungen .php und .php.inc
    Warum? Nun, wenn ich jetzt - nehme ich mal wieder als Beispiel ein Askme oder Gstebuch haben mchte, was innerhalb der Website aufgerufen werden soll, muss ich das doch theoretisch in den inlude-Ordner rein machen, weil sonst wirds ja nicht erkannt??!
    Also muss ich aus dem gstebuch.php und allen Dateien die so mit ihm dran hngen ja theoretisch in php.inc umbenennen.

    Klappt aber irgendwie nicht - ich habe auch schon daran gedacht innerhalb der Scripte natrlich dann auch die Bezeichnungen in php.inc umzubenennen. Will aber alles nicht so recht.

    Was kann man denn hier machen? Ich hoffe mir kann Jemand helfen.

    Alles Liebe ~ Die Serenade:D



    Der Beitrag wurde insgesamt 1 mal editiert, zuletzt 27.06.2012 um 12:06 Uhr ...
  • flaviusUser ist offline
    Newbie


    flavius

    Registriert: 07.11.2011
    Beitraege: 5

    27.06.2012 um 13:43 Uhr

    Es gibt nur eine php.ini ^^ und die hat ja mal gar nichts mit dem eigentlichen Script zu tun.

    Was du meinst ist evtl. file.inc.php _ Sowas schreib ich z. B. rein, wenn ich weiss, die Datei wird (oft?) includiert. So schreibe ich einfach hinter dem eigentlichen Namen der Datei (jedoch noch vor der Endung) ein .inc. So weiss ich .. ah, file.includet.php

    Auch wenn du das (jetzt noch nicht ^^) magst, mit Switch zu arbeiten kann ich es dir nur ans Herz legen ^^

    Damit Du die Dateien aus allen mglichen Ordnern (auch Unterordner) fehlerfrei includieren kannst, solltest Du dir evtl. eine Variable wie dieses BASEDIR zulegen. Sobald du was includierst (in einer "bereits includierten" Datei) .. einfach dieses BASEDIR davor setzen und vollgas .. ^^

    <?php
    
    // BASEDIR definieren
    	define('BASEDIR', dirname(dirname(__file__)).'/');
    
    switch($site) {
    case "startseite":
    include(BASEDIR.'inc_sites/startseite.php');
    break;
    
    case "impressum":
    include(BASEDIR.'inc_sites/impressum.php');
    break;
    
    default:
    include(BASEDIR.'inc_sites/index.php');
    break;
    }
    ?>


    .. so etz bin ich selber durcheinander gekommen. -,-'
    Hoffe ich konnt dir iwie noch helfen, auch wenns bereits etwas her is xD



  • SerenadeUser ist offline
    Newbie


    Serenade

    Registriert: 31.05.2012
    Beitraege: 16

    27.06.2012 um 14:03 Uhr

    Vielen Dank erstmal:)

    Aber ber eine ini Datei schrieb ich doch garnix *verwirrtbin*

    Mit der Hilfe hier und ein Bisschen gebastel hab ich es glaube ich so wie ich es wollte.
    Hmm kein Weg doch noch irgendwie Unterordner in den include mit einzubeziehen?:C

    Hmm ich hab noch eine Frage betrefflich des Login Scripts, aber ich mag nicht unbedingt jetzt schon wieder nen Thema erffnen, kennst du dich damit aus?
    Uhm falls ja, poste ich es hier einfach mal:

    Ich habe ein Login womit man zu meiner memberarea kommen soll. Jetzt hab ich aber die Option, entweder die memberarea wird in einem neuen Fenster geffnet, was ich nicht mchte. Der Andere Fall ist, dass sich dass Login Form nochmal ffnet, wo der content hinkommen soll.
    Ich mcht aber bei fallscher eingabe im content sowas wie falsch stehen haben und beim richtigen Passwort soll im Content dass auch die memberarea erscheinen.

    Ich wei ist grad ganz vom Thema ab aber will hier echt nicht alles zuposten :,

    Alles Liebe



  • flaviusUser ist offline
    Newbie


    flavius

    Registriert: 07.11.2011
    Beitraege: 5

    27.06.2012 um 22:25 Uhr

    Zitat von Serenade:
    Hmm kein Weg doch noch irgendwie Unterordner in den include mit einzubeziehen?:C

    Doch, allerdings nicht ganz so einfach. ^^
    Wie sieht denn deine Ordnerstruktur und das bisherige Script aus?

    Zu deiner Frage mit dem Login, arbeitest du mit MySQL oder mit einem Template-System?
    Eigtl. ja nicht schwer .. Jedoch msste mal ein wenig von deinem Code sehen .. ?! =\



  • SerenadeUser ist offline
    Newbie


    Serenade

    Registriert: 31.05.2012
    Beitraege: 16

    29.06.2012 um 08:26 Uhr

    Erstmal rieden Dank dass du mir helfen magst :)

    Hmm also ich glaube das mit den Ordnern habe ich raus.
    Wenn ich keine inc.php Datei aufrufen will, dann verweise ich auf den hauptpfad wo auch zb mein Bilderordner sitzt.
    Stelle fest sie werden prima angezeigt;)


    Also zum nchsten Problem.Mit dem einbinden von den Scripten.
    Ich arbeite mit den Sachen von dieser Seite hier...AskMe, Gstebuch, etc.
    Also MySQL
    Wenn ich mich nicht tusche hab ich das Login Script auch von hier. Ist halt eines mit Memberarea wo man PN und so schreiben und Profil verndern kann etc^^

    Klar kein Thema was vom Code msstest du denn sehen? den Part wo ich das Ding einbinden will oder den Login selber?

    Der wre nmlich wie folgt:

    <?php
    ob_start();
    	 // Startet die Session
    	include("fb-header.inc.php");
    	include("fb-db.inc.php");
    	include("fb-functions.inc.php");
    	if(isset($_REQUEST["submit"])) { // Wenn Formular abgeschickt
    		if(exist("mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' AND passwort = '".md5($_REQUEST["passwort"])."'") && anzahl("login WHERE ip = '".getenv("REMOTE_ADDR")."' AND erfolgreich = 'nein' AND timestamp > '".(time()-60*30)."'") < 4) { // Wenn Mitglied mit dem Namen und Passwort existiert! und wenn keine falschen logins in den letzten 30 Min. Wieso? um die Seite sicherer zu machen sonst k&#65533;nnen bruteforcer leicht hacken!
    			$eintragen = mysql_query("INSERT INTO login (name, ip, timestamp, erfolgreich) VALUES ('".strip_tags($_REQUEST["name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', 'ja')"); // Eintrag in Login!
    			
    			$abfrage = "SELECT id FROM mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' LIMIT 0,1";
    			$ergebnis = mysql_query($abfrage);
    			while($row = mysql_fetch_object($ergebnis))
    			{
    				$_SESSION["login"] = $row->id; // Loggt einen ein!
    			}
    			echo "<meta http-equiv=\"refresh\" content=\"0; URL=http://margerydaw.bplaced.net/Spade/index.php?site=fb-memberarea\">"; // Weiterleitung zur Memberarea
    		} else { // Wenn falsch eingeloggt
    			$eintragen = mysql_query("INSERT INTO login (name, ip, timestamp, erfolgreich) VALUES ('".strip_tags($_REQUEST["name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', 'nein')"); // Eintrag in Login!
    			?>
    			Login schlug fehl.
    			<?php
    		}
    	} else { // Formular ->
    		?>
    		<form action="index.php?action=fb-memberarea" method="post">
    		<input type="hidden" name="PHPSESSID" value="r29bmkjg6pvcp4bfl9obus6qp0" />
                                                                   
     <input type="text" maxlength="32" name="Name" value="" title="name" /><br />
    <input type="password" maxlength="16" name="Passwort" value="" title="passwort" /><br />
    <input type="submit" name="submit" value="go" />
                                                            </form>
                                                            
                                                            <?php
    	}
    	include("fb-footer.inc.php");
    	ob_end_flush();
    ?>


    Der Pfad bei action im Formular ist noch falsch, ich wei.
    So, das Login habe ich halt jetzt in meine index eingebaut und bei Login soll man halt im Content bei richtiger Eingabe die Memberarea sehen ( memberarea.inc.php - habe sie ja alle im include ordner sitzen o.o) nju und bei falscher Eingabe halt eine Fehlermeldung.

    Ich wei soviel, dass bei Falscher eingabe NEBEN dem Login Dings die Meldung Login schlug fehl kommt.

    Bei richtiger Angabe tut sich aber nix 8|:C ist echt zum verzweifeln.

    Hoffentlich habe ich alles so gut wie mglich erklrt

    ps sorry wegen des etwas unbersichtlichen codesO.o - Ich nutze MS Expression Web xD



    Der Beitrag wurde insgesamt 2 mal editiert, zuletzt 16.07.2012 um 14:20 Uhr ...
  • DJaneMauziUser ist offline
    Beginner


    DJaneMauzi

    Registriert: 27.04.2008
    Beitraege: 42

    01.07.2012 um 11:59 Uhr

    Hallu ^^

    Also~ Da du ja deine Unterseiten in einen Ordner gepackt hast wrde ich es mal mit diesem Code hier irgendwie versuchen ^^


    index.php?x=LINK&action.... :3 Vielleicht klappt ja das ^^

    X = Steht fr den Ordner
    Link = Steht fr die eigentliche PHP-Datei
    & = Ist das Verbindungsstck! Weil das ? Ja schon bei der Index.php angewendet wurde. ^^



  • flaviusUser ist offline
    Newbie


    flavius

    Registriert: 07.11.2011
    Beitraege: 5

    01.07.2012 um 13:27 Uhr

    Dieses $_SESSION["login"] gilt ja bei dir doch nur in der while-schleife?

    probiers mal so ..

    $abfrage = "SELECT id FROM mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' LIMIT 1";
    $ergebnis = mysql_query($abfrage);
    if( !count($ergebnis) return;
    
    	$row = mysql_fetch_object($ergebnis);
    		$_SESSION["login"] = $row->id; // Loggt einen ein!
    	echo "<meta http-equiv=\"refresh\" content=\"0; URL=http://margerydaw.bplaced.net/Spade/index.php?site=fb-memberarea\">";


    oder krzer ..
    $ae = mysql_query("SELECT id FROM mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' LIMIT 1");
    if( !count($ae) return;
    
    	$row = mysql_fetch_object($ae);
    		$_SESSION["login"] = $row->id; // Loggt einen ein!
    	echo "<meta http-equiv=\"refresh\" content=\"0; URL=http://margerydaw.bplaced.net/Spade/index.php?site=fb-memberarea\">";



  • SerenadeUser ist offline
    Newbie


    Serenade

    Registriert: 31.05.2012
    Beitraege: 16

    01.07.2012 um 16:10 Uhr

    @flavius:
    Danke, habs gleich mal ausprobiert.
    Leider kam das dabei raus:
    Parse error: syntax error, unexpected T_RETURN

    @Mautzi:
    ebenfalls erstmal Danke. Hmm der Gedankengang ist gut, werd ich mal ausprobieren

    :D

    Edit:
    Noch ne kleine Frage wegen der Idee frs Login.

    Wenn das Passwort richtig eingegeben wurde sagt er mir trotzdem Login schlug fehl o.O
    Das originale Login Script (also ohne dass ich was dran gemacht habe) sieht brigens so aus:
    (Vielleicht hilft das ja irgendwie???)

    <?php
    	session_start(); // Startet die Session
    	include("header.php");
    	include("db.php");
    	include("functions.inc.php");
    	if(isset($_REQUEST["submit"])) { // Wenn Formular abgeschickt
    		if(exist("mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' AND passwort = '".md5($_REQUEST["passwort"])."'") && anzahl("login WHERE ip = '".getenv("REMOTE_ADDR")."' AND erfolgreich = 'nein' AND timestamp > '".(time()-60*30)."'") < 4) { // Wenn Mitglied mit dem Namen und Passwort existiert! und wenn keine falschen logins in den letzten 30 Min. Wieso? um die Seite sicherer zu machen sonst knnen bruteforcer leicht hacken!
    			$eintragen = mysql_query("INSERT INTO login (name, ip, timestamp, erfolgreich) VALUES ('".strip_tags($_REQUEST["name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', 'ja')"); // Eintrag in Login!
    			
    			$abfrage = "SELECT id FROM mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' LIMIT 0,1";
    			$ergebnis = mysql_query($abfrage);
    			while($row = mysql_fetch_object($ergebnis))
    			{
    				$_SESSION["login"] = $row->id; // Loggt einen ein!
    			}
    			echo "<meta http-equiv=\"refresh\" content=\"0; URL=memberarea.php\">"; // Weiterleitung zur Memberarea
    		} else { // Wenn falsch eingeloggt
    			$eintragen = mysql_query("INSERT INTO login (name, ip, timestamp, erfolgreich) VALUES ('".strip_tags($_REQUEST["name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', 'nein')"); // Eintrag in Login!
    			?>
    			Login schlug fehl.
    			<?php
    		}
    	} else { // Formular ->
    		?>
    		<form action=login.php method=post>
    			<table width=90%>
    				<tr>
    					<td width=50%>
    						<b>Name:</b>
    					</td>
    					<td width=50%>
    						<input type="text" name="name">
    					</td>
    				</tr>
    				<tr>
    					<td width=50%>
    						<b>Passwort:</b>
    					</td>
    					<td width=50%>
    						<input type="password" name="passwort">
    					</td>
    				</tr>
    				<tr>
    					<td width=100% colspan=2>
    						<input type="submit" value="Login" name="submit">
    					</td>
    				</tr>
    			</table>
    		</form>
    		<?php
    	}
    	include("footer.php");
    ?>



    Der Beitrag wurde insgesamt 3 mal editiert, zuletzt 01.07.2012 um 16:36 Uhr ...
  • SerenadeUser ist offline
    Newbie


    Serenade

    Registriert: 31.05.2012
    Beitraege: 16

    16.07.2012 um 14:22 Uhr

    hab mich inzwischen mit ner Kombination aus include und Frames durchgemogelt. Es bestehen keine Fragen mehr, Thread kann also gerne closed;)




[ 1 ] Seite 1 von 1


       ALL-INKL.COM - Webhosting Server Hosting Domain Provider