tschulian Geschrieben 23. Oktober 2012 Geschrieben 23. Oktober 2012 Guten Morgen Leute, bevor wieder dumme Sprüche kommen bezüglich "Suchfunktion, Google usw." - Ich habe schon gesucht, und leider bis auf dhtml, was nicht dem entspricht was ich mir vorstelle, nichts gefunden! Also beschränkt euch darauf, mir etwas zu helfen... So nun zu meinem Anliegen... Ich hab vor kurzem von einem Kollegen die Aufgabe übernommen und eine eig. schon fertige Homepage (auch auf PHP und HTML Basis) zu verwalten. PHP war ein komplett neues Gebiet für mich - hab mich aber jetzt schon ziemlich gut eingelebt. Wollte jetzt um mal selbst eine Webseite zu erstellen Anfangen ein HTML Grundgerüst zu bauen. 10 Unterseiten erstellt, auf der Hauptseite verlinkt und schnell fiel auf, dass wenn ich auf einer der Unterseiten bin, ich alle anderen gleichermaßen einbinden muss ... Das ist ein erheblicher Wartungsaufwand den ich gerne vermeiden möchte. Auf der Seite von meinem Kollegen funktionierte das ja auch alles ohne Probleme... Was mir aber aufgefallen ist, dass bei der Seite (ich nenne sie jetzt mal schlicht www.beispiel.de) von meinem Kollegen in der URL Leiste folgendes Stand wenn ich beispielsweiße auf den Unterpunkt "Download" gedrückt habe www.beispiel.de/?download Im Quelltext selbst stand print "<a href='?download'>zu den Downloads</a> . "; Worauf bezieht sich denn dieses "?" vor dem download?! Und wie kann ich bei meiner Webseite erreichen, dass ich wie auf der Seite meines Kollegen, alles nur in eine index.php Datei schreibe, und sich die Inhalte der Unterpunkte sich zwar je nach Klick und Auswahl verändern - aber das Grundaussehen der Webseite immer vorhanden bleibt? Nochmal ein kleines Beispiel: Auf der Webseite befindet sich z.B oben rechts eine kleine Uhr, und ein Statusvermerk der Loginserver und ein Banner. Klick ich nun auf Downloads oder News ändert sich in der mitte der Seite der Inhalt, Download-Links und Newseinträge werden dann angezeigt, aber alles außen rum bleibt haargenau identisch. Ich hoffe mir kann jemand helfen .... Zitieren
computerjan Geschrieben 23. Oktober 2012 Geschrieben 23. Oktober 2012 Die Seite deines Kollegen funktioniert genauso wie du das ein paar Zeilen weiter unten geschrieben hast Er hat eine PHP-Datei - sagen wir mal einfacherweise - index.php. Die ruft er mit verschiedenen Parametern auf. Man kann auch mehrere Parameter verwenden wenn man es braucht. Die Parameter sagen dem Skript meistens was es eigentlich machen soll. Hier in dem Fall lädt es aus der Datei download.txt einen Text und zeigt ihn auf der Seite an. Da sind wir auch schon direkt bei dem Thema was du weiter unten angesprochen hast...wenn du eine php-Datei verwendest die nur den Inhalt immer neu lädt kannst du in der PHP-Datei dein Aussehen oder deine kleine Uhr definieren und dann je nachdem welcher Parameter oben nach dem Fragezeichen steht den Seiteninhalt laden. Beispiel: https://www.google.de/search?q=test&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a An einer Google-Suche siehst du, dass du auch Google ein paar Parameter zur Verarbeitung "mitgibst". Das fettgeschriebene ist z.B. der Suchbegriff. Der Server liest die Parameter dann aus und sucht das Wort im Index. Zitieren
flashpixx Geschrieben 23. Oktober 2012 Geschrieben 23. Oktober 2012 Guten Morgen Leute, bevor wieder dumme Sprüche kommen bezüglich "Suchfunktion, Google usw." - Ich habe schon gesucht, und leider bis auf dhtml, was nicht dem entspricht was ich mir vorstelle, nichts gefunden! Das musst Du Dir aber anhören, denn es ist leicht zu finden: Hypertext Transfer Protocol PHP: $_GET - Manual Zitieren
catmoney Geschrieben 25. Oktober 2012 Geschrieben 25. Oktober 2012 (bearbeitet) @tschulian Mit dem ? werden Parameter an die Url angehängt, in dem Fall heißt der Parameter "download", besitzt aber keinen Wert. Um den Parameter z. B. bei "domain.de/?download" in PHP auszuwerten, kannst du folgendes schreiben $param = array_pop(array_keys($_GET)); Wegen der Sache mit dem "Neuladen" von einem Teilbereich einer Website ohne die ganze Website neu zu laden, heißt das Zauberwort "Ajax" :-) Viele Grüße Catmoney Bearbeitet 25. Oktober 2012 von catmoney Zitieren
Crash2001 Geschrieben 25. Oktober 2012 Geschrieben 25. Oktober 2012 [...]Hier in dem Fall lädt es aus der Datei download.txt einen Text und zeigt ihn auf der Seite an. [...]Öööhm - also ehrlich gesagt habe ich keine Ahnung, wie du darauf kommst, dass das ganze aus einer Datei "download.txt" eingebunden wird. Dazu steht absolut nichts in dem Text. Das kann eine .inc-Datei (Include-Datei) sein, kann eine Datei mit jeglicher gewünschter Endung oder auch ohne Endung sein, oder aber es kann in der Hauptdatei selber schon drin stehen, was angezeigt werden soll. Genauere Aussagen dazu kann man so nicht geben ohne den Quelltext zu kennen. Vielleicht sollte man hier noch hinzufügen, dass es auch noch andere Möglichkeiten der Übergabe ans Script gibt und nicht nur GET, sondern auch noch POST und z.B. SESSION. Diese bieten teils doch einiges mehr an Möglichkeiten und man sieht sie nicht in der URL. HIER mal etwas mehr dazu. Zitieren
catmoney Geschrieben 25. Oktober 2012 Geschrieben 25. Oktober 2012 @Crash2001 Hast natürlich Recht, ein kleines Codebeispiel seitens tschulian wäre sicherlich auch nicht schlecht ;-) Zitieren
lilith2k3 Geschrieben 25. Oktober 2012 Geschrieben 25. Oktober 2012 Vielleicht sollte man hier noch hinzufügen, dass es auch noch andere Möglichkeiten der Übergabe ans Script gibt und nicht nur GET, sondern auch noch POST und z.B. SESSION. Diese bieten teils doch einiges mehr an Möglichkeiten und man sieht sie nicht in der URL. Ja, vorallem verwirrt es den Benutzer, wenn er mal wieder auf Seite ABC/abc gehen will, und nicht da landet, wo er eigentlich wollte, weil irgend ein Schlaukeks mal wieder was per "POST" haben wollte, was natürlich im Falle von Seitenrouting in meinen Augen ein DON'T darstellt. Auch immer wieder sehr beliebt: Ich baue mir eine WebApp, wo alles auf einer Seite stattfindet und cool dynamisch Web20AJAXisGeil gehalten ist und der Benutzer mit dem erlernten Navigieren im Web gegen eine Wand läuft, weil der Zurück-Knopf im Browser was anderes macht, als erwartet. Ich finde es keine gute Idee, ein Seitenrouting mit Queryparametern zu machen; zumindest finde ich es tolerabel, da es als Bookmark genutzt werden kann. Alles andere finde ich bedenklich. Und HTTP-Sessions sind verbotene Früchte, die bei falschen Gebrauch Übelkeit verursachen. Zitieren
tschulian Geschrieben 25. Oktober 2012 Autor Geschrieben 25. Oktober 2012 Erstmal WOW! Super Antworten, kein geflame und noch viel bessere Beratung Danke an euch Leute! Also, Codebeispiel is eher schwierig weil ich ja nicht weiß, was wie und wo zusammengehört... aber hier n paar Teile davon... die Haupt index.php fängt z.B so an <?php error_reporting(0); session_start(); include("modules/include/Config.php"); include("modules/include/SqlConn.php"); ?> if(!isset($_SESSION['loggedin'])) { print " <div class='content'> <form action='user/login.php' method='POST'> <table border='0'> <tr> <td><input onfocus='clearText(this);' type='text' name='username' value='username'></td> </tr> <tr> <td><input onfocus='clearText(this);' type='password' name='password' value='password'></td> </tr> <tr> <td><input style='width: 46px;height:20px;font-size:10px;color: #fff;font-weight: bold; font-family: Tahoma;text-transform: uppercase;' type='submit' name='submit' value='Login'> Not a user yet? <a href='?register' style='color:#D38132;'>REGISTER NOW!</a></td> </tr> </table> </form> </div> "; } else { Also hier sieht man schonmal wie von euch angesprochen des Including und session ... Nur ists für mich sehr schwer sich in nem Code den ich nicht geschrieben habe rauszufinden welche Elemente sich auf was beziehen ... Neben der index.php hab ich noch eine "pager.php" im root verzeichnis... <?php if (isset($_GET['logout'])){ header("location:/user/logout.php"); } else if (isset($_GET['register'])){ include("user/register.php"); } else if (isset($_GET['regComplete'])) { include("user/regComplete.php"); } else if (isset($_GET['failedLogin'])) { include("err/failedLogin.php"); } else if (isset($_GET['invalidData'])) { include("err/invalidData.php"); } else if (isset($_GET['vote'])) { include("modules/vote.php"); } else if (isset($_GET['download'])) { include("modules/download.php"); } else if (isset($_GET['pwMissmatch'])) { include("err/pwMissmatch.php"); } else if (isset($_GET['noData'])) { include("err/noData.php"); } else if (isset($_GET['pwChange'])) { include("user/changePassword.php"); } else if (isset($_GET['pwChanged'])) { include("err/pwChanged.php"); } else if (isset($_GET['notLoggedIn'])) { include("err/notLoggedIn.php"); } else if (isset($_GET['silkCharge'])) { include("modules/donate.php"); } else if (isset($_GET['donateDone'])) { include("user/paypal.php"); } else if (isset($_GET['GMAddSilk'])) { include("modules/AddSilk.php"); } else if (isset($_GET['GMSilkAdded'])) { include("err/GMSilkAdded.php"); } else if (isset($_GET['NameExists'])) { include("err/NameExists.php"); } else if (isset($_GET['GMAddNews'])) { include("user/GMAddNews.php"); } else if (isset($_GET['newsSuccess'])) { include("err/newsSuccess.php"); } else if (isset($_GET['eventInfo'])) { include("modules/eventInfo.php"); } else if (isset($_GET['payments'])) { include("modules/payments.php"); } else if (isset($_GET['alreadyVoted'])) { include("err/voteDone.php"); } else { include("modules/news.php"); } ?> Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.