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, 01: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 01:15 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 12-12-2009, 01: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, 01: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 12-12-2009, 23: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, 00: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, 00: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, 11: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, 10: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 11:01
script aufrufen Mr Agent X PHP Developer Forum 2 05-10-2003 19:08
Script aufrufen jogisarge PHP Developer Forum 3 19-11-2002 11:28
Script mit Variable 'rekursiv' aufrufen? firool PHP Developer Forum 7 09-11-2002 00:37
script aufrufen Bernd PHP Developer Forum 10 31-10-2001 21: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

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:42 Uhr.