Marcus Hammel: Fehler mit Variable - Cannot re-assign

Beitrag lesen

Hallo,

Ich habe 2 Dateien. Eine search.php, diese enthält:

<?php
    require("integrate.php");
    echo "Hello world";
?>

Ich will ersteinmal keine Funktion erhalten, sondern ersteinmal die Integration con integrate.php erreichen.

Im Sleben Ordner liegt nun auch die integrate.php

<?php
function FDSE_output ($search_script, $echo_verbose, $self_url, $path_to_perl)
{
 # create a readable format for parameters

$params = 'is_shell_include=1 search_url=' . urlencode($self_url) . ' ';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  foreach ($_POST as $key => $this) {
   if (get_magic_quotes_gpc()) { #changed 0070
    $this = stripslashes($this);
    }
   $params .= urlencode($key) . '=' . urlencode($this) . ' ';
   }
  }
 else {
  foreach ($_GET as $key => $this) {
   if (get_magic_quotes_gpc()) { #changed 0070
    $this = stripslashes($this);
    }
   $params .= urlencode($key) . '=' . urlencode($this) . ' ';
   }
  }

$command = "$path_to_perl $search_script $params 2>&1";

if ($echo_verbose) {
  $hcommand = htmlspecialchars($command);
  echo "<p class=FDSE><b>Trace:</b> running command:<br /><br />$hcommand</p>\n";
  }

$output = shell_exec($command);

if ($echo_verbose) {
  $len = strlen($output);
  echo "<p class=FDSE><b>Trace:</b> command returned <b>$len</b> bytes of output.</p>\n";
  }

return $output;

}

?>

Wenn ich nun search.php aufrufe, so erhalte ich aber folgenden Fehler:
Fatal error: Cannot re-assign $this in F:\xampp\htdocs\integrate.php on line 49.

Es dreht sich also um folgende Code-Zeile
foreach ($_POST as $key => $this) {

ich finde dort aber keinen Fehler? Was läuft hier falsch?

MfG,
Marcus