PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Seitenwechsel bei If Anweisung...


andreaskf
14.03.2003, 19:55:01
Hallo @ all.

Bislang bin ich mit meinem lernen sehr gut voran gekommen. Danke nochmals für die Hilfe mit dem Buchtipp. Doch nun habe ich bereits die erste Anfrage.....

Bei einer if Anweisung soll fals das Ergebnis = 0 ist, die Seite gewechselt werden.

Beispiel:

if ($i = 0)
??????Seitenwechsel zu test.php

Wer kann mir die Betreffende Zeile schreiben?

mfG andreaskf

Yzerman
14.03.2003, 20:03:15
if ($i == 0) {
header ("location: test.php");
}

Das funktioniert aber nur, wenn vorher nichts an den Browser gesendet wird!

andreaskf
14.03.2003, 21:03:40
Danke Yzerman,

aber es werden vorab bereits Daten gesendet.

Gibt es denn keinen Befehl der dem von <a href.....> ähnelt. Nur mit dem Unterschied, das hier kein Link angezeigt werden soll, sondern das die Seite automatisch wechselt?

Aus dem HTML kenn ich die Funktion der Zeitgesteuerten Weiterleitung. Könnte man dieses evtl. ins echo einsetzen? Wenn ja, wie muß die Zeile dann aussehen?

mfG andreaskf

Yzerman
14.03.2003, 21:13:15
für diesen Fall ist das natürlich die richtige Lösung:

echo "<meta http-equiv="refresh" content="0; URL=test.php>"";

|Coding
14.03.2003, 21:14:23
nein, dafür gibt es keine andere funktion, aber du könntest deine ausgabe verschieben oder die if()-anweisung anders wo einsetzen.

andreaskf
14.03.2003, 21:20:36
Fast geschafft....

Nun wechselt er zwar zu der besagten Seite, aber es erscheint
folgender Fehler:


FORBIDDEN
You don't have permission to access /demo/test.php> on this server.

Wassoll das denn nun wieder heissen?????

(apache und mysql laufen)

andreaskf

|Coding
14.03.2003, 21:24:23
die datei hat die falschen rechte. setze die rechte mal auf 644, dann sollte es gehen.

Yzerman
14.03.2003, 21:25:21
Hmm, entweder Du hast das Verzeichnis mit einem .htaccess-File geschützt, oder Deine Zugriffsrechte für den Ordner bzw. das File sind nicht ausreichend.
Hast Du ein Linux oder Windows-System bei Dir am Laufen?

andreaskf
14.03.2003, 21:38:17
Also, habe Windos am laufen, da ich kein Linux besitze. Ansonsten sind alle Zugriffsrechte offen.

andreaskf

Yzerman
14.03.2003, 21:41:58
Ich besitze zwar Linux, hab's auch installiert, aber hab meine WLAN-Karte noch nicht ans Laufen gekriegt (für DSL), also bleibt mir auch nur Windows.

Kannst Du denn die test.php direkt über den Browser starten (http://localhost/..../test.php)?

andreaskf
14.03.2003, 21:45:33
Bei direktem Aufruf klappt es....

Die Rechte hab ich auf 644 eingestellt, jedoch das Ergebnis ist das selbe.....

andreaskf

Yzerman
14.03.2003, 21:47:09
Rechte sind bei Windows eh egal, daher meine Frage vorab...
Tja, sorry, kann ich mir nicht erklären.

andreaskf
14.03.2003, 21:49:05
trotzdem danke, werd ich halt weiter probieren und andere Lösungen überlegen....

andreaskf

Yzerman
14.03.2003, 21:50:46
ist auf jeden Fall kein PHP-Problem! Muss irgendwie mit der Config Deines Servers oder der PHP.ini zu tun haben.

andreaskf
14.03.2003, 23:28:50
Danke Euch beiden, aber hab mir eine andere Lösung einfallen lassen. Diese sieht wie folgt aus:

Problem:
Bei meinem Beispiel sollte eine Rechenaufgabe per Formular eingegeben werden, wo das ergebnis <> o ist.
Wenn jedoch trotzdem Null dabei herauskommt, sollte eine neue Seite aufgerufen werden.

Lösung:
Die Formulardaten habe ich an eine neue Seite gesendet, wo sie berechnet werden sollten. per if/else Anweisung sollte geprüft und jeweils eine erstellte Seite gezeigt werden.

<body>

if ($num <= 0)
include("null.php");
else
include("richtig.php");

</body>

Die null.php enthält Angaben für falsche Daten und ein neues Formular für die Eingabe. Ziel die selbe Seite zum berechnen wie beim ersten mal

Die richtig.php Seite beinhaltet die Ergebnisseite, von der ich anschließend weiter arbeiten kann....

Ich denke, dafür das ich erst vor ein paar Tagen angefangen habe, .................... (es lobt mich ja sonst keiner :-) )

mfg andreaskf

p.s. danke Euch beiden für die Mühe, werde sicher noch öfter vorbeischauen...