PHP 5.3

Fragen und Tipps & Tricks zur Newsletter Software SuperMailer oder zum BirthdayMailer

Moderatoren: mirko, Wolfi

Antworten
TJF
Beiträge: 19
Registriert: 29.01.2008, 10:44

Beitrag von TJF »

Das isses :-)

Tausend Dank!

Gruß
Thomas
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

nein da ist kein Fehler, wobei wenn register_globals off ist, das ist ab PHP 5 auf jeden Fall so, dann müsstest du vorher noch angeben

$Anrede = $_POST[\"Anrede\"];
$Vorname = $_POST[\"Vorname\"];
$Name = $_POST[\"Name\"];
TJF
Beiträge: 19
Registriert: 29.01.2008, 10:44

Beitrag von TJF »

Das andere error_reporting habe ich nicht gefunden. Das \'&\' hatte ich schon entfernt, was aber nicht völlig fehlerfrei ablief...

Kurz: Problem grundsätzlich gelöst. D.h. es funktioniert. Ich hatte mich nicht erinnert, dass ich vor 3 Jahren diese 3 zusätzlichen Abfragen reingemacht hatte, die zumindest i.S. \'Anrede\' einen Fehler ausgeben.

Siehst Du hier den Fehler? Das hatte bisher funktioniert...

# Neue Zeile für fehlende Eingaben bzgl. Anrede
$AnredeErrorPage=\"http://***/anredef.htm\";

# Neue Zeile für fehlenden Vornamen
$VNameErrorPage=\"http://***/vnamef.htm\";

# Neue Zeile für fehlenden Nachnamen
$NameErrorPage=\"http://***/namef.htm\";

#--------------------------------------------------------

if ( (!isset($Anrede)) || ($Anrede == \"\") ) {
if ($AnredeErrorPage != \"\")
header(\"Location: $AnredeErrorPage\");
else
print \"<b>Es wurde die Anrede nicht angegeben!</b>\";
exit;
}

if ( (!isset($Vorname)) || ($Vorname == \"\") ) {
if ($VNameErrorPage != \"\")
header(\"Location: $VNameErrorPage\");
else
print \"<b>Es wurde der Vorname nicht angegeben!</b>\";
exit;
}

if ( (!isset($Name)) || ($Name == \"\") ) {
if ($NameErrorPage != \"\")
header(\"Location: $NameErrorPage\");
else
print \"<b>Es wurde der Nachname nicht angegeben!</b>\";
exit;
}
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

danach ist weiter unten noch ein error_reporting(E_ALL); drin, sonst würde die Meldung nicht kommen. Ansonsten vor dem = new das & entfernen.
TJF
Beiträge: 19
Registriert: 29.01.2008, 10:44

Beitrag von TJF »

Das war schon drin:

# 14.09.2008 #
#############################################################################
error_reporting(0);


In 5.3 wird wohl die Klassen-Def. anders gemacht:
http://www.php.net/manual/en/language.o ... .basic.new
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Im Script oben nach <?php angeben error_reporting(0);
TJF
Beiträge: 19
Registriert: 29.01.2008, 10:44

Beitrag von TJF »

Hallo,

mein sich schon lange im Einsatz befindendes PHP-Script läuft noch erfolgreich auf dem Server mit PHP 5.2.13. Mein Provider stellt in absehbarer Zeit auf PHP 5.3 um und hat das zum Testen bereits bereitgestellt. Ab Version 5.3 funktioniert das dann auch nicht mehr. Nach dem Absenden erscheint folgende Fehlermeldung:

Deprecated: Assigning the return value of new by reference is deprecated in /home/***/public_html/infobrief/infobrief.php on line 180

Das betrifft wohl diese Zeile:

$crypt = &new EncDec;

Nur vorsorglich ein Auszug aus dem Header des PHP-Scrips:

# SUPERMAILER SUBSCRIBE/UNSUBSCRIBE SCRIPT #
...
# Systemvoraussetzungen: PHP 4 und Windows/Unix #
# 14.09.2008 #


Wird es dafür eine Lösung geben?

Dank und Gruß
Thomas
Zuletzt geändert von TJF am 20.04.2011, 20:02, insgesamt 2-mal geändert.
Antworten