Problem mit $HTTP_POST_VARS nach Serverumzug
    
Elvis
    
    
      
    
  - php
 nicht angemeldet
 nicht angemeldetIch habe ein Script für den Mailversand. Benutzt wird eine datei namens phpeasymail.lib. Leider bekomme ich nach dem Serverumzug einen Fehler und der Versand geht ohne Feldinhalt ungefähr so: "%Feld%". Register Globals ist an.
Folgene Fehler tauchen auf:
Warning: reset() [function.reset]: Passed variable is not an array or object in /is/htdocs/wp10592299_60PZ4VU5FX/www.xxx.de/lib/common.lib on line 131
Warning: Variable passed to each() is not an array or object in /is/htdocs/wp10592299_60PZ4VU5FX/www.xxx.de/lib/common.lib on line 135
Warning: reset() [function.reset]: Passed variable is not an array or object in /is/htdocs/wp10592299_60PZ4VU5FX/www.xxx.de/lib/common.lib on line 131
Warning: Variable passed to each() is not an array or object in /is/htdocs/wp10592299_60PZ4VU5FX/www.xxx.de/lib/common.lib on line 135
Fehlerhafte Position:
  
// Function replaces variables into templates  
function build_body ($bbody = "") {  
 global $HTTP_POST_VARS;  
 reset($HTTP_POST_VARS);   //Zeile 131  
  
 if (!empty($bbody)) {  
    // Fill in variables into the template  
    while (list($header, $value) = each($HTTP_POST_VARS)) { // Zeile 135  
       $bbody = ereg_replace("%".$header."%", $value, $bbody);  
    } // endwhile  
 } else {  
    // Simply add variables line by line  
    $bbody = "";  
    sort($HTTP_POST_VARS);  
    while (list($header, $value) = each($HTTP_POST_VARS)) {  
       $bbody = $bbody."\n$header: $value";  
    }   // endwhile  
 }   // endif  
  
 return $bbody;  
  
}   // endfunc  
Weis jemand des Rätsels Lösung? Ich denke es hat was mit dem Server zu tun.
Hi,
Ich habe ein Script für den Mailversand. Benutzt wird eine datei namens phpeasymail.lib. Leider bekomme ich nach dem Serverumzug einen Fehler und der Versand geht ohne Feldinhalt ungefähr so: "%Feld%". Register Globals ist an.
Das solltest Du ändern. Du mußt das Script sowieso anfassen.
global $HTTP_POST_VARS;
HTTP_POST_VARS ist m.W. seit längerem deprecated und in den neuesten PHP-Versionen weg.
$_POST existiert.
Weis jemand des Rätsels Lösung? Ich denke es hat was mit dem Server zu tun.
Nur indirekt. Eher damit, daß Dein Script ziemlich veraltet ist.
cu,
Andreas
HTTP_POST_VARS ist m.W. seit längerem deprecated
ereg_replace() it ebenfalls deprecated.
Das gesamte Script sieht etwas antik aus.
Hi!
Folgene Fehler tauchen auf:
Warning: reset() [function.reset]: Passed variable is not an array or object in
Warning: Variable passed to each() is not an array or object in
Weis jemand des Rätsels Lösung? Ich denke es hat was mit dem Server zu tun.
Du siehst die Ursache, wenn du das error_reporting auf E_ALL stellst. Die Variablen $HTTP_*_VARS existieren per Default-Konfiguration nicht mehr, weil sie abgeschafft werden sollen. Ersatz ist bereits seit langer Zeit vorhanden: $_*
Als Workaround kannst du $HTTP_POST_VARS = $_POST; verwenden, aber besser ist es wirklich, das Script grundlegend zu modernisieren. Neben den auch schon genannten ereg_*-Funktionen sieht while(list(..) = each(..)) auch sehr nach PHP 3 aus. Seit PHP 4 (aktuell ist schon länger die 5er Reihe) kann man foreach verwenden.
Lo!
Mahlzeit dedlfix,
Neben den auch schon genannten ereg_*-Funktionen sieht while(list(..) = each(..)) auch sehr nach PHP 3 aus.
<schwelg in="erinnerungen">Hachja, *das* waren noch Zeiten ...</schwelg>
MfG,
EKKi