Antworten auf deine Fragen:
Neues Thema erstellen

PHP Dateien mit einander Verbinden ? (includes)

Hallo Leute,

Wie kann ich eine PHP Seite erstellen, bzw die Seiten miteinander mittels include verbinden ?

So dass, wenn ich auf ein Menu-Button klicke, nur der Content-Inhalt sich ändert.


Derzeit schaut meine Seite so aus (Schulprojekt)



Wenn man direkt die Seite aufruft komme ich auf die index.php aber weiss nicht wie ich es in den code schreibe wenn ich auf die Menu-Buttons klicke so dass sich der Inhalt ändert?

so schaut mein index_2.php aus derzeit:
Code:
<?php

include('inc/functions.php');

$content = "content/";

if(!isset($_GET['v'])){
	$_GET['v']="home";
}


if($_GET['v']=="home"){

	$content .= "home.php";
	$title = "Startseite";
	
	
	
	
}elseif($_GET['v']=="kontakt"){

	$content .= "kontakt.php";
	$title = "Kontakt";
	
}elseif($_GET['v']=="buchen"){

	$content .= "buchen.php";
	$title = "Buchen";
	
}elseif($_GET['v']=="info"){

	$content .= "info.php";
	$title = "Info";

}elseif($_GET['v']=="download"){

	$content .= "download.php";
	$title = "Download";

}elseif($_GET['v']=="agb"){

	$content .= "agb.php";
	$title = "AGB";

}elseif($_GET['v']=="partner"){

	$content .= "partner.php";
	$title = "Partner";

}elseif($_GET['v']=="impressum"){

	$content .= "impressum.php";
	$title = "Impressum";

}elseif($_GET['v']=="faq"){

	$content .= "faq.php";
	$title = "FAQ";

}else{

	$content .= "home.php";
	$title = "Startseite";

}


include('header.php');
include($content);
include('footer.php');


?>


Wo baue ich die Menulinks und wie ein ?
Bin total durcheinander gekommen ..




Edit ab hier:
_________________________________________________________


ich hab versucht mal in die index.php
Code:
include('menu.php')
einzubauen und in dem menu.php hab ich folgendes eingebaut:

Code:
<div id="wrapper">
    <div id="left">
        <nav id="menuwrapper">
            <ul>
                <li>
                    <div id="home">
                        <a href="#">HOME</a>
                    </div>
                </li>

                <li>
                    <div id="info">
                        <a href="#">INFO</a>
                    </div>
                </li>

                <li>
                    <div id="buchen">
                        <a href="#">BUCHEN</a>
                    </div>
                </li>

                <li>
                    <div id="kontakt">
                        <a href="#">KONTAKT</a>
                    </div>
                </li>
            </ul>
        </nav>
    </div>

    <div id="middle">
        <div id="top">
            <ul>
                <li>
                    <div id="time">
                        <p></p>
                    </div>
                </li>

                <li>
                    <div id="date">
                        <?php
							$datum = date("d.m.Y");
							echo '<p>$datum</p>';
							?>
                    </div>
                </li>

                <li>
                    <div id="count">
                        <p>53:24:58:13</p>
                    </div>
                </li>
            </ul>
        </div>

        <div id="content">
            <div id="teaser"></div>
            <div></div>
            
            
            
            
            
            
        </div>

        <ul id="metamenu">
            <li>
                <div class="meta">
                    <a href="#">FAQ</a>
                </div>
            </li>

            <li>
                <div class="meta">
                    <a href="#">IMPRESSUM</a>
                </div>
            </li>

            <li>
                <div class="meta">
                    <a href="#">PARTNER</a>
                </div>
            </li>

            <li>
                <div class="meta">
                    <a href="#">AGB</a>
                </div>
            </li>

            <li>
                <div class="meta">
                    <a href="#">LOGIN</a>
                </div>
            </li>
        </ul>
    </div>

    <div id="right">
        <ul id="fb">
            <li>
                <div class="social">
                    <a href="#">f</a>
                </div>
            </li>

            <li>
                <div class="social">
                    <a href="#">t</a>
                </div>
            </li>

            <li>
                <div class="social">
                    <a href="#">g+</a>
                </div>
            </li>
        </ul>
    </div>
	<div style="clear:both;"></div>    
</div>


Trotzdem werden die Links nicht aufgerufen wenn ich die Menu-Buttons anklicke... ?!
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: PHP Dateien mit einander Verbinden ? (includes)

Trotzdem werden die Links nicht aufgerufen wenn ich die Menu-Buttons anklicke... ?!
Ja wie denn auch? Deine Links haben als href="#", also einem Link auf einen leeren Anker. Soll er raten, welches Ziel gemeint ist?

Wenn du mit GET-Parametern arbeitest, dann musst du diese auch irgendwann übergeben. Siehe:

http://www.schattenbaum.net/php/variable2.php
http://php.net/manual/de/reserved.variables.get.php
usw.


Duddle
 

J000S

Noch nicht viel geschrieben

AW: PHP Dateien mit einander Verbinden ? (includes)

In der Index Datei:


PHP:
<a href='index.php?page=home'>Home</a> | <a href='index.php?page=impressum'>Impressum</a>
<?php
$page = $GET_['page']

