Warum kostenlos registrieren?

Nur als registriertes Mitglied hast Du vollen Zugriff auf alle Funktionen unserer Website. So kannst Du eigene Fragen stellen und hast die volle Übersicht über neue interessante Themen im Forum.
Jetzt kostenlos registrieren.

Login


automatisches einbinden der Seiten

Anfänger? Kein Problem einfach hier fragen, wir helfen euch!

automatisches einbinden der Seiten

Beitragvon SteiniKeule am 10.08.2007, 19:09

Hallo

Ich habe ein neues thema eröffnet weil ich denke dass ich jetzt in eine etwas andere richtung gehe als bei meinem letzten Thema:
http://www.informationsarchiv.net/foren ... 60134.html

Ich hab e die letzten tag nicht viel ziet gehabt an meiner seite weiter zu machen, aber ich habe nun die lösung wie ich mein Prob. angehen möchte.

Bisher war es ja so:

Ich schreibe einen Beitrag in einer eigenen .html / .php dieser Beitrag A wird auf die Seite B in einem Frame eingebunden. Die angaben die ich in dem frame machen muss sind Quelle und Gröse. doch nun würde ich das ganze mit mit einen skript lösen. Ich würde es gerne so machen dass ich auf seite B ein skript habe das aus einer Quelle z.B. Ordner AA die Anzahl der Datein ausliest und anhand der Anzahl die gröse bestimmt und diese Beiträge in dem Ordner AA dann automatisch auf Seite B einbindet. der skript sollte aber nicht nur auf seite B anwendbar sein sondern auch auf C D ...

das ergebniss würde dann so aussehn dass der skript den ich auf einer seite eingebunden habe aus einem bestimmten ordner die datein ausliest und automatisch in die seite in einen Frame einbindet.

Da ich aber leider nicht viel Ahnung davn habe würde ich mich freuen wenn mir einer von euch weiter helfen könnte.

thx
Steini :roll:
SteiniKeule
 
Beiträge: 401
Registriert: 20.09.2005, 15:34
Wohnort: Altötting


Beitragvon H-milch am 11.08.2007, 02:48

ich würds mit PHP machen. kennst du dich damit aus?
naja. ich schreib erstma :P
du hast deine index seite. wenn du da auf nen link klickst, wird dem script das verzeichnis übergeben, welches durchsucht werden soll.
dieses verzeichnis wir dann geöffnet und mit einer while-schleife werden die dateinamen ausgelesen, und die datein danach eingebunden.
Code: Alles auswählen
$verzeichnis = $_GET['verzeichnis']; //jenachdem, wie du das verzeichnis übergibst musst du's ändern.
$ov = opendir($verzeichnis); //ov = offenes verzeichnis
while ($datei = $ov != "boolean"){
include($verzeichnis . $datei);}

ich hab das script nicht getesten... keine ahnung obs funktioniert. müsste aber eigentlich.

du kannst das ganze natürlich in ne funktion packen, oder in ner klasse als methode definieren. und diese klasse in jedes document einbinden, in dem du diese funktion brauchst.
ich weiß leider gerade nicht, wie das mit javascript geht. hoffe du kannst n bissl PHP.
mfg H-milch
H-milch
 
Beiträge: 130
Registriert: 18.07.2006, 23:18

Beitragvon SteiniKeule am 11.08.2007, 10:58

danke

ne mit php bin ich ned so auf dem laufenden :D

ich werd das gleich mal testen

EDIT:

lol ok ich hab mit das mal kurz angesehn... ich weis damit mal garnix anzufangen :D


also ich hab in meinem htmlordner die index, format.ccs, images, usw... dann hab ich in dem htmlordner auch noch einen ordner der indexablage heist. in dem ordner liegen z.B. 3 Beiträge das skript sollte jetzt von dem ordner indexablage automaisch die 3 Beitäge in die index.html einbinden.
die verzeichnisse wären dann indexablage/beiträge... oder www.sk-world.de/indexablage/beiträge...

da ich es so eingestellt habe dass bei dem aufruf von sk-world.de automatisch in den ordner html komme kann ich den link so setzen.

kannst du mir das bitte so machen dass ich es nur noch in meine index.html einbinden muss?? sonst bin ich damit überlastet :roll: :roll:

thx
Steini
SteiniKeule
 
Beiträge: 401
Registriert: 20.09.2005, 15:34
Wohnort: Altötting

Beitragvon H-milch am 11.08.2007, 13:31

hm. k. das wird etwas schwieriger.
also ich gehe mal davon aus, das dein verzeichnis struktur erstmal so bleibt und nicht noch komplexer wird.
hoffe ma dein server ist php fähig.
erstma must du deine index.html in index.php umbenennen.
Code: Alles auswählen
<?php
function arrayElement($array, $schluessel){
   if(!is_array($array)){
      if(ERRORS)
        die('<em>Basis::arrayElement()</em> wurde kein Array &uuml;bergeben');
      die(UNBEKANNTERFEHLER);
    }
    if(array_key_exists($schluessel, $array)){
      return $array[$schluessel];
    }
    return false;
}
function beitragEinbinden($pfad){
$verzeichnis = './indexablage/'.$pfad.'/';
$ov = opendir($verzeichnis); //ov = offenes verzeichnis
while ($datei = $ov != "boolean"){
  include($verzeichnis . $datei);
  }
}
?>
<html> ....
...
...
<div> <!-- content. das div kommt an die stelle wo vorher der iframe war -->
<?php
$p = arrayElement($_GET, 'p'); //"p" steht für Pfad
if(!$p){
beitragEinbinden($p)
}
?>
</div>
...
...
...
</html>

oben stehts schon. der iframe fliegt raus und an die stelle kommt ein div.
dem entsprechend kannst du auch das script für den iframe wieder rausnehmen.

die links mit denen du aufdie verschiedenen ordner zugreifen willst müssen dann so aussehen
<a href="index.php?p=beitraege1">beitr&auml;ge1</a>
<a href="index.php?p=beitraege2">beitr&auml;ge2</a>
<a href="index.php?p=beitraege3">beitr&auml;ge3</a>
...

deine ordner müssen dann genauso heißen, wie es hinter dem = steht.
die dateien in den ordnern können heißen wie sie wollen. wichtig ist nur, das sie kein vollständiges htmldocument enthalten. darin darf nur stehen, was in dem div stehensoll.

mir is aber gerade aufgefallen, wenn ich mir deine links so ansehe, und daraus schließe, was noch alles auf deine seite soll, wird das noch n bissl schwierig. und wenn das alles auch mit hilfe von php gemacht wird solltest du das lernen. und dich dann n bissl an objekt orientierter programmierung versuchen :P
viel spass
H-milch
 
Beiträge: 130
Registriert: 18.07.2006, 23:18

Beitragvon SteiniKeule am 11.08.2007, 16:05

danke ich versuche gerade das mit dem skrip, klappt aber noch ned so wie ich das möchte...

ich weis leider nicht was du meinst. aber ich denke dass alles was später kommt noch einfacher wird :D
SteiniKeule
 
Beiträge: 401
Registriert: 20.09.2005, 15:34
Wohnort: Altötting

Beitragvon SteiniKeule am 11.08.2007, 16:27

H-milch hat geschrieben:
die links mit denen du auf die verschiedenen ordner zugreifen willst müssen dann so aussehen
<a href="index.php?p=beitraege1">beitr&auml;ge1</a>
<a href="index.php?p=beitraege2">beitr&auml;ge2</a>
<a href="index.php?p=beitraege3">beitr&auml;ge3</a>
...

deine ordner müssen dann genauso heißen, wie es hinter dem = steht.
die dateien in den ordnern können heißen wie sie wollen. wichtig ist nur, das sie kein vollständiges htmldocument enthalten. darin darf nur stehen, was in dem div stehensoll.


mir ist etwas aufgefallen...

Ich glaub dass ich es nicht ganz ordentlich erklärt habe, oder ich etwas nicht verstehe.

also wenn ich auf www.sk-world.de gehe dann kommt die index.php in der index.php sollen im anzeigefenster alle Beiträge engezeigt werden die in dem ordner indexablage sind. wenn ich dann auf den link "Downloads" klicke komm ich damit auf die seite www.sk-world.de/download.php dort sollte mir dann im anzeigefenster alles angezeigt werden was im downladablage ordner ist. wenn ich das ganze so mache dass ich NUR die index.php habe und dort einfach immer die inhalte der seiten reinlade kann ich ja nicht direktverlinken. ich möchte dein skript auf jeder seite (index / Download / Artikel / usw) einbinden, und die Quellverzeichnise abändern.

und ich habe deinen skript jetzt schon mal eingebunden:
Code: Alles auswählen
<?php
function arrayElement($array, $schluessel){
   if(!is_array($array)){
      if(ERRORS)
        die('<em>Basis::arrayElement()</em> wurde kein Array &uuml;bergeben');
      die(UNBEKANNTERFEHLER);
    }
    if(array_key_exists($schluessel, $array)){
      return $array[$schluessel];
    }
    return false;
}
function beitragEinbinden($pfad){
$verzeichnis = './indexablage/'.$pfad.'/';
$ov = opendir($verzeichnis); //ov = offenes verzeichnis
while ($datei = $ov != "boolean"){
  include($verzeichnis . $datei);
  }
}
?>



<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="robots" content="INDEX,FOLLOW">
<meta name="keywords"
content="homepage,dokument,webpage,page,web,netz,homepage dokument webpage page web net">
<meta name="description"
content="homepage, dokument, webpage, page, web, netz" >
<title>www.sk-world.de</title>

<script>
<!--
function BlurLinks(){
lnks=document.getElementsByTagName('a');
for(i=0;i<lnks.length;i++){
lnks[i].onfocus=new Function("if(this.blur)this.blur()");
}
}

onload=BlurLinks;
-->
</script>

<link rel="stylesheet" href="format.css" type="text/css">

</head>
<body  >
<div align="center"><table class="aussen" cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<td>
<!--kopf-->
<table cellspacing="0" cellpadding="0" border="0"  class="kopfaussen" width="100%">
<tr>
<td width="100%"><table  cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<td width="100%"><table   cellspacing="0" cellpadding="0" border="0"  class="kopf" width="100%">
<tr>
<td  width="100%" height="21" >
<table  height="21" cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<td  align="right" height="21" width="100%"  ><table   cellspacing="0" cellpadding="0" border="0" width="100%" align="right" height="21">
<tr>
<td  align="right" width="100%"  height="21" >
<!--hpname-->
<table  cellspacing="0" cellpadding="0" border="0" width="100%" align="right" height="21">
<tr>
<td align="right" width="100%" height="21"class="leisteoben" >www.sk-world.de&nbsp;&nbsp;</td>
</tr>
</table>
<!--ende hpname-->
</td>
</tr>
</table></td>
</tr>
<tr>
<td  class="banner"     width="100%" >
<img src="images/logo02.gif" width="468" height="60" border="0" alt="" style="border:solid 1px #31485b;">
</td>
</tr>

</table>

</td>
</tr>
</table>
<!--kopf ende-->
</td>
</tr>
</table></td>
</tr>
</table>

<table     cellspacing="0" cellpadding="0" border="0" width="100%"    >
<tr>
<td  class="backnav" valign="top"  width="210" >
<table width="210"   cellspacing="0" cellpadding="0" border="0"  >
<tr>
<td>
<!-- menü li 1-->

