Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

else if($_GET['action'] ????

Hallo, ich kenne mich nicht viel mit php aus aber möchte zur zeit ein kleines script verändern und habe dabei ein problem.

Ziel soll es sein aber der index Seite eine tabelle mit daten auszugeben.

wenn ich aber den befehl in die index seite schreibe zeigt er mir die tabelle an, gibt aber keine Daten heraus.

Zur Zeit Funktioniert es nur wenn ich einen einen link anklicke wo in der index seite (index.php?include=misc&action=stats) dieses include steht.

Ich habe mich ein wenig kundig gemacht und gefunden dass es an folgendem script liegt:


Code:                   In Zwischenablage kopieren (nur IE)
1">

und zwar genau an diesem befehl: } else if($_GET['action'] == "stats") {

Wie kann ich dem script sagen dass er die daten sofort in der index seite laden soll.


Endschuldigt bitte für die schlechte beschriebung ist schwerer zu erklären als man denkt :-)
Hier gehts zum Orginal Eintrag "else if($_GET['action'] ????" im Forum

Antworten

Ich versteh keinen Meter ehrlich gesagt.
Vielleicht suchst du ja nur [doc]include[/doc]


2.

nein, es ist auch doof zu erklären, also nochmal:

es ist eine ganz einfache seite wo in der mitte eine tabelle angezeigt wird: [ Name-Alter-Ort ]
Darunter sollen nun die daten aus der Datenbank ausgeselen werden also: (Peters- 20 -köln)

Sie soll dierekt auf der Index seite in der mitte angezeigt werden, die tabelle wird auch angezeigt jedoch die Daten nicht aus der Datenbank gelesen.

Jedoch liest er die Daten aus, wenn ich einen link generiere wo ich vom pfad "http://localhost/index.php" auf den Pfad "http://localhost/index.php?include=misc&action=stats" umgeleitet werde, jetzt wird mir die Tabelle mit den dazugehörigen daten aus der Datenbank auf gelistet.

Das ist der Code wo die daten aus der Datenbank gelesen werden:


Code:                   In Zwischenablage kopieren (nur IE)
2">

auf der Index seite habe ich die html datei {TPL['STATS']} eingebunden welche die Tabelle erstellt. in dieser html datei werden die daten eingebunden aus der html datei {TPL['STATS_BIT']}


Warum funktioniert es nicht wennn ich die "Stats" auf der index seite angezeigt bekommen will, sondern nur wenn ich über den link gehe.

[color="green"]Bitte benutzte die PHP Tags
Grüsse Foggy[/color]


3.

dass heißt ich möchte nicht dass bei der action von "stats" (else if($_GET['action'] == "stats") {) die daten geladen werden sondern sie direkt auf der hauptseite geladen werden


*sorry für den doppelpost*


4.

Vermutlich musst du die Variablen durch die Template Klasse ersetzten lassen. Mehr versteh ich irgendwie immer noch nicht. Da ich auch die Klasse nicht kenne.
Ebensowenig kenne ich die MySQL Klasse die du da Benutzt.
Falls die Methode query keine MySQL Errors ausgibt würd ich die dahingehend verändern, dann kriegst du nämlich mal eine Fehlermeldung falls der Query fehlschlägt.
Desweiteren an den Anfang des Scriptes einfach mal
Code:                   In Zwischenablage kopieren (nur IE)
3">

schreiben dann spuckt auch PHP evtl etwas mehr an Meldungen aus ;)

Und kleiner Tipp am Rande:
Richtig debuggen
1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
3. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
4. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
5. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
6. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
7. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

Die Ausgaben per echo kann man sich ersparen, in dem man einen Debugger benutzt.


Hier gehts zum Orginal Eintrag "else if($_GET['action'] ????" im Forum
 
phpforum.de | Impressum