| 

.NET C# Java Javascript Exception

2
Ich entwickele gerade ein E-Learning-Tutorium. Die Oberfläche besteht aus Webseiten, alle Inhalte kommen von einer Datenbank. Jede Seite wird über PHP mittels einer SQL-Abfrage dynamisch aufgerufen, z,B. mit:
".../nullstellen.php?themaid=3&kapitelid=2&unterkapitelid=4". Die Variablen '...id' werden im PHP-Code per $_GET[] übergeben und ausgewertet.
Auf jeder Seite soll der Nutzer nun die Möglichkeit bekommen, auf der jeweiligen Seite einLesezeichen zu setzen (Diese Lesezeichen sollen nicht im Browser gesetzt werden, sondern auf meiner Webseite stehen). Klickt der Nutzer "Lesezeichen setzen", möchte ich also die korrespondierenden IDs auslesen.
Hier mal Ausschnitt vom Code:
mit:
<li><a href="">Lesezeichen</a></li>
soll das Lesezeichen gesetzt werden(Das könnte aber auch ein Button sein).
Hier soll der Nutzer klicken, damit diese Seite in seine "Lesezeichen" übernommen werden.

In der Navigationsleiste sollen dann die gesetzten Lesezeichen angezeigt werden. Also in etwa so:
<li><a href="#">Meine Lesezeichen</li>
<ul>
<li class="navikapitel">
<a href="nullstellen.php?themaid=3&kapitelid=2&unterkapitelid=4">Nullstellen</a>
</li>
<li class="navikapitel">
<a href="polstellen.php?themaid=3&kapitelid=2&unterkapitelid=5">Polstellen</a>
</li>
</ul>
</li>

Diesen Teil würde ich dann wieder mit PHP implementieren. In der Datenbank ist zu jeder ID eine Webseite angegeben. Ich kann also über die IDs die jeweilige Webseite im href referenzieren. Und gerade dafür brauche ich die IDs.

Ich hoffe, ich habe mich verständlich machen können.
Im Voraus danke ich Euch für Eure Hilfe.
07.11.2011
malihini 21 1 3
Marvin Steppat 4,0k 1 4 8
6 Antworten
2
Hallo,

Du kannst doch einfach bei jedem Seitenaufruf den Link erzeugen (<a href="/lesezeichen.php?seitenId=<?php echo $_GET['seitenId']; ?>">Lesezeichen</a>, die Variable dann, wie alles was vom User kommt, vorher überprüfen) wird der Link angeklickt, dann speicherst du in der Datei lesezeiche.php die SeitenId(s, wieso eigentlich so viele Ids?) in der DB ab.
Ich hoffe, dass ist das was du meintest.
08.11.2011
LiRo 1,3k 1 9
1
Vll noch als zusätzlicher Hinweis: $_GET ist ein array und das heißt du kannst es auch iterieren. So kannst du dir eine Funktion bauen die dir den Link für jede Seite generiert
Nicolai Schönberg 08.11.2011
1
Hallo,

Wie LiRo bereits in dem Kommentar erwähnt hat kannst du den Benutzer danach wieder umleiten, finde ich persönlich aber nicht ganz so schick.

Alternativen:
- Du könntest mit ajax Daten an den Server schicken, der Benutzer merkt dann gar nicht das im Hintergrund noch eine Request / Post gemacht wird. Dann brauchst du nur eine Meldung einblenden wenn das Lesezeichen gespeichert wurde

- Oder du kannst lesezeichen.php als popup öffnen was sich dann automatisch schließt

Nachteil gegenüber einer Weiterleitung wie Liro sie vorgeschlagen hat: Bei beiden alternativen muss der Benutzer in seinem Browser JavaScript erlauben - Je nach Zielgruppe kann das ein Problem sein.

Beste Grüße
09.11.2011
Nicolai Schönberg 2,4k 2 9
1
Du brauchst zu der Lösung von Liro mit dem Umleiten diese Funktion:
http_redirect - docs auf php.net

Von der Idee her läuft es wie folgt, hier zunächst das speichern

  • Benutzer klickt auf deinen generierten Link
  • lesezeichen.php wird als Seite / Popup / ajax request geladen mit den ID-Parametern
  • lesezeichen.php speichert die ID-Parameter als Lesezeichen für den ausführenden Benutzer
  • Da du die ID-Parameter schon weißt, kannst du mit http_redirect einfach auf die aufgerufene Seite umleiten

Und hier der zweite Schritt, wenn ein Benutzer ein Lesezeichen laden möchte. Ich würde eine extra php Seite dafür anlegen:

  • Link generierung: redirect.php?themaid=3&kapitelid=2&unterkapitelid=4
  • Echten link zusammen bauen und an http_redirect übergeben

Codeschnispel gibts nicht, ich trau dir zu das du es selber hinbekommst! :-) Also gutes gelingen.

Grüße
10.11.2011
Nicolai Schönberg 2,4k 2 9
0
Danke für die schnelle Antwort.
Die vielen IDs brauche ich, um die korrekten Daten aus der DB zu laden. In Tabelle thema sind die versch. Themen. Zu jedem Thema gibt es mehrere Kapitel (in Tabelle kapitel), und zu den Kapiteln meisten noch Unterkapitel (in der Tabelle unterkapitel). ZB Themen: "Funktionen", "Logik", "Zahlenmengen",.... Zum Thema "Funktionen" gibt es die Kapitel "gebrochenrationale Funktionen", "Exponentialfunktionen", "Poynomdivision",... Zum Kapitel "gebrochenrationale Funktionen" gibt es die Unterkapitel "Erklärung", "Nullstellen", "Definitionslücken",... Der Text steht in der Tabelle Inhalt und wird nun über die jeweiligen IDs per SQL abgefragt und angezeigt. Das funktioniert prima.
Wie von Nicolai erwähnt, baue ich mir mit php die Seitenlinks auf.
Ich habe alle Inhalte in der DB und alles was auf der Seite dargestellt wird, wird dynamisch über php und sql abgefragt und dargestellt.

So richtig verstehe ich die Antwort von LiRo nicht. Wenn ich diesen Link erzeuge, wird der Nutzer auf die Seite "Lesezeichen.php" weitergeleitet. Das soll nicht sein. Ich möchte lediglich die IDs der Seite auslesen, damit ich die weiterverarbeiten kann. Vielleicht muss es gar kein Link sondern ein Button sein?
08.11.2011
malihini 21 1 3
Wo ist das Problem? Dann leitest du halt die Anfrage einfach auf die ursprüngliche Seite wieder um, sollte ein User auf die lesezeichen.php-Datei klicken.
LiRo 08.11.2011
0
Könntest Du mir das bitte mit einem Codeschnipsel näher erklären?
09.11.2011
malihini 21 1 3
0
Ok und danke.
Werd' mich ransezten.
10.11.2011
malihini 21 1 3

Stelle deine Php-Frage jetzt!