• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Pfad in Variable per Link übergeben...

DeathBoy

Neues Mitglied
Hi,

habe folgendes Problem:

meine Links auf meiner Homepage sehen folgendermaßen aus - z.B.: http://www.url.de/index.php?show=news

hier liegt eine news.php in der ich ein newsscript per "include" eingefügt habe. Das Script liegt ebenfalls im Unterverzeichnis "news". Jetzt habe ich das Problem damit das Newsscript ebenfalls variablen in den Links mitsendet, das heißt ich müsste die Links im Script anpassen... nur wie???

zum Beispiel wenn ich mit Kommentare zu einen Beitrag ansehen möchte, dann habe ich folgenden link: news/comments.php?id=1

wie integriere ich das jetzt in meinen ursprünglichen link? Habe das hier versucht, funktioniert aber nicht. Irgendwie wird hier das Verzeichnis "news" nicht angesprochen: http://www.url.de/index.php?show=news/comments.php&id=1
 
Ich versteh die Frage nicht wirklich. Wie sieht denn der Quellcode dazu aus?

argh... wie erkläre ich das am besten?!?
also im unterverzeichnis "news" liegt auf den server ein newsscript das mit variablen im link arbeitet. Wenn ich das aber jetzt per include einfüge, dann erscheint zwar die newsseite, aber wenn ich die links anklicke dann passen die nicht weil die links sozusagen das unterverzeichnis nicht beachten...
 
Also Du hast eine Datei news/news.php.
Und eine Datei index.php.
Wenn Du index.php aufrufst, wird news/news.php included und dadurch Inhalte (News-Liste?) angezeigt.
In den Inhalten hast Du Links die zu Newdetail-Ansichten (?) führen, oder?

Wenn ja, dann müssten diese Links theoretisch (!) zur index.php führen und die News-ID (oder was auch immer Du zur Identifizierung der News-Details (?) verwendest) an die Funktionen aus der news/news.php übergeben, welche dann die Ausgabe entsprechend anpassen.

Du siehst: ohne Quellcode total chaotische Analyse (und jetzt kommt sicher der Quellcode ohne Rücksicht auf meine Vermutungen ;) ).
 
also.... es so ähnlich wie du vermutest, außer das bereits die index schon variablen mitsendet...
hier mal die homepage um der es geht (soll keine werbung sein) http://www.scheibentönung-sokol.de
ähm...ja... hier mal etwas quellcode:


/index.php - diese sendet bereits eine variable mit via index.php?show=home um z.b die startseite anzuzeigen. Wenn ich dann im Menü die "News" anwähle dann wären wir bei index.php?show=news
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
         <title>..:: Scheibentönung Sokol</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <meta name="author" content="breen<" />
    <meta name="keywords" content="breen<" />
    <meta name="description" content="breen<" />
    <meta name="robots" content="all" />

    <style type="text/css" title="currentStyle" media="screen">
        @import "./css/global.css";
    </style>

<!-- Rechtsklicksperre -->
<script language="JavaScript">;
<!--
function click(evt) {
if (navigator.appName.indexOf("Microsoft") != -1){
if (event.button==2) {
alert('© by scheibentönung-sokol.de');
return false
};
};
if (navigator.appName.indexOf("Netscape") != -1) {
if ( evt.which == 3 ) {
alert('© by scheibentönung-sokol.de');
return false
};
};
};
if (navigator.appName.indexOf("Netscape") != -1) {
document.captureEvents( Event.MOUSEDOWN )
};
document.onmousedown = click;
// -->
</script>
<!-- Rechtsklicksperre Ende -->


    <link rel="icon" href="favicon.ico" type="image/x-icon">
    <link href='http://fonts.googleapis.com/css?family=Asap:400,700' rel='stylesheet' type='text/css'>
</head>

<body>
<div id="wrapper">
    <div id="top">
        <h1 class="logo">Scheiben<span class="green1">tönung</span> Sokol</h1>
        <ul id="topnavi">
            <li><a href="index.php?show=home">HOME</a></li>
            <li><a href="index.php?show=news">NEWS</a></li>
            <li><a href="index.php?show=kontakt">KONTAKT</a></li>
    <li><a href="index.php?show=anfahrt">ANFAHRT</a></li>
            <li><a href="index.php?show=impressum">IMPRESSUM</a></li>
        </ul>
    </div>
    <div id="header">
        <img src="img/header.jpg" alt="" width="1000" height="183" />
    </div>
    <div id="main">
        <div id="left-part">
            <ul id="subnavi">
                <li><a href="index.php?show=home">:: Home</a></li>
                <li><a href="index.php?show=service">:: Service</a></li>
                <li><a href="index.php?show=bilder">:: Bilder</a></li>
                <li><a href="index.php?show=videos">:: Videos</a></li>
                <li><a href="index.php?show=preise">:: Preise</a></li>
                <li><a href="index.php?show=gb">:: Gästebuch</a></li>
            </ul>
        </div>
        <div id="right-part">

<!-- CONTENT / Hauptinhalt -->
  <div id="content">

<!-- PHP Code um den CONTENT der jeweilgen besuchten Seite anzuzeigen! -->
<?
define('ROOT_PFAD', './');

if (isset($_GET['show']) && $_GET['show'] != "") {
$show = preg_replace ("/[^0-9a-zA-Z_]/", "", $_GET['show']);
}
elseif (isset($_POST['show']) && $_POST['show'] != "") {
$show = preg_replace ("/[^0-9a-zA-Z_]/", "", $_POST['show']);
}

if(!isset($show)) {
$show = "home.php";
} elseif (isset($show) && !file_exists(ROOT_PFAD."/".$show .".php")) {
$show = "error.php";
} elseif (isset($show) && file_exists(ROOT_PFAD."/".$show .".php")) {
$show = "$show.php";
}
include $show;
?>

</div>

<!-- Footer / Fußzeile -->
        </div>
    </div>
    <div id="footer">
        <p>&copy; Copyright 2013 <a href="http://www.deathboy.de">DeathBoy.de</a></p>
    </div>
</div>
</body>
</html>



news.php - diese liegt im selben verzeichnis und includet die hauptseite des news-scriptes, dies wiederrum im verzeichnis /news/news.php liegt:
PHP:
<div class="post box" id="post-2588">
    <h2>:: News</h2>
      <div class="artikelmeta">

<? include('./news/news.php'); ?>

      </div>
    </div>


/news/news.php - das wäre die hauptseite von newsscript, bei denen die links nicht mehr funktionieren wenn ich es über die homepage aufrufe. wennn ich es über den direkten link aufrufe funktioniert es ja...
PHP:
<?php // news.php

include('config.inc.php');     // DB-Verbindung einbinden

// Sofern Kategorie angegeben
if(isset($_GET['cat'])){

    $where = "WHERE cat = '".clean_it($_GET['cat'])."'";

    echo "<h2 class=\"blue\">Abgelegtes unter '".clean_it($_GET['cat'])."'</h2>";

    $pfad = "news.php?cat=".urlencode(clean_it($_GET['cat']))."go=";

}else{

    $pfad = "news.php?go=";
}

// News auslesen
$abfrage = mysql_query("SELECT id FROM news ".$where."");
$total = mysql_num_rows($abfrage);                     // Anzahl aller Zeilen in DB ermitteln

// ---------------------- Seitennavigationsdaten --------------------------------------------------

$per_page = "5";              // Anzahl der News die Pro Seite ausgegeben werden sollen
$p = "5";                  // Anzahl der Links die in der Seitenavigation ausgegeben werden

isset($_GET['go']) ? $go = clean_it($_GET['go']) : $go = ''; // Variable definieren

// Blaetterfunktion aufrufen
list ($start, $ende) = get_navi($go, $total, $pfad, false, $per_page, $p);
// ---------------------- ENDE Seitennavigationsdaten----------------------------------------------

$abfrage = mysql_query("SELECT id, autor, title, cat, news, DATE_FORMAT(date, '%d.%m.%Y') AS datum FROM news ".$where." ORDER BY date DESC LIMIT $start,$ende");

// News ausgeben ausgeben
while($row = mysql_fetch_object($abfrage)){

   // Anzahl der Kommentare ermitteln
    $comments = mysql_query("SELECT id FROM comments WHERE news_id='$row->id'");
    $com_num = mysql_num_rows($comments); // Anzahl der Kommentare

    echo "<div class=\"news\">\n";
    echo "<h2>".$row->title."\n <small>verfasst von ".$row->autor." am ".$row->datum." | \n";

    if(!empty($row->cat)){  // sofern Kategorie angegeben
        echo "abgelegt unter: <a href=\"news.php?cat=".urlencode($row->cat)."\">".$row->cat."</a> | \n";
    }
    echo "<a href=\"comments.php?id=".$row->id."\">Kommentare ".$com_num."</a></small>\n </h2>";

    if(isset($_GET['cat'])){    // Kategorieseite nur einen Auszug ausgeben
        $max_show = "250"; // max 450 Zeichen anzeigen

        if (strlen($row->news) > $max_show){ // sofern $news mehr als 450 Zeichen enthaelt
            echo "<p>".bbcode(substr($row->news, 0, strpos($row->news, ".", 120 )+1 ))."\n";
            // Ab 150 Zeichen nach nem punkt suchen und alles das was davor enthalten ist ausgeben

            echo "<a href=\"comments.php?id=".$row->id."\" class=\"right\">read more...</a>\n";
            echo "<br style=\"clear: right;\" /></p>"; // link ausgeben
        }else{ // komplett ausgeben
            echo "<p>".bbcode($row->news)."</p>";
        }
    }else{
        echo "<p>".bbcode($row->news)."</p>";
    }
    echo "</div>\n";

} // close while

// -------------------------------------- Seitennavigation ausgeben ----------------------------

get_navi($go, $total, $pfad, true, $per_page, $p);

// -------------------------------------- Seitennavigation ende --------------------------------

?>
 
Zurück
Oben