WinFuture-Forum.de: Css Und Php Frage - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Css Und Php Frage


#1 Mitglied ist offline   Bib 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.091
  • Beigetreten: 06. Mai 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Bayern

geschrieben 16. Februar 2006 - 10:36

Hi,
auf meiner Seite sind 2 Container mittels CSS erstellt.

Ein kleiner links für das Menü und ein größerer rechts für den Inhalt.
Das Menü und den Inhalt binde ich mittels
<? include ("meinMenue.php"); ?>
ein.

Ich möchte folgendes erreichen:
Wenn man im linken Conatiner einen Link anklickt, soll der Inhalt im rechten Container geändert werden.

Wie kann ich das erreichen? Geht das mit HTML, CSS oder nur mit PHP?


-------------
Hab bisher nur mit Frames Erfahrung, da konnte ich ja einen Hyperlink definieren und auch angeben, in welchem Frame dieser ausgegeben werden soll. Mit CSS oder PHP weiß ich ajetzt aber nicht, wie ich das anstellen soll.

Die Seite ist übrigens in HTML mit CSS geschrieben, den einzigen PHP-Befehl, den ich darin hab, ist dieser "include"-Befehl. Ich bin nämlich noch nicht so fit in PHP.

(Ich bearbeite die Seite mit Dreamweaver MX, falls das weiterhelfen sollte...)
0

Anzeige



#2 Mitglied ist offline   Meatwad 

  • Gruppe: aktive Mitglieder
  • Beiträge: 784
  • Beigetreten: 07. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Bad Vilbel
  • Interessen:Computer, Inliner, Chatten...

geschrieben 16. Februar 2006 - 14:52

ohne phpwissen, ist das natürlcih schlecht, du könntest aber einfach diesen code verwenden:

<?php
include($_GET['cat']);
?>

und dann auf index.php?cat=DATEINAME verweisen

Dieser Beitrag wurde von Meatwad bearbeitet: 16. Februar 2006 - 14:54

I am away to look for my self. If I am back before I return keep me here. | Mein Server
0

#3 Mitglied ist offline   mad-max-82 

  • Gruppe: aktive Mitglieder
  • Beiträge: 24
  • Beigetreten: 08. Februar 06
  • Reputation: 0

geschrieben 16. Februar 2006 - 15:08

Beitrag anzeigenZitat (Meatwad: 16.02.2006, 14:52)

ohne phpwissen, ist das natürlcih schlecht, du könntest aber einfach diesen code verwenden:

<?php
include($_GET['cat']);
?>

und dann auf index.php?cat=DATEINAME verweisen

das ist ein sicherheitsrisiko, was auch hier im board glauch ich schon mal besprochen wurde.

Man sollte immer nur feste dateien einbinden, z.b. mit id's

if ($_GET['id']==1) {include("datei1.php")}

0

#4 Mitglied ist offline   Bib 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.091
  • Beigetreten: 06. Mai 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Bayern

geschrieben 16. Februar 2006 - 15:10

@meatwad

Ok, das hat geklappt. Jedoch kommt jetzt beim erstmaligen Aufruf der Seite ein leeres Feld.

wie kann ich denn dem include Befehl eine Seite zuordnen für die Zeit, in der noch kein Menüpunkt gedrückt wurde? Es soll hier die Seite home.php als standard verwendet werden. Erst wenn dann ein Menüpunkt ausgewählt wird, soll sich diese Variable ändern.

Geht das mit einfachen Mitteln auch, daß nur der Inhalt für diesen einen CSS-Container neu geladen wird? Mit dieser beschriebenen Möglichkeit wird ja die Seite jedesmal neu geladen. Das ist aber für den Menü-Container und die Titelleiste garnicht nötig.


@mad-max-82

Wie binde ich das denn ein? Einfach anstatt dem Code von meatwad? Könntest du mir die ganze Befehlszeile geben? Hab von PHP noch nicht so den Durchblick...

Dieser Beitrag wurde von Bib bearbeitet: 16. Februar 2006 - 15:13

0

#5 Mitglied ist offline   Y2G 

  • Gruppe: aktive Mitglieder
  • Beiträge: 45
  • Beigetreten: 29. Juni 03
  • Reputation: 0

geschrieben 16. Februar 2006 - 15:13

es wird jedesmal neugeladen, aber das ist gängiger standard

if (empty($_GET['id'])) {include("startseite.php")}

wenn dus so wie oben gemacht hast

edit: mal komplet -->

// dein div:
<div ...>
<?php
if (empty($_GET['id'])) {include("datei1.php")}
if ($_GET['id']==1) {include("datei1.php")}
if ($_GET['id']==2) {include("datei2.php")}
if ($_GET['id']==3) {include("datei3.php")}
if ($_GET['id']==4) {include("datei4.php")}
?>
</div>


jez wird ohne ne ?id=x angabe in der url am anfang die datei1.php aufgerufen, und bei jeweils ?id=1-4 die datei1-4.php. kannst die variablennamen natürlich auch ändern

