|
|
devolo01

: 13.12.2008 : 795
|
| : 24.07.2010, 17:25 : Mittels php Seite aufrufen. |
|
|
Hi @ all
Stehe gerade etwas auf dem Schlauch. Und zwar möchte ich mittels PHP nach der Prüfung einer Bedingung automatisch eine neue Seite aufrufen lassen.
Sprich Beispiel:
| Code: |
if ($wert = true) {
öffne test.php;
}
else {
echo 'Fehler bitte nochmal versuchen';
}
|
Entweder stehe ich nun gerade voll auf dem Schlauch, oder es gibt keine entsprechende Funktion. Daher meine Frage wie kann ich mittels PHP eine neue Seite Laden lassen?
Mittels header('Location:http://www.adressen.tld/geheim.htm'); komme ich leider nicht weiter, da die Bedingung am ende des Scripts geprüft wird.
VG und hoffe auf Feedback
Aktuell suche ich wieder Linkpartnerschaften:
Bereich: Fernstudium/Bildung und Schuhe/Mode. Gerne auch Artikel Tausch.
Sat Seiten oder Seiten ohne eigenen Content werden direkt ignoriert. |
|
| Nach oben |
|
 |
daniel5959


: 20.04.2010 : 436
|
| : 24.07.2010, 17:29 : Mittels php Seite aufrufen. |
|
|
Hallo,
es darf nur noch keine Ausgabe gegeben haben, dann ist es egal ob header(...) am Ende des Codes steht.
Mal mehr Infos zum Script nennen, dann lässt sich evtl. eine Lösung finden.
daniel5959 
http://www.homepage-faqs.de/
Leichtverständliche Anleitungen für Einsteiger und Fortgeschrittene zum Thema Homepage & Co. |
|
| Nach oben |
|
 |
devolo01

: 13.12.2008 : 795
|
| : 24.07.2010, 17:45 : Mittels php Seite aufrufen. |
|
|
Hi,
Jup das mit der Ausgabe ist mir bekannt, daher auch mein Problem.
Das Beim Script handelt ist der Aufbau wie folgt, da es mittlerweile mehr als 1000 Zeilen hat verzichte ich darauf es hier einzustellen .
Beim Aufruf des Scriptes werden Daten über MySQL in ein Formular eingeladen. Nun besteht die Möglichkeit entsprechende Daten zu ändern, die dann mittels Update in der DB Aktualisiert werden.
Nun wollte will ich mittels Bedingung ausgeben lassen, wenn das Update ohne Fehler ausgeführt worden ist auf eine neue Seite Springen zu lassen. Beim Fehler wird das Formular neu geladen.
Entweder stehe ich nun wirklich auf dem Schlauch oder ich habe Ihrgentetwas falsches eingegeben, da wenn ich in der Methode die URL Eingebe, wird nach bestätigen des Submit Buttons zwar gewechselt aber keine Prüfung durchgeführt.
VG
Aktuell suche ich wieder Linkpartnerschaften:
Bereich: Fernstudium/Bildung und Schuhe/Mode. Gerne auch Artikel Tausch.
Sat Seiten oder Seiten ohne eigenen Content werden direkt ignoriert. |
|
| Nach oben |
|
 |
devolo01

: 13.12.2008 : 795
|
| : 24.07.2010, 19:01 : Mittels php Seite aufrufen. |
|
|
So,
habe nun nach etwas Suchen eine passable Lösung für mich gefunden.
Lasse nun in der Bedingen wenn Sie erfüllt wird einfach einen html refresh ausgeben.
| Code: |
| echo '<meta http-equiv=refresh content="0; url=../index.php">'; |
zwar nicht die Schönste Lösung aber funktional .
Java Script kam bei mir leider nicht in Frage daher dieser umständliche weg.
Grüße
Aktuell suche ich wieder Linkpartnerschaften:
Bereich: Fernstudium/Bildung und Schuhe/Mode. Gerne auch Artikel Tausch.
Sat Seiten oder Seiten ohne eigenen Content werden direkt ignoriert. |
|
| Nach oben |
|
 |
Pheidippides

: 29.08.2007 : 652
|
| : 24.07.2010, 19:29 : Mittels php Seite aufrufen. |
|
|
So mache ich es auch, es scheint keine bessere Lösung zu geben.
Setze noch nach dem refresh ein exit;
Keep on Running
Pheidippides |
|
| Nach oben |
|
 |