<table bgcolor="#61cfdc" cellspacing="0" cellpadding="0" border="0" width="210">
<tr>
<td   valign="top"  class="label">Menü</td>
</tr>
<tr>
<td   valign="top" class="inhaltnav" >
<table  id="menu"   border="0" cellpadding="0" cellspacing="0"   width="210" >
<tr>
<td >
<a href="index.html" ><span>&raquo;&nbsp;</span>Home</a></td>
</tr>
<tr>
<td><a href="artikel.html" ><span>&raquo;&nbsp;</span>Artikel</a></td>
</tr>
<tr>
<td><a href="dload.html" ><span>&raquo;&nbsp;</span>Downloads</a></td>
</tr>
<tr>
<td><a href="termine.html" ><span>&raquo;&nbsp;</span>Termine</a></td>
</tr>
<tr>
<td><a href="gbook.html" ><span>&raquo;&nbsp;</span>Gästebuch</a></td>
</td>
</tr>
</tr>
</table>
</td>
</tr>
</table>
<!-- ende menü li 1-->
</td>
</tr>

<tr>
<td class="space"><img src="images/space.gif" width="1" height="10" border="0" alt=""></td>
</tr>

<tr>
<td>
<!-- menü li 2-->
<table cellspacing="0" cellpadding="0" border="0" width="192">
<tr>
<td  valign="top" class="label">Artikel</td>
</tr>
<tr>
<td   valign="top" class="inhaltnav" >
<table  id="menu"   border="0" cellpadding="0" cellspacing="0"   width="210" >
<tr>
<td >
<a href="artikel.html" ><span>&raquo;&nbsp;</span>Artikelübersicht</a></td>
</tr>
<tr>
<td><a href="newartikel.html" ><span>&raquo;&nbsp;</span>Neuesten Artikel</a></td>
</tr>
<tr>
<td><a href="topartikel.html" ><span>&raquo;&nbsp;</span>TOP Artikel</a></td>
</tr>
<tr>
<td><a href="sucheartikel.html" ><span>&raquo;&nbsp;</span>Artikel-Suche</a></td>
</tr>
<tr>
<td><a href="bugartikel.html" ><span>&raquo;&nbsp;</span>Artikel-Fehler melden</a></td>
</tr>
<tr>
<td><a href="anregungartikel.html" ><span>&raquo;&nbsp;</span>Artikel-Vorschläge</a></td>
</tr>
</tr>
</table>
</td>
</tr>
</table>
<!-- ende menü li 2-->
</td>
</tr>
<td class="space"><img src="images/space.gif" width="1" height="10" border="0" alt=""></td>
</tr>
<tr>
<td>
<table cellspacing="0" cellpadding="0" border="0" width="210">
<tr>
<td  valign="top" class="label">Downloads</td>
</tr>
<tr>
<td   valign="top" class="inhaltnav" >
<table  id="menu"   border="0" cellpadding="0" cellspacing="0"   width="210" >
<tr>
<td >
<a href="dload.html" ><span>&raquo;&nbsp;</span>Downloadübersicht</a></td>
</tr>
<tr>
<td><a href="newdload.html" ><span>&raquo;&nbsp;</span>Neuesten Downloads</a></td>
</tr>
<tr>
<td><a href="topdload.html" ><span>&raquo;&nbsp;</span>TOP Downloads</a></td>
</tr>
<tr>
<td><a href="suchedload.html" ><span>&raquo;&nbsp;</span>Download-Suche</a></td>
</tr>
<tr>
<td><a href="bugdload.html" ><span>&raquo;&nbsp;</span>Download-Fehler melden</a></td>
</tr>
<tr>
<td><a href="anregungdload.html" ><span>&raquo;&nbsp;</span>Download-Vorschläge</a></td>
</tr>
</tr>
</table>
</td>
</tr>
</table>
<!-- ende menü li 3-->
</td>
</tr>