Dieser Beitrag wurde von Y2G bearbeitet: 16. Februar 2006 - 15:19

0

#6 Mitglied ist offline   Bib 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.091
  • Beigetreten: 06. Mai 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Bayern

geschrieben 16. Februar 2006 - 15:38

Danke!

Wenn ich aber im Menü anstatt der Variablennummer gleich den kompletten Dateinamen mit übergebe, muß ich dann trotzdem für jeden einzelnen Menüpunkt eine eigene IF-Abfrage mit einbauen?

Ich stelle mir das so vor, daß in der IF-Abfrage die übergebene Variable (bei mir dann content1.php) gleich als Wert für den Include-Befehl hergenommen wird, ohne daß ich nochmal für jede Variable eine eigene Abfrage einbaue. Geht das so auch?

EDIT:
Oder ist das was ich möchte damit gemeint, was oben als Sicherheitsrisiko bezeichnet wurde?

Beitrag anzeigenZitat (Y2G: 16.02.2006, 15:13)

<div ...>
<?php
if (empty($_GET['id'])) {include("datei1.php")}
if ($_GET['id']==1) {include("datei1.php")}
if ($_GET['id']==2) {include("datei2.php")}
if ($_GET['id']==3) {include("datei3.php")}
if ($_GET['id']==4) {include("datei4.php")}
?>
</div>


Es kommt bei mir eine Fehlermeldung im Browser:

Parse error: parse error, unexpected '}' in /homepages/....php on line 33

Dieser Beitrag wurde von Bib bearbeitet: 16. Februar 2006 - 15:34

0

#7 Mitglied ist offline   Iso 

  • Gruppe: aktive Mitglieder
  • Beiträge: 487
  • Beigetreten: 14. Mai 03
  • Reputation: 0
  • Wohnort:Hörstel
  • Interessen:Computer<br />Parties<br />Mädels...

geschrieben 16. Februar 2006 - 15:53

Sag doch mal ebend bitte, was bei dir genau die Line 33 ist :)
Asus F3JP-Z53 Notebook:
Intel Core 2 Duo T7200 @ 2 Ghz
Mobile Radeon X1700 256 MB
2048 MB DDR2-Ram
160 GB Hitachi HDD
Ubuntu 9.04 / Windows XP SP 3
0

#8 Mitglied ist offline   Bib 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.091
  • Beigetreten: 06. Mai 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Bayern

geschrieben 16. Februar 2006 - 16:06

  <?php
	if (empty($_GET['id'])) {include("content.php")}
	if ($_GET['id']==1) {include("content1.php")}
	if ($_GET['id']==2) {include("content2.php")}
	if ($_GET['id']==3) {include("content3.php")}
	if ($_GET['id']==4) {include("content4.php")}
  ?>


Zeile 33: if (empty($_GET['id'])) {include("content.php")}
0

#9 Mitglied ist offline   DespoBerry 

  • Gruppe: aktive Mitglieder
  • Beiträge: 32
  • Beigetreten: 06. Oktober 05
  • Reputation: 0

geschrieben 16. Februar 2006 - 16:11

Beitrag anzeigenZitat (Y2G: 16.02.2006, 15:13)

es wird jedesmal neugeladen, aber das ist gängiger standard

if (empty($_GET['id'])) {include("startseite.php")}

wenn dus so wie oben gemacht hast

edit: mal komplet -->

// dein div:
<div ...>
<?php
if (empty($_GET['id'])) {include("datei1.php")}
if ($_GET['id']==1) {include("datei1.php")}
if ($_GET['id']==2) {include("datei2.php")}
if ($_GET['id']==3) {include("datei3.php")}
if ($_GET['id']==4) {include("datei4.php")}
?>
</div>
jez wird ohne ne ?id=x angabe in der url am anfang die datei1.php aufgerufen, und bei jeweils ?id=1-4 die datei1-4.php. kannst die variablennamen natürlich auch ändern


hallo

mal ne kurze frage.

kann man diesen php befehl in eine normale html datei einbinden?
bzw dann auch auf html dateien verlinken ?

if ($_GET['id']==1) {include("beispiel.htm")}


thx
0

#10 Mitglied ist offline   mad-max-82 

  • Gruppe: aktive Mitglieder
  • Beiträge: 24
  • Beigetreten: 08. Februar 06
  • Reputation: 0

geschrieben 16. Februar 2006 - 16:13

du musst hinter jedem include ein Semikolon machen; also:

<?php
	if (empty($_GET['id'])) {include("content.php");}
	if ($_GET['id']==1) {include("content1.php");}
	if ($_GET['id']==2) {include("content2.php");}
	if ($_GET['id']==3) {include("content3.php");}
	if ($_GET['id']==4) {include("content4.php");}
  ?>


bei weiteren Fragen hilft dir auch
das hier...

Dieser Beitrag wurde von mad-max-82 bearbeitet: 16. Februar 2006 - 16:16

0

#11 Mitglied ist offline   Y2G 

  • Gruppe: aktive Mitglieder
  • Beiträge: 45
  • Beigetreten: 29. Juni 03
  • Reputation: 0

geschrieben 16. Februar 2006 - 16:24

ups ja stimmt hab die ";" vergessen, habs nur ganz schnell vom oberen beispiel kopiert :}

@DespoBerry:
php kann nur auf einem webserver ausgeführt werden auf dem das php modul installiert ist. insofern wirst du es nicht lokal öffnen können, ausser du hast lokal einen entsprechenden webserver installiert (z.B. xampp). allerdings lassen sich dann auch normale html dateien einbinden

@Bib:
es ist ein SEHR GROSSES risiko einfach den einzubindenden dateinamen als variable zu übergeben, da dann auf deinem webserver beliebiger php code ausgeführt werden kann! mit einem aufruf der seite könnte alles gelöscht werden oder ähnliches.

Dieser Beitrag wurde von Y2G bearbeitet: 16. Februar 2006 - 16:27

0

#12 Mitglied ist offline   Floele 

  • Gruppe: aktive Mitglieder
  • Beiträge: 919
  • Beigetreten: 22. Juni 04
  • Reputation: 0

geschrieben 16. Februar 2006 - 16:47

Beitrag anzeigenZitat (Y2G: 16.02.2006, 15:13)

<?php
if (empty($_GET['id'])) {include("datei1.php")}
if ($_GET['id']==1) {include("datei1.php")}
if ($_GET['id']==2) {include("datei2.php")}
if ($_GET['id']==3) {include("datei3.php")}
if ($_GET['id']==4) {include("datei4.php")}
?>


Sieht ja schlimm aus. Wie wärs damit?

<?php
// hier vorher vielleicht noch isset, oder einfach eine GPC Klasse nehmen
switch($_GET['id'])
{
   case 1: include("datei1.php"); break;
   case 2: include("datei2.php"); break;
   // ....
   default: include("datei1.php");
}
?>

Dieser Beitrag wurde von Floele bearbeitet: 16. Februar 2006 - 16:47

0

#13 Mitglied ist offline   Bib 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.091
  • Beigetreten: 06. Mai 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Bayern

geschrieben 16. Februar 2006 - 16:54

Zitat

hier vorher vielleicht noch isset, oder einfach eine GPC Klasse nehmen


Was heisst das? :)
0

#14 Mitglied ist offline   Floele 

  • Gruppe: aktive Mitglieder
  • Beiträge: 919
  • Beigetreten: 22. Juni 04
  • Reputation: 0

geschrieben 16. Februar 2006 - 17:18

Ich weiß nicht ob das ein offizieller Begriff ist, jedenfalls ist es eine Klasse die wie ein "Wrapper" für $_GET, $_POST und $_COOKIE funktioniert. Man kann dann z.B. einfach Get::val('foo') machen ohne dabei immer vorher überprüfen zu müssen ob $_GET['foo'] überhaupt existiert. Auch Get::val('foo', 'else') ist nützlich, damit kann man falls 'foo' nicht existiert den Wert 'else' nehmen. Ich benutze die hier.
0

#15 Mitglied ist offline   krid2873 

  • Gruppe: aktive Mitglieder
  • Beiträge: 61
  • Beigetreten: 13. Mai 05
  • Reputation: 0

geschrieben 16. Februar 2006 - 17:31

@Bib
Die Erklärung zu "isset" gibt es hier.

@all
So nun habe ich auch eine Frage bezüglich dem Thema PHP-Navigation. Hier mein Quelltext:
<body>

<div id="maincontainer">

	<div id="nav">
		<div id="logo"></div>
		<div id="menucontainer">
			<a class="menu" href="id=1">Hyperlink 1<div class="inhalt">Seite 1</div></a>
			<a class="menu" href="id=2">Hyperlink 2<div class="inhalt">Seite 2</div></a>
			<a class="menu" href="#">Hyperlink 3<div class="inhalt">Index</div></a>
			<a class="menu" href="#">Hyperlink 4<div class="inhalt">Index</div></a>
			<a class="menu" href="#">Hyperlink 5<div class="inhalt">Index</div></a>
			<a class="menu" href="#">Hyperlink 6<div class="inhalt">Index</div></a>
		</div>
	</div>
	<div id="content">

	<?php
	// 
	switch($_GET['id'])
	{
		case 1: include("datei1.php"); break;
		case 2: include("datei2.php"); break;
	// 
	default: include("datei1.php");
	}
	?>

	</div>

</div>

</body>

Die Profis unter euch werden sicher sehen, das das nicht funktioniert. Meine Frage ist WO übergebe ich der
Variable "id" den entsprechenden Wert?

Ich danke schon einmal für eure Hilfe.
mfg
krid2873
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0