php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 12-12-2009, 02:07
ludwig33
 Registrierter Benutzer
Links : Onlinestatus : ludwig33 ist offline
Registriert seit: Nov 2005
Beiträge: 31
ludwig33 ist zur Zeit noch ein unbeschriebenes Blatt
Question Script rekursiv aufrufen?

Hallo zusammen,

ich möchte mehrere Scripte rekursiv aufrufen und starte mit dem ersten Aufruf von 1.php.
Ab $_SESSION['status'] > 8 steigen Firefox und IE aus mit einem Fehler.
1.php
PHP-Code:
session_start();
$_SESSION['status'] += 1;

if (
$_SESSION['status'] > 5) {
    
var_dump($_SESSION);
    
session_destroy();
} else {
    
header("Location: http://www.meinedomain.de/2.php");
}
exit; 
2.php
PHP-Code:
// Test-Script 2
header("Location: http://www.meinedomain.de/3.php");
exit; 
3.php
PHP-Code:
// Test-Script 3 - zurück zum Anfang :-)
header("Location: http://www.meinedomain.de/1.php");
exit; 
Was kann ich tun damit das Script öfters läuft?

Grüße
Ludwig

Geändert von ludwig33 (12-12-2009 um 02:15 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 12-12-2009, 02:22
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Alle Browser verhindern eine infinite weiterleitungs Rekursion.
Evtl. solltest du auf einen Meta, oder gar http1.2, Refresh umsteigen.

Wozu braucht man sowas?
__________________
Wir werden alle sterben
Mit Zitat antworten
  #3 (permalink)  
Alt 12-12-2009, 02:59
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von ludwig33 Beitrag anzeigen
...
Was kann ich tun damit das Script öfters läuft?
Es öfters aufrufen?
Im Ernst: Welches Script? Du hast ja mehrere angegeben ...

Ich würde es an deiner Stelle mal damit versuchen, an den|die Script-URL einen Parameter anzuhängen (ein Zähler oder eine Zufallszahl). Aber auch ich kann mir beim besten Willen nicht vorstellen, wozu man sowas braucht.
Mit Zitat antworten
  #4 (permalink)  
Alt 13-12-2009, 00:20
ludwig33
 Registrierter Benutzer
Links : Onlinestatus : ludwig33 ist offline
Registriert seit: Nov 2005
Beiträge: 31
ludwig33 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für die Info's. Auf dieses Problem mit der Rekursion bin ich vor kurzem gestoßen und habe das auf diese drei Mini-Dateien reduziert, um den Fehler einzugrenzen.

Es war einmal ein PHP-Script welches, je nach Aufrufparametern, eine CSV-Datei einliest, einige Funktionen und Berechnungen macht und die Ergebnisse in eine Datenbank schreibt. Nun wurde dieses um ein zweites Script erweitert, welches neue CSV-Dateien in das alte Format konvertiert und anschliessend per header:Location das alte Script aufruft. Auch hier gibt es Übergabeparameter, so daß es 8 verschiedene Varianten gibt. Vermutlich wurde dies auch aus Laufzeitgründen gemacht, da die CSV-Dateien manchmal schon groß werden können.

Nun soll zum guten Schluss noch ein drittes Script "davor" gesetzt werden, um alle 8 Varianten automatisch nacheinender aufzurufen. Die ersten beiden Scripte sollen möglichst nicht/wenig geändert werden.

So ist also die Kette

1.php ---> 2.php ---> 3.php ->
^
|
---------------<-----------

entstanden, welche leider nicht funktioniert, wie das kleine Beispiel zeigt.

Tja, es geht halt nix über gewachsene Software. Thats Live, es ist weder Geld noch Zeit da alles neu zu schreiben und das bisherige System soll ja ungestört weiterlaufen...
Wenn ich die Teile nun kopiere und erweitere muss ich bei Änderungen immer zwei Versionen pflegen, was in der normalen Hektik sicher oft vergessen wird.

Grüße
Ludwig
Mit Zitat antworten
  #5 (permalink)  
Alt 13-12-2009, 01:36
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Dann würde ich nicht per Location-Header weiterleiten, sondern es mal per Meta-Tag im HTML versuchen.

(Da die Browser dabei immer wieder „ganz normale” Dokumente unter dem Statuscode 200 erhalten, gibt es hier keinen Grund, nach einer gewissen Anzahl auszusteigen. Lediglich dass diese Art von Weiterleitung aktiviert ist (im Browser), wäre bei diesem Vorgehen dann Minimalanforderung.)
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #6 (permalink)  
Alt 13-12-2009, 01:39
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Habe ich schon versucht zu sagen.
Kommt nicht an.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #7 (permalink)  
Alt 13-12-2009, 12:10
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Erstens hat das hier überhaupt nichts mit Rekursion zu tun.
Zweitens machen die Browser das nicht lange mit, weil du immer wieder die auf die gleiche URL weiterleitest. Häng mal den Session-Counter als GET-Parameter an. Das sollte dein Problem schon lösen.
Drittens besteht kein Zwang, die Dateien einzeln aufzurufen. Du könntest alle historisch gewachsenen Erweiterungen per include in die Ursprungsdatei laden, je nach übergebenen Parametern. Dann musst du überhaupt nicht weiterleiten. (... aber vielleicht auf max_execution_time achten.)
Mit Zitat antworten
  #8 (permalink)  
Alt 14-12-2009, 11:11
ludwig33
 Registrierter Benutzer
Links : Onlinestatus : ludwig33 ist offline
Registriert seit: Nov 2005
Beiträge: 31
ludwig33 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von combie Beitrag anzeigen
Habe ich schon versucht zu sagen.
Kommt nicht an.
Doch, ist jetzt angekommen. Sorry, manchmal ist es nicht einfach das Brett vor dem Kopf zu zerkloppen.

Mit dem Tausch von header zu meta refresh funktioniert es auf Anhieb.

@onemorenerd
Der Tipp mit den includes ist auch gut, danke. Evtl. werde ich das auch mal testen.

Grüße
Ludwig
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[CSS] PHP-Script aufrufen Hatachy HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 2 24-01-2004 12:01
script aufrufen Mr Agent X PHP Developer Forum 2 05-10-2003 20:08
Script aufrufen jogisarge PHP Developer Forum 3 19-11-2002 12:28
Script mit Variable 'rekursiv' aufrufen? firool PHP Developer Forum 7 09-11-2002 01:37
script aufrufen Bernd PHP Developer Forum 10 31-10-2001 22:25

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:16 Uhr.