Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Problem mit header("Location: ..."); [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Problem mit header("Location: ...");


 
jonas01
19-02-2008, 10:25 
 
Hi!

Ich habe hier ein Phänomen welches ich nicht in den Griff bekomme.

Hier erstmal die Erklärung:

in "Datei_a" befindet sich ein Formular.
Das Formular wird mittels POST an "Datei_b" gesendet.

Datei_b wertet die Eingaben aus dem Formular aus und leitet dann mittels "header()" zurück auf Datei_a.

Soweit klingt ja alles recht simpel und es funktioniert auch überall einwandfrei....

Probleme macht diese Funktionsweise bei allen Apple Rechnern mit MAC OS X.
Es ist dort egal welcher Browser verwendet wird.... Ob Safari, Firefox oder IE... Immer dauert der "header()" rund 5 Minuten, funktioniert dann aber einwandfrei.

Hier mal der simple Code:

Datei a

<?
// Dateiname: datei_a.php
?>
<form action="/datei_b.php" method="POST">
<? // Irgendwelche Eingaben ?>
<input type="submit" name="button" value="absenden">
</form>




Datei b

<?
// Dateiname: datei_b.php

if(isset($_POST['button'])){
// Mach halt irgendwas.....
header("Location: /datei_a.php");
}
?>


Warum funktioniert das nicht bei Apple?

Evtl. hat ja jemand hier einen Apple Rechner und kann das mal nachvollziehen...
Danke! :)

 
Skrok
19-02-2008, 10:27 
 
mach mal


header("Location: form_a.php");


gruß
Jan

 
jonas01
19-02-2008, 10:31 
 
Hi!

??? Aber die Datei existiert doch nicht....

 
Skrok
19-02-2008, 10:41 
 
natürlich mit deiner Datei aberhalt ohne /

Nochmal für deine Datei:


header("Location: datei_a.php");

 
jonas01
19-02-2008, 10:47 
 
Ahso :D

Nee... Das hat damit nix zu tun....
Das Problem tritt immer dann auf, wenn die Datei, die das abzusendende Formular beinhaltet, identisch ist mit der Datei, auf die der "header();" verweist.

würde ich ein "header("Location: http://www.foo.com"); machen, würde das ohne Problem funktionieren.

Wenn aber quasi "Quelle" und "Ziel" gleich sind, gibt es da einen Aussetzer...

 
Skrok
19-02-2008, 10:55 
 
Quelle und Ziel sind ja nicht gleich (datei_a.php -> datei_b.php -> datei_a.php)

Aber was genau kommt den als Fehlermeldung? Oder geht es einfach nicht? Eigentlich sollte das auch so gehen wie oben stehend.

 
jonas01
19-02-2008, 10:59 
 
Naja... wie Du selbst so schön aufgemalt hast, sind Quelle und Ziel eben doch gleich....
Nennen wir es lieber "Ausgangspunkt" und "Zielpunkt".

Es kommt keine Fehlermeldung...
Der Browser hängt so 5 Minuten und macht danach genau das was er soll.

 
Skrok
19-02-2008, 11:04 
 
steht den was im errorlog vom Apache?

andere schleifen stehen nicht in datei_a.php?

 
jonas01
19-02-2008, 11:10 
 
Nein...
Es gibt keinen Fehler und somit auch nichts in einem Errorlog.

Evtl. hast Du überlesen, dass dieses Phänomen lediglich bei Rechnern mit dem Betriebssystem MAC OS X auftritt.

Auf einer Windows Krücke läuft das superschnell (so wie es halt sein soll).



Ebenfalls ist es Browserunabhängig. Alle (wichtigen) Browser die es für den Apple so gibt wurden getestet und bei allen Browsern ist es das gleiche Phänomen.


Ich denke, da kann mir nur ein Apple Besitzer helfen der evtl. schon mal das gleiche Problem hatte.

 
Skrok
19-02-2008, 11:15 
 
Nein, bevor ich wieder einen auf den Deckel bekomme

Ich habe es vorher gelesen :P

Ich habe keine Ahnung wodran es dann liegen sollte. Wie gesagt, kann mir schwerlich vorstellen das es so nicht gehen sollte (auch aufm Mac). Frag doch mal in Apache Forum (im XAMPP Forum) oder hier im Forum, da es sich ja nicht um ein "PHP" Problem handelt.

Gruß
Jan

 
PHP-Desaster
19-02-2008, 11:16 
 
Läuft das Skript denn auch auf dem Apple oder liegt das im Netz? Bei letzterem wird es sich nicht um ein PHP-Problem handeln.
Hast du mal eine komplette URL angegeben? Das ist nämlich so vorgeschrieben, viele Browser akzeptieren das nur halt auch so.

 
tontechniker
19-02-2008, 11:17 
 
Kannst du ein Onlinebeispiel zur Verfügung stellen?

 
jonas01
19-02-2008, 11:21 
 
Hi!

Nein... das Programm läuft auf einem LINUX Webserver.
Nur der Client ist halt ein MAC.

das mit der kompletten URL ist ein sehr guter Hinweis...
Das werde ich probieren...

Vielen Dank...

PS:Ich gehe mal davon aus dass es ein Apple Problem ist... ich dacht mir halt, dass sehr viele hier den MAC nutzen um PHP Anwendungen zu entwickeln weil das Teil ja zusammen mit dem Zend Studio ein perfektes Team ist.

 
jonas01
19-02-2008, 11:23 
 
Original geschrieben von tontechniker
Kannst du ein Onlinebeispiel zur Verfügung stellen?
Hi...
leider nicht... das läuft in einem geschützten Bereich...

Ich werde das mit der kompletten URL eben testen...
Wenn das dann nicht funzt, werde ich es public stellen.

Danke schon mal...

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:20 Uhr.