if($page == 'home')
{
include('home.php')
}
elseif($page == 'impressum')
{
include('impressum.php');
}
else
{
include('home.php')
}
?>

Ich hoffe, das hilft dir ;)
 
AW: PHP Dateien mit einander Verbinden ? (includes)

ich würde an deiner stelle ein Switch include machen.
Das ist etwas besser als eine If abfrage.

Hier ist ne schöne Anleitung dazu.
http://alice-grafixx.de/PHP-MYSQL-Tutorial/.....


Hoffe das hilft dir weiter :)


Wow, ist echt gut erklärt worden, wusste gar nicht dass es solche deutsche Seiten gibt die alles so ausführlich erklären :)))

Zurück zum PHP :)

Die header.php, footer.php, content etc. muss ich dann halt dann extra mit der require_once('datei.php') gleich oberhalb des Skriptes einbauen denk ich mall oder?


Also so:


Code:
<?php

require_once('header.php');
include($content);
require('footer.php');

19	 
20	if(isset($_GET['site'])){ // Pruefen ob der Get Parameter 'site' einen Wert entaehlt
21	 
22	 
23	    switch($_GET['site']){
24	 
25	        case 'about' : // Wenn der Get Parameter 'site' = about ist
26	 
27	            include('./pfad-zum-ordner/about.php'); // about.php anzeigen
28	 
29	            break;
30	 
31	        case 'works' : // Wenn der Get Parameter 'site' = works ist
32	 
33	            include('./pfad-zum-ordner/works.php'); // works.php anzeigen
34	 
35	            break;
36	 
37	        case 'links' : // Wenn der Get Parameter 'site' = links ist
38	 
39	            include('./pfad-zum-ordner/links.php'); // links.php anzeigen
40	 
41	            break;
42	 
43	        case 'kontakt' : // Wenn der Get Parameter 'site' = kontakt ist
44	 
45	            include('./pfad-zum-ordner/kontakt.php'); // kontakt.php anzeigen
46	 
47	            break;
48	 
49	 
50	        default : // wenn nichts zutraf
51	 
52	            include('./pfad-zum-ordner/error.php'); // Fehlerseite anzeigen
53	 
54	            break;
55	 
56	        }
57	 
58	 
59	    }else{ // wenn Get Parameter 'site' kein Wert enthaelt, also nix uebergeben wurde
60	 
61	        include('./pfad-zum-ordner/startseite.php');
62	    }
63	 
64	?>

weil wie soll sonst Inhalt von den restlichen php Seiten angzeigt werden ? :)
 

vincitore

Aktives Mitglied

AW: PHP Dateien mit einander Verbinden ? (includes)

Wow, ist echt gut erklärt worden, wusste gar nicht dass es solche deutsche Seiten gibt die alles so ausführlich erklären :)))

Zurück zum PHP :)

Die header.php, footer.php, content etc. muss ich dann halt dann extra mit der require_once('datei.php') gleich oberhalb des Skriptes einbauen denk ich mall oder?


Also so:
[...]
weil wie soll sonst Inhalt von den restlichen php Seiten angzeigt werden ? :)

du musst vor dem if/switch Gewurschtel dein header-Datei einbinden und danach dann deine footer-Datei

eine schlankere Variante wäre diese:

PHP:
<?php 
	include("header.php");
	if(isset($_GET["site"])){
		if(file_exists($_GET["site"].".php")) {
			include($_GET["site"].".php");
		} else {
			include("404.php");
		}
	} else {
		include("home.php");
	}
	include("footer.php");
?>
Vorteil dieser Variante ist, dass du später beim Hinzufügen weiterer Unterseiten nicht immer dein Konstrukt ändern musst.

Ich hoffe mal es hat sich gerade auf die schnelle kein Flüchtigkeitsfehler eingeschlichen.
Alternativ können die Dateien natürlich auch mit include_once (doppeltes Einbinden wird quasi verhindert) eingebunden werden.
Falls du fragen zum Code haben solltest, sag einfach bescheid.

Grüße
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: PHP Dateien mit einander Verbinden ? (includes)

Vorteil dieser Variante ist, dass du später beim Hinzufügen weiterer Unterseiten nicht immer dein Konstrukt ändern musst.
Nachteil dieser Variante ist, dass ein böswillig gesinnter Nutzer damit problemlos jede vorhandene PHP-Datei öffnen kann. Dadurch entstehen derart viele potenzielle Angriffsvektoren, dass ich in strengstem Maße davon abrate. Nutzereingaben darf nie und nimmer vertraut werden.


Duddle
 

vincitore

Aktives Mitglied

AW: PHP Dateien mit einander Verbinden ? (includes)

Nachteil dieser Variante ist, dass ein böswillig gesinnter Nutzer damit problemlos jede vorhandene PHP-Datei öffnen kann. Dadurch entstehen derart viele potenzielle Angriffsvektoren, dass ich in strengstem Maße davon abrate. Nutzereingaben darf nie und nimmer vertraut werden.


Duddle

Guter Punkt, sehe ich ein ;)
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.619
Beiträge
1.538.363
Mitglieder
67.540
Neuestes Mitglied
Alex Weidner
Oben