net(t)worker Gast
|
| : 24.07.2010, 19:36 : Mittels php Seite aufrufen. |
|
|
du kannst in PHP die gesamte Ausgabe erstmal abfangen und nach der Abfrage dann entweder die Ausgabe ausgeben oder eben eine weiterleitung auf die andere seite... optimal wäre eine weiterleitung auf eine leere seite die direkt ein metarefresh auf die Zielseite macht, so könnte der User nicht einfach versehentlich durch die zurück taste im browser die formulareingabe nochmal absenden...
infos: http://www.php.net/manual/de/ref.outcontrol.php |
|
| Nach oben |
|
 |
800XE


: 02.12.2004 : 5119 : XENEVU
|
| : 24.07.2010, 20:11 : Mittels php Seite aufrufen. |
|
|
| devolo01 hat Folgendes geschrieben: |
So,
habe nun nach etwas Suchen eine passable Lösung für mich gefunden.
Lasse nun in der Bedingen wenn Sie erfüllt wird einfach einen html refresh ausgeben. |
ich mach keine echo( $text );
sondern $content.=$text;
und er Echo kommt erst ganz am Ende
so kann ich überrall den "header" Befehl anwenden
| Pheidippides hat Folgendes geschrieben: |
So mache ich es auch, es scheint keine bessere Lösung zu geben.
Setze noch nach dem refresh ein exit; |
Wenn doch Echos gemacht wurden,
kann man mit ob_start() dafür sorgen das diese nicht wirklich ausgegeben werden, sondern in einen Puffer
http://php.net/manual/de/function.ob-start.php
dann funktionierts auch mit dem HeaderBefehl obwohl vom Scriptcode schon Ausgaben gemacht wurden
aber nur ... /Affilitiv/ ... innovativ |
|
| Nach oben |
|
 |
devolo01

: 13.12.2008 : 795
|
| : 24.07.2010, 20:50 : Mittels php Seite aufrufen. |
|
|
Vielen Dank euch nochmal,
werde mich in die Thematik der Output-Control-Funktionen einmal einlesen, und versuchen Es in Zukunft zu berücksichtigen.
| : |
ich mach keine echo( $text );
sondern $content.=$text; |
Ansich eine super Idee, werde es mal versuchen beim nächsten Script entsprechend umzusetzen. Denke aber auch das hierfür ein komplettes Umdenken von meinen jetzigen Programmier Stiel notwendig ist.
VG
Aktuell suche ich wieder Linkpartnerschaften:
Bereich: Fernstudium/Bildung und Schuhe/Mode. Gerne auch Artikel Tausch.
Sat Seiten oder Seiten ohne eigenen Content werden direkt ignoriert. |
|
| Nach oben |
|
 |
nerd


: 15.02.2005 : 1686 : AKL
|
| : 26.07.2010, 09:30 : Mittels php Seite aufrufen. |
|
|
| 800XE hat Folgendes geschrieben: |
ich mach keine echo( $text );
sondern $content.=$text;
und er Echo kommt erst ganz am Ende |
so mach ichs auch meistens. erstmal den ganzen kram in einer variablen buffern (oder mehrere, z.b. fuer title und body) und dann diese variable an die entsprechende stelle auf der seite setzen. so kann man jederzeit umleiten, session setzen oder das script komplett abbrechen wenn was faul ist.
marketing through social media is just like herding cats. and just to make it interesting, many of the cats are drunk and stupid...
blackhat linkkauf und so...  |
|
| Nach oben |
|
 |
derHund

: 08.01.2005 : 299
|
| : 26.07.2010, 10:35 : Mittels php Seite aufrufen. |
|
|
Normalerweise macht man das nicht per OB oder gar Meta-Refresh.
Wenn das Formular abgesendet wird und du die Daten geprüft hast, dann leitest du einfach bei gültigen Daten per header() weiter. Es hat vorher ja keine Ausgabe stattgefunden, was solltest du denn ausgegeben haben? Wenn du das Formular an sich selber sendest, kannst du dich bei ungültigen Daten sogar direkt auf den Inhalt vom POST beziehen.
Eingabe -> Verarbeitung -> Ausgabe lautet eigentlich das Prinzip, das dir ne Menge Ärger spart.
Dass du bei mehr als 1000 Zeilen, die die drei Teile mischen, Schwierigkeiten bekommst, kann ich nachvollziehen. Mit den Techniken meiner Vorposter machst du dir die Sache aber meiner Meinung nach nicht unbedingt einfacher.
Output Buffering (und ähnliche Techniken) sind, auch wenn es an dieser Stelle 'funktioniert', nicht für diesen Zweck vorgesehen. |
|
| Nach oben |
|
 |