Antworten auf deine Fragen:
Neues Thema erstellen

Seitennavigation_ include Problem

A

ana90

Guest

Hallo zusammen,
ich habe folgendes Problem:
ich möchte alle Seiten per Include in einem Div laden. alles funktionniert gut, nur auf der Galerie_Seite geht die Seitennavigation nicht, die Bilder werden nicht angezeigt.

Kann mir hierbei jemand weiterhelfen?

hier ist der Link:


Hier meine Code:

/*index.php*/

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>galerie</title>
<script type="text/javascript" src="p7csslm/p7uberlink.js"></script>
</head>
<body id="p7bod" onload="P7_Uberlink('p7uberlink','p7bod')">
<div id="masthead">
<div class="content">LOGO</div>
</div>
<div id="wrapper">
<div id="column_wrapper">
<div id="left">
<div class="content">
<h3 class="nomargintop">&nbsp;</h3>
<h4>Navigation:</h4>
<ul class="menulist">
<li><a href="?pg=home" title="home">&raquo; &nbsp;&nbsp;home</a></li>
<li><a href="?pg=galerie" >&raquo; &nbsp;&nbsp;galerie</a></li>
<li><a href="?pg=kontakt" title="kontakt">&raquo; &nbsp;&nbsp;contakt</a></li>
</ul>
</ul>
<p>&nbsp;</p>
</div>
</div>
<div id="right">
<div class="content">
<?php

if (isset($_GET['pg']) && $_GET['pg'] != "") {

$pg = $_GET['pg'];

if (file_exists('pages/'.$pg.'.php')) {

@include ('pages/'.$pg.'.php');

} elseif (!file_exists('pages/'.$pg.'.php')) {

echo '<p>Diese Seite wird Ihnen in Kürze zur Verfügung stehen !</p>';

}

} else {

@include ('pages/home.php');

}

?>
</div>
</div>
<br class="clearfloat" />
</div>
</div>
<div id="footer">
<div class="content">Footer</div>
</div>
</body>
</html>
/*------------------------------------------------------------------*/

/*galerie.php*/

<h1>Galerie</h1>
<hr />
<?php
# Verzeichnis
$verzeichnis = "images";

# Flagge (Bildname (Vorzeichen))
$flagge = "pic";

# Dateiendung der Bilder (.gif .png .jpg)
$dateiendung = ".jpg";

// Der Name der Bilder muß geändert werden!!
// Bildname zum Beispiel: bild_x.gif (x = fortlaufende Nummer z.B.: bild_1.gif, bild_2.gif, bild_3.gif)

# Anzahl der Bilder
$bilder = 14;

# Bilderanzeige (mindestens 2) pro Seite
$bilderanzeige = 1;
# Bilder mit/ohne Rahmen (border=0 border=1 border=2)
$bildrahmen = "border=2";
$bildbeschreibung = file("bilder/bildbeschreibung.txt");
$a = 1;
$katalogseite = 1;
$katalogseite = @$_GET["katalogseite"];
echo "\n";
// Seitenlinks erstellen
for($i = 0; $i <= $bilder; $i = $i + $bilderanzeige){
echo "<a href=\"".$_SERVER['PHP_SELF']."?pg=galerie&katalogseite=$i\">".(($i == $katalogseite) ? "<b class=markierung>".$a."</b>" : $a)."</a> \n";
$a++;

}
// Bildanzeige
for ($nummer = $katalogseite; $nummer < ($katalogseite + $bilderanzeige); $nummer++) {
if (file_exists("$verzeichnis/$flagge$nummer$dateiendung")) {
$info = getimagesize("$verzeichnis/$flagge$nummer$dateiendung");
$kbyte = round(filesize("$verzeichnis/$flagge$nummer$dateiendung") / 9024 ,2);
echo "<div class=abstand>\n<img src=\"$verzeichnis/$flagge$nummer$dateiendung\" $info[3] alt=\"\" title=\"".trim($bildbeschreibung[$nummer-1])."\" $bildrahmen><br>\n</div>";
}
}
?>
 
Zuletzt bearbeitet von einem Moderator:

K-Dawg

********

AW: Seitennavigation_ include Problem

Das Problem welches du hast ist Folgendes.

Deine Links in der Navi sehen wie folgt aus "index.php?pg=xxx" in der Galerie dementsprechend "index.php?pg=galerie".

Wenn du nun aber auf die Galerielinks gehen möchtest, hast du nur noch "index.php?katalogseite=x".

in deinem Code hast du:

PHP:
if (isset($_GET['pg']) && $_GET['pg'] != "") {

$pg = $_GET['pg'];

if (file_exists('pages/'.$pg.'.php')) {

@include ('pages/'.$pg.'.php');

} elseif (!file_exists('pages/'.$pg.'.php')) {

echo '<p>Diese Seite wird Ihnen in Kürze zur Verfügung stehen !</p>';

} else {

@include ('pages/home.php');

}

Besonders hervor zu heben:
PHP:
if (isset([COLOR="Red"]$_GET['pg'][/COLOR]) && [COLOR="Red"]$_GET['pg'][/COLOR] != "") {

$pg = $_GET['pg'];

if (file_exists('pages/'.$pg.'.php')) {

@include ('pages/'.$pg.'.php');

}

Da fehlt was, rate was. Ich überlasse es dir das heraus zu finden ,-)

In deine galerie.php steht:
PHP:
// Seitenlinks erstellen
for($i = 0; $i <= $bilder; $i = $i + $bilderanzeige){
echo "<a href=\"".$_SERVER['PHP_SELF']."?[COLOR="Red"]pg=galerie[/COLOR]&katalogseite=$i\">".(($i == $katalogseite) ? "<b class=markierung>".$a."</b>" : $a)."</a> \n";
$a++;
}

Laut dem sollte das Fehlende ja vorhanden sein. Schau mal ob deine Datei welches auf dem Server liegt auch das hat oder nicht.
Greetz
 
A

ana90

Guest

AW: Seitennavigation_ include Problem

Hallo Dawg,
Ich denke , soll nur hier was ändern!
echo "<a href=\"".$_SERVER['PHP_SELF']."?katalogseite=$i\">".(($i == $katalogseite) ? "<b class=markierung>".$a."</b>" : $a)."</a> \n";
$a++;
 

Chriss1987

me.drinkCoffee();

AW: Seitennavigation_ include Problem

Hi,

da du die Datei includest, musst du natürlich bedenken, dass der Pfad von dem Eltern-Script aus gesucht wird und somit das Unterverzeichnis "images" nicht findet, änder mal die Zeile:
PHP:
$verzeichnis = "images";
in
PHP:
$verzeichnis = "pages/images";
dann werden auch die Bilder angezeigt...

Allerdings habe ich zu deiner Seite noch ein, zwei Anmerkungen:

PHP:
$pg = $_GET['pg'];

if (file_exists('pages/'.$pg.'.php')) {

@include ('pages/'.$pg.'.php');

Meiner Meinung nach ist das zu unsicher, niemals Benutzereingaben direkt im "include" verwenden! Ok, du hast die Prüfung drin, ob die Datei existiert... Ich würde es persönlich auf jeden Fall anders lösen, ist aber denke ich Geschmackssache...

Der ander Punkt:
deine galerie.php
- das Script wäre mir persönlich zu undynamisch
-- ich müsste bestimmte Dateinamen verwenden
-- ich müsste die .php-Datei jedesmal ändern, wenn Bilder hinzugefügt oder entfernt werden
- Auf der ersten Seite wird immer ein Bild weniger angezeigt, als eingestellt wurde

mein Vorschlag:
PHP:
<?php
session_start();

## Einstellungen

# Bilder pro Seite
$anzahl_bilder_pro_seite = 1;

# Pfad zu den Bildern
$img_path = "pages/images";

# erlaubte Dateiendungen
$allowed_ext = array(
                        "jpg",
                        "gif",
                        "png",
                    );

## Das Verzeichnis wird einmal pro Sitzung ausgelesen
if (!isset($_SESSION['files']))
    {
        $_SESSION['files'] = array();
        # Verzeichnis auslesen und in SESSION schreiben, wenn die Datei eine erlaubte Dateiendung hat
        foreach (glob($img_path . "/*.*") AS $file)
            {
                $ext = explode(".", basename($file));
                $last_index = count($ext) - 1;
                $ext = strtolower($ext[$last_index]);
                if (in_array($ext, $allowed_ext))
                    {
                        $_SESSION['files'][] = $file;
                    }
            }
    }

# errechnen, wieviele Seitenzahlen angezeigt werden
$seiten = ceil(count($_SESSION['files']) / $anzahl_bilder_pro_seite);

# wenn eine Seitenzahl angeclickt wurde
if (isset($_GET['img_pg']))
    {
        # diese übernehmen
        $curr_img_pg = $_GET['img_pg'];
    }
else
    {
        # sonst Startwert
        $curr_img_pg = 1;
    }

# Seitenzahlen anzeigen
for ($i = 1; $i <= $seiten; $i++)
    {
        if ($i == $curr_img_pg)
            {
                echo "<a href=\"?pg=galerie&img_pg=$i\"><b class=markierung>".$i."</b></a> \n";
            }
        else
            {
                echo "<a href=\"?pg=galerie&img_pg=$i\"><b class=markierung>".$i."</b></a> \n";
            }
    }

echo "<br>\n";

# gewünschte Anzahl an Bildern ausgeben
for ($i = 0; $i < $anzahl_bilder_pro_seite; $i++)
    {
        $curr_file = ($curr_img_pg * $anzahl_bilder_pro_seite) + $i - $anzahl_bilder_pro_seite;
        
        if (isset($_SESSION['files'][$curr_file]))
            {
                # hier kommen deine weiteren Dinge noch rein ;)
                echo "<img src=\"" . $_SESSION['files'][$curr_file] . "\" alt=\"\" title=\"\"><br>";
                echo "<br>\n";
            }
    }

## debugg (nur zum Testen & Überprüfen)
print_r($_SESSION);
unset($_SESSION['files']);

?>

Schöne Grüße aus dem Sauerland!
Chriss
 
A

ana90

Guest

AW: Seitennavigation_ include Problem

Hallo Chriss
Also es hat geklappt!

Super!!! :) Vielen Dank, frohe Weihnachten und schöne Feier:)

Ana
 
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

Statistik des Forums

Themen
118.565
Beiträge
1.538.066
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben