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 schön fein im include-ordner.

    Problem Pfade:
    So, nun wird das Ganze aber so langsam unübersichtlich 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.Würde ich nur ungern tun, nur wenn es keine andere Lösung gibt.XO

    So, nun aber das totale CHAOS (nun, zumindest für mich:
    Ich bin verwirrt bezüglich der Endungen .php und .php.inc
    Warum? Nun, wenn ich jetzt - nehme ich mal wieder als Beispiel ein Askme oder Gästebuch haben möchte, 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 gästebuch.php und allen Dateien die so mit ihm dran hängen ja theoretisch in php.inc umbenennen.

    Klappt aber irgendwie nicht - ich habe auch schon daran gedacht innerhalb der Scripte natürlich 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 möglichen 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 eröffnen, 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 geöffnet, was ich nicht möchte. Der Andere Fall ist, dass sich dass Login Form nochmal öffnet, wo der content hinkommen soll.
    Ich möcht 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 müsste 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 nächsten Problem.Mit dem einbinden von den Scripten.
    Ich arbeite mit den Sachen von dieser Seite hier...AskMe, Gästebuch, etc.
    Also MySQL
    Wenn ich mich nicht täusche hab ich das Login Script auch von hier. Ist halt eines mit Memberarea wo man PN und so schreiben und Profil verändern kann etc^^

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

    Der wäre nämlich 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 möglich erklärt

    ps sorry wegen des etwas unübersichtlichen 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 würde ich es mal mit diesem Code hier irgendwie versuchen ^^


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

    X = Steht für den Ordner
    Link = Steht für die eigentliche PHP-Datei
    & = Ist das Verbindungsstück! 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 kürzer ..
    $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 fürs 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 kö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=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


Affiliates:   Pat DG  •   The Seduction  •   Design Grafixx  •   Gallery Yuri  •   Colorful Gfx  •   Blue-Graphics  •   Chibi Graphics  • Show all ...
designenlassen.de - Der Design-Marktplatz für Webdesign, Logo-Design, Flyerdesign u.v.m.        ALL-INKL.COM - Webhosting Server Hosting Domain Provider