<tr>
<td class="space"><img src="images/space.gif" width="1" height="10" border="0" alt=""></td>
</tr>

<tr>
<td>

<!-- menü li 4-->

<table bgcolor="#61cfdc" cellspacing="0" cellpadding="0" border="0" width="210">
<tr>
<td   valign="top"  class="label">Kontakt</td>
</tr>
<tr>
<td   valign="top" class="inhaltnav" >
<table  id="menu"   border="0" cellpadding="0" cellspacing="0"   width="210" >
<tr>
<td >
<a href="ueberme.html" ><span>&raquo;&nbsp;</span>Über Mich</a></td>
</tr>
<tr>
<td><a href="ueberporj.html" ><span>&raquo;&nbsp;</span>Über dieses Projekt</a></td>
</tr>
<tr>
<td><a href="techik.html" ><span>&raquo;&nbsp;</span>Designe & Technik</a></td>
</tr>
<tr>
<td><a href="kontaktf.html" ><span>&raquo;&nbsp;</span>Kontaktformular</a></td>
</tr>
<tr>
<td><a href="impressum.html" ><span>&raquo;&nbsp;</span>Impressum</a></td>
</td>
</tr>
</tr>
</table>
</td>
</tr>
</table>
<!-- ende menü li 4-->

</td>
</tr>
</table>
</td>
<td class="backinhalt"  valign="top"    align="center" width="100%" >

<!--inhalt-->
<table cellspacing="0" cellpadding="0" border="0" width="100%" >
<tr>
<td valign="top"   >
<table  cellspacing="0" cellpadding="0" border="0"  width="100%">
<tr>
<td  valign="top" class="label" width="100%">Home</td>
</tr>
<tr>
<td  class="inhalt"  valign="top"  width="100%" >
<br>
<div> <!-- content. das div kommt an die stelle wo vorher der iframe war -->
<?php
$p = arrayElement($_GET, 'p'); //"p" steht für Pfad
if(!$p){
beitragEinbinden($p)
}
?>
</div> 

</td>
</tr>
</table>
</body>
</html>


doch wenn ich jetzt die index.php aufrufe sagt er mir:

Parse error: parse error, unexpected $ in /srv/www/htdocs/web638/html/index.php on line 310
oder 280

diese Zeile ist immer die vorletzte zeile von deimem skript:

Code: Alles auswählen
<div> <!-- content. das div kommt an die stelle wo vorher der iframe war -->
<?php
$p = arrayElement($_GET, 'p'); //"p" steht für Pfad
if(!$p){
beitragEinbinden($p)
}
?>
</div>


mit vorletzter Zeile meine ich diese klammer "}"

hab ich was falsch gemacht oder vergessen? :shock:
SteiniKeule
 
Beiträge: 401
Registriert: 20.09.2005, 15:34
Wohnort: Altötting

Beitragvon MaximilianW am 11.08.2007, 16:36

Hallo,

Das sollte daran liegen, dass nach beitragEinbinden($p) ein Semikolon fehlt.
So sieht das dann richtig aus:
Code: Alles auswählen
<div> <!-- content. das div kommt an die stelle wo vorher der iframe war -->
<?php
$p = arrayElement($_GET, 'p'); //"p" steht für Pfad
if(!$p){
beitragEinbinden($p);
}
?>
</div>


In der Hoffnung geholfen zu haben,

Maximilian
MaximilianW
 
Beiträge: 1
Registriert: 15.05.2007, 16:40
Wohnort: bei Mainz

Beitragvon H-milch am 11.08.2007, 18:16

jap. das mit den semikolons passiert mir immerwieder :P naja.

ich hab das dann wohl falsch verstanden. aber man muss nicht viel verändern.
also nochmal wie ich das jetzt verstanden habe. du willst also den inhalt der ordner angezeigt haben aber nicht den inhalt der dateien(so wie es jetzt bei mir wäre.) du willst also eine Link liste der dateien im entsprechenden ordner haben, richtig? oder soll es nur ne liste ohne links sein?

das sollte alles möglich sein. ich hab nur leider im mom keine zeit. (feier)
ich kann mich erst wieder heute abend damit beschäftigen.
mfg H-milch
H-milch
 
Beiträge: 130
Registriert: 18.07.2006, 23:18

Beitragvon SteiniKeule am 11.08.2007, 21:44

also... wenn ich einen Beitrag schreibe, der news1 heist. schreib ich den als .html und speichere den in dem ordner newsablage. nun binde ich dein skipt auf die seite news ein es lädt mir automatisch den beitrag in mein anzeigefenster. ich muss kleinen link mehr klicken und nix machen. ich bin in meiner index.html und klicke links in der navi auf "news", kommt dann auf die news.php und dort wird mir dann durch den skript der beitrag angezeigt. dabei sollte es total egal sein ob ich jetzt einen oder 20 beiträge in dem ordner habe. es sollten mir alle auf einmal untereinander in dem anzeigefenster meiner news.php erscheinen. das ganze will ich auf jeder seite. index, download usw... keine links nix.

du hast es doch gesehn wie es zuvor war. im letzten beitrag. ich musste jeden Beitrag den ich schreibe selber einbinden und die gröse meines frames bestimmen usw... das sollte jetzt das skript machen damit ich nicht jedes mal wenn ich einen beitrag ändere hinzufüge oder entferne alles neu schreiben muss. ich will dass es optisch genau so ist wie es zuvor war. und dafür hast du mir ja auch die lösung geschrieben :D

bitte keine links. mit links würde es bedeuten dass ich den inhalt im selben fenster lade und somit ist eine direktverlinkung ausgeschlossen. und bei einem geöserem umfang wird das ganze dann relativ schwer zu finden. und es wär ja irgendwie peinlich wenn ich meine eigenen Beiträge nicht mehr finde :P :P :P :P


wenn ich doch nur php könnte :cry: dann müsst ich ned jedes mal so nen roman schreiben um was zu erklären :D:D

aber vielen dank dass du dich meiner prob. annimmst :wink:
SteiniKeule
 
Beiträge: 401
Registriert: 20.09.2005, 15:34
Wohnort: Altötting

Beitragvon H-milch am 12.08.2007, 01:40

ok. ich denke jetzt hab ichs verstanden. also machen wirs noch ein bissl anders :)
als erstes erstellst du eine neue datei. nenn sie zb "script.php". in diese datei kommt die funktion von vorher nur n bissl verändert.
script.php:
Code: Alles auswählen
function beitragEinbinden($pfad){
$ov = opendir($pfad); //ov = offenes verzeichnis
while ($datei = readdir($ov)){
   if($datei == '.' || $datei == '..') {
      continue;}
  include($pfad . $datei);
  }
}

in jede datei, die jetzt dieses script braucht schreibst du dann an die stelle, wo die beiträge eingebundenwerden sollen:
Code: Alles auswählen
<?php
include('script.php');
beitragEinbinden('./pfad/'); //"pfad" muss natürlich entsprechend ersetzt werden
?>


dieses script bindet dir dann alle dateien im ordner ein. ich hab es diesmal auch getestet... das alte war noch sehr fehlerhaft und hätte nicht funktioniert :P sorry.

deine beiträge dürfen aber immernoch nicht komplette html documente sein. sie dürfen/sollten in html geschrieben sein. aber sie dürfen kein eigenes document sein. sie sollten ungefähr so aussehen: <p>Das ist der erste Beitrag</p>
nix mit <html> oder <body> weil:
der befehl include() fügt den gesamten inhalt einer datei in die ausführende datei ein. das heißt also, wenn du 2 documente hast,
1.php:
Code: Alles auswählen
<html>
...
<body>
<?php
include('2.html');
?>
</body>
</html>

2.html:
Code: Alles auswählen
<html>
...
<body>
ein toller beitrag!
</body>
</html>


dann sieht das ergebnis so aus:
Code: Alles auswählen
<html>
...
<body>
<html>
...
<body>
ein toller beitrag!
</body>
</html>
</body>
</html>

und das ist ja falsch.

nur das mit dem direkt verlinken hab ich noch nicht ganz verstanden.
so wies jetzt ist kannst du einen link zu der seite machen, in der alle beiträge aufgelistet sind. aber nicht zu einem einzelnen beitrag. brauchst du das dann auch noch? oder was meinst du mit direktverlinken?
H-milch
 
Beiträge: 130
Registriert: 18.07.2006, 23:18

Beitragvon SteiniKeule am 12.08.2007, 09:43

ja direkt zu einer datei wäre nicht schlecht. spätestens bei den download soll man durch einen klick auf die den angezeigten beitrag zur datei gelangen oder der download automatisch starten.

Aber nun mal zu den artikeln. ich glaub dass das was ich mir gerade vorstelle doch etwas zu schwer ist :D

optimal wäre es wenn:

durch einen klick auf einen angezeigten beitrag wird dieser Beitrag in der einer neuen html aufgerufen. optisch sieht es dann so aus als würde dieser einzige beitrag in der index.php aufgerufen werden. also links das navi oben das banner usw. und im anzeige fenster nicht mehr alle beiträge sondern nur dieser eine der angeklickt wurde. und das sollte in einem neuen fenster erscheinen. also nach dem klick hat man dann immer noch das alte fenster mit den ganzen beiträgen und ein neues fenster das optisch genau so aussieht wie das alte nur mit dem unterschied dass nur dieser eine beitrag angezeigt wird.

Wie gesagt ich glaub dass das ned so einfach sein wird. :(

vielen dank für das skript
SteiniKeule
 
Beiträge: 401
Registriert: 20.09.2005, 15:34
Wohnort: Altötting

Beitragvon H-milch am 12.08.2007, 12:34

XD. das ist kein problem :D
du must dann halt in den beitrag, oder um den beitrag einen link machen der als der ungefähr so aus sieht.
<a href="index.php?betrag=beitrag1" target="_blank">...</a>
dazu brauch ich aber nochma deine genaue ordnerstruktur. also wo sind deine downloads. wo sind die news und wo ist alles andere.
H-milch
 
Beiträge: 130
Registriert: 18.07.2006, 23:18

Beitragvon SteiniKeule am 12.08.2007, 15:08

:D :D
ok wenn du das sagst.



ok ich hab das jetzt so gut ich das auf die schnelle kann gemacht. lad dir doch bitte diese datei runter

http://www.armys2ndforce.de/Steini/ordner.zip

da hab ich alles erklärt mit 1000 Beispielen und und und. also ich hoffe dass das ausreichend ist. die tabelle ist excel. geht aber auch mit openoffice.org

danke :D
SteiniKeule
 
Beiträge: 401
Registriert: 20.09.2005, 15:34
Wohnort: Altötting

Beitragvon H-milch am 12.08.2007, 18:15

soa. das ganze ist nu was länger geworden.

deine ordneraufteilung ist zwar gut aber ein bissl zu umständlich denk ich. ich hab das script so verbessert, dass es die aufteilung in 5er blöcke selbst vornimmt. du kannst also alle beiträge in einen ordner stecken :)
als weitere änderung nimmt das script jetzt nurnoch dateien mit der endung ".html" an. dadurch können auch andere dateien in dem ordner sein ohne dass das script abbricht.
außerdem wird automatisch ein navi eingefügt mit dem man einen block weiter/zurück oder an das/den ende/anfang springen kann. er ist von einem <p> tag der classa "blocknavi" umschlossen. so kannst du ihn mit CSS noch deinem style anpassen.
k. soweit erstma. jetzt das script:
script.php :
Code: Alles auswählen
<?php
function arrayElement($array, $schluessel){
   if(!is_array($array)){
      if(ERRORS)
        die('<em>Basis::arrayElement()</em> wurde kein Array &uuml;bergeben');
      die(UNBEKANNTERFEHLER);
    }
    if(array_key_exists($schluessel, $array)){
      return $array[$schluessel];
    }
    return false;
}

class beiträge{
private   $kategorie;
private   $block = "0";
private   $bloeckeAnzahl;
public function __construct($k){
$this->kategorie = $k;
$block = arrayElement($_GET, 'block');
if($block){
$this->block = $block;}
}
//bindet alle beiträge eines verzeichnisses ein
public function alleBeitraegeEinbinden($pfad){
   $ov = opendir($pfad); //ov = offenes verzeichnis
   $beitraege = array();
   while ($datei = readdir($ov)){
      if($this->pruefeDatei($datei)){
         $beitraege[] = $datei;}
      }
   $bloeckeAnzahl = ceil((count($beitraege)) / 5);
   $this->bloeckeAnzahl = $bloeckeAnzahl;
   if($bloeckeAnzahl > 1){
      $this->baueNavi();}
   $arrayziffer = $this->block * 5;
   for ($i = $arrayziffer; $i < $arrayziffer + 5; $i++ ){
      if(array_key_exists($i, $beitraege)){
         include($pfad . $beitraege[$i]);}
      else{
         break;}
      }
   if($bloeckeAnzahl > 1){
      $this->baueNavi();}
   }
private function baueNavi(){
   echo '<p class="blocknavi">';
   if($this->block > 0){
      echo "<a href='$this->kategorie.php?block=0'>&lt;&lt;</a>&nbsp;";
      $previous = $this->block - 1;
      echo "<a href='$this->kategorie.php?block=$previous'>&lt;</a>&nbsp;";
      }
   else{
      echo "&lt;&lt;&nbsp;&lt;&nbsp;";
      }
   if($this->block < ($this->bloeckeAnzahl-1)){
      $next = $this->block + 1;
      echo "<a href='$this->kategorie.php?block=$next'>&gt;</a>&nbsp;";
      $last = $this->bloeckeAnzahl - 1;
      echo "<a href='$this->kategorie.php?block=$last'>&gt;&gt;</a>";
      }
   else{
      echo "&gt;&nbsp;&gt;&gt;&nbsp;";
      }
   echo '</p>';
}
// prüft ob dateien auf ".html" enden
private function pruefeDatei($dateiname){
   if(preg_match(':^.+\.html$:', $dateiname)){
      return true;}
   else{
      return false;}
   }
}
?>


in den dateien wo die beiträge eingebunden werden musst du dann
Code: Alles auswählen
<?php
include('script.php');
$beiträge = new beiträge('index');
$beiträge->alleBeitraegeEinbinden('./beiträge/');
?>

einfügen.
die beiden letzten zeilen musst du gegebenenfals ändern.

new beiträge('index');
hier kommt der name der datei ohne endung hin. also bei download.php muss es heißen new beiträge('download');

alleBeitraegeEinbinden('./beiträge/');
hier kommt der pfad rein, aus dem die html.dateien eingebunden werden sollen.
also bei download.php zb: alleBeitraegeEinbinden('./downloads/');

ich denke du solltest erstma das hier ans laufen kriegen, bevor wir weiter machen.
viel spass :P
mfg H-milch
H-milch
 
Beiträge: 130
Registriert: 18.07.2006, 23:18

Beitragvon SteiniKeule am 12.08.2007, 21:07

hey suuuuper vielen danke. werd dann gleich mal testen ob ich das auch auf die reihe bekomme :wink: :wink: :wink:
SteiniKeule
 
Beiträge: 401
Registriert: 20.09.2005, 15:34
Wohnort: Altötting

Nächste


Ähnliche Themen


Zurück zu Webmaster-Anfänger

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste