header Location in while Schleife?
bearbeitet von Raketenwilli> ist es möglich, in einer while-Schleife fortwährend ein anderes Script aufzurufen?
>
>
> ~~~ php
> $i=0;
> while($i < 5) {
> header(Location:"test.php?param=".$i."");
> $i++;
> }
> ~~~
>
> test.php verursacht hierbei keine Bildschirmausgabe.
>
> Bei mir bricht das aufrufende Script nach dem ersten Aufruf leider ab.
**Klar: Wegen des offensichtlichen Syntaxfehlers.**
Aber auch wenn der repariert ist: Das Skript wird abgearbeitet und **nur der letzte Location-Header bleibt.**
~~~PHP,bad
<?php
$i=0;
while($i < 5) {
header("Location: test.php?param=$i");
$i++;
}
~~~
~~~
HTTP-Anforderung gesendet, auf Antwort wird gewartet …
---response begin---
HTTP/1.1 302 Found
Host: localhost:9000
Date: Wed, 11 May 2022 12:18:13 GMT
Connection: close
X-Powered-By: PHP/8.1.2
Location: test.php?param=4
Content-type: text/html; charset=UTF-8
---response end---
~~~
**Der letzte Header ist `Location: test.php?param=4`**. Da Dein Skript sich wohl selbst aufruft macht das sowohl wget als auch jeder Browser nur begrenzt oft mit und meldet dann, die Zahl der Weiterleitungen sei zu groß.