kostenloser Webspace werbefrei: lima-city


Variablen an Unterprogramme übergeben und Rückgabe

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    hypnoberatung

    hypnoberatung hat kostenlosen Webspace.

    Ich habe mich schon durch alle möglichen Dokumentation durchgelesen, aber ich finde einfach keine funktionierende Lösung. Ich hoffe nun, daß noch einer der PHP-cracks helfen kann.
    Ich möchte gerne meine Homepage mit PHP modular aufbauen, so wie es auch mit anderen Sprachen gemacht wird. Heißt nicht alle Routinen in die Index.php mit einbauen, sondern Werte übergeben, abarbeiten lassen und nur den verarbeiteten Wert zurückerhalten.
    Im Moment hänge ich da gerade am Aufbau der Navigationsleiste.
    Ich versuche über die Navigation eine Variable auswahl an das Programm config.php zu übergeben.

    <dt><a href="INC/config.php?auswahl='home'">Home</a></dt>
    <dd><a href="INC/config.php?auswahl='ich'" title="Über mich">Über mich</a></dd>

    Normalerweise muß ich in PHP ja Variablen nicht vorher deklarieren. Es macht auch keinen Unterschied ob ich es mache oder nicht.

    In der Config.php soll nun die Variable verarbeitet werden und das Ergebnis soll dann in der Index.php angezeigt werden.

    Die Config.php:
    <?php
    echo $auswahl;
    switch ($_GET['auswahl']) :


    case 'home':
    $content = file_get_contents('home.php');
    break;

    case "ich":
    $content = file_get_contents('ich.php');
    break;
    default:
    $content = file_get_contents('home.php');

    endswitch;
    return $content;
    ?>
    Ich bekomme folgende Fehlermeldung:
    Notice: Undefined variable: auswahl in P:\Homepage\xampp\htdocs\Homepage\INC\config.php on line 2
    Nehme ich das Echo raus erhalte ich lediglich eine leere weiße Seite ohne jegliche Fehlermeldung :-(
    Ich weiß echt nicht mehr weiter. Hab schon so viel durchprobiert und Skripte und Manuals gewälzt, daß ich nu weniger weiß als vorher. Scheinbar wird der Wert erst gar nicht an die config.php übergeben.

    Wäre für Hilfe sehr dankbar.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. <?php
    $auswahl=$_GET['auswahl'];
    echo $auswahl;
    switch $auswahl; :
    {
    case 'home':
    $content = file_get_contents('home.php');
    break;
    case "ich":
    $content = file_get_contents('ich.php');
    break;
    default:
    $content = file_get_contents('home.php');
    }
    
    return $content;
    ?>


    Beitrag zuletzt geändert: 3.11.2010 18:52:25 von geromel
  4. Autor dieses Themas

    hypnoberatung

    hypnoberatung hat kostenlosen Webspace.

    Super, vieeeelen Dank!
    Daß ich die Variable noch mal übernehmen muß, hatte ich nirgends gesehen, oder immer übersehen. Das funktioniert so weit, hab auch nooch ein paar kleinere Fehler dabei gefunden. Über Echo, kann ich mir jetzt den Inhalt von $content anzeigen lassen und er ist auch korrekt.
    Was aber immer noch nicht funktioniert ist die Rückgabe an die Index.php. Es bleibt nach Abarbeitung des config.scripts einfach eine leere weiße Seite.
    Ich habe die Datei navigation.php über inlude in die index.php eingebunden. Kann das evtl das Problem verursachen? bzw. kann ich angeben, daß $content direkt an die index.php zurückgegeben wird und muß ich diese nochmals aufrufen damit der enue content eingebunden wird? Ich habe da echt massive Verständnisproblem, was PhP anbelangt.
    Und noch einmal vielen Dank für die Hilfe.
  5. Du musst zwar die Variablen nicht deklarieren, aber eine Variable ohne Zuweisung auszugeben war wohl doch etwas zu viel.
    Wenn $content an die index.php zurückgegeben wird, dann musst du diese natürlich nochmal irgendwo aufrufen!

    Beitrag zuletzt geändert: 3.11.2010 19:23:17 von geromel
  6. Autor dieses Themas

    hypnoberatung

    hypnoberatung hat kostenlosen Webspace.

    Die $content wird ja in der index.php abgefragt:
    <?php
    echo $content;
    ?>
    allerdings wird nach Abarbeitung der config.php die Kontrolle nicht wieder an die index.php zurückgegeben, sondern ich erhalte nur den Bildschirm der config.php. die soll eigentlich nur zur verarbeitung dienen und gar nicht für den user sichtbar in Erscheinung treten. Möchte auf diese Weise den content der Seite je nach auswahl des benutzers dynamisch ändern.
    Sollte es noch mal genauer schildern: Am Anfang der Index.php wird der Variablen der Inhalt der home.php zugewiesen, damit dieser als erstes auf der Seite sichtbar ist. danach ist die Navigation.php über include eingebunden und nach der navigation kommt dann die Anzeige von $content. In der dann je nach userauswahl der Inhalt angezeigt werden soll.

    Beitrag zuletzt geändert: 3.11.2010 19:27:21 von hypnoberatung
  7. Ganz versteh ich das grad net, kannst du nicht mal den Code der index.php posten?
    Und es wäre übersichtlicher, wenn du um den Code den Code-Tag (aus der Menüleiste des Beitrags) legen würdest.
  8. Autor dieses Themas

    hypnoberatung

    hypnoberatung hat kostenlosen Webspace.

    Ja klar, gerne:

    <!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" xml:lang="en" lang="en">
    <head>
      <meta name="Keywords" content="Hypnose, Beratung, Rauchentwöhnung" />
      <meta http-equiv="Content-Style-Type" content="text/css">
      <title>Homepage Hypnoberatung</title>
      <link href="CSS/test.css.php" media="screen" rel="stylesheet" type="text/css" />
      <link rel="stylesheet" media="print" href="/CSS/druck.css">
      <link rel="stylesheet" media="aural" href="/CSS/speaker.css">
    <style>
    
    </style>
    </head>
    <body>
    <?php
      $content= file_get_contents('./INC/home.php');
    ?>
    
    <div id="fixed">
       <ul id="menu">
        <?php
            include ('navigation.php');
        ?>
    
       </ul>
    </div>
    
    <div id="scroller">
    
      <div id="content">
    
        <div id="Seite">
          <h1>
            <?php
              echo '<img id="header" src="Grafik/Kopfzeile4.png" alt="" title="" align="center" />';
            ?>
          </h1>
          <div id="Inhalt">
    
                      <?php
                          echo $content;
                      ?>
    
    
    
      </div>
    
    </div>
    
    </div>
      <p id="Fusszeile">Webdesign by Hypnoberatung</p>
    </div>
    <div>
    <?php
    echo '<img id="background" src="Grafik/Bild6.png" alt="" title="" />';
    ?>
    </div>
    </body>
    </html>
  9. Könnte daran liegen, dass deine Dateien nicht ich.php sondern ich.html heißen? Ich versuch überhaupt diese Seiten hier auf lima zu finden, keine Chance, ich glaube der Hund liegt irgendwo da begraben.

    Zumindest hab ich, wenn ich deine navigation.php aufrufe nur Links auf html-Dateien.

    Beitrag zuletzt geändert: 3.11.2010 19:45:10 von geromel
  10. Autor dieses Themas

    hypnoberatung

    hypnoberatung hat kostenlosen Webspace.

    nein, es gibt sowohl die ich.php als auch die home.php. Ich bekomme sie am Ende der config php wenn ich
    echo $content; schreibe auch völlig korrekt angezeigt, nur halt nicht innerhalb der index.php sondern auf einer leeren weißen Seite, nämlich der config.php.
    Derzeit steht diese Arbeitsversion auch nicht hier, sondern ich arbeite mit localhost, also meinem Testapache. Ich lade die Seiten immer erst hoch, wenn sie funktionieren. Aber unter hypnoberatung.lima-city.de/index.php liegt eien vorabversion, allerdings ist da der code an dem ich derzeit arbeite noch nicht eingefügt.
    Das mit dem HTM liegt daran, daß ich als erstes eine reine HTML/CSS-Version gemacht habe um das allgemeine Gerüst erst mal zu haben und selbst zu sehen, wie es aussieht. Es gibt auch noch eine index.html, wenn du nicht mit index.php aufrufst bekommst du nur die zu sehen.

    Fällt niemandem mehr etwas zu dem Problem ein? Ich verzweifel hier allmählich

    Beitrag zuletzt geändert: 4.11.2010 18:28:16 von hypnoberatung
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!