Probleme bei PHP 5.4

PHP Newsletter Software/Script und E-Mail-Marketing Software SuperWebMailer

Moderator: mirko

Antworten
Peaks
Beiträge: 7
Registriert: 22.02.2010, 00:07

Re: Probleme bei PHP 5.4

Beitrag von Peaks »

Nun, das wollte ich ja wissen, da mir nicht genau klar war, wo ich den Fehler suchen musste ;)

$_GET und $_POST habe ich auf Rat eines beratenden Programmierers durch getParameter ersetzt. Ich glaub aus Sicherheitsgründen war das, muss ich aber nochmal genau nachfragen.


Auf jeden Fall funktioniert es nun auch damit unter 5.4.
Ich habe im SuperWebMailer unter "HTML-Seiten/Umleitung" den Haken bei "Echte Umleitung durchführen" gesetzt. Danach erscheinen die Parameter korrekt in der Adresszeile. In 5.2 gings bei unserer Seite auch ohne das Häkchen.
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: Probleme bei PHP 5.4

Beitrag von mirko »

Ach selbst gebastelt und damit tritt der Fehler auf, das ist aber dann kein SuperWebMailer-Problem, sondern das muss man selbst beheben. Eine Funktion getParameter() gibt es in PHP gar nicht, das ist glaube JSP. Im PHP muss man $_GET["variable"] für per HTTP GET übergebene Werte verwenden bzw. $_POST["variable"] für Variablen per HTTP POST.
Peaks
Beiträge: 7
Registriert: 22.02.2010, 00:07

Re: Probleme bei PHP 5.4

Beitrag von Peaks »

Danke für die schnelle Antwort!

Das Test-Script habe ich getestet, es funktioniert, der eingegebene Name wird korrekt angezeigt.
Unser Kontaktformular, das mit POST arbeitet, funktioniert ebenfalls.


Weitere Tests der Newsletter-Anmeldung haben folgendes ergeben:

- Abmelden funktioniert (Zeigt die richtige Meldung auf der Homepage und trägt die Adresse aus)
- Abmelden, wenn Adresse nicht im Verteiler, funktioniert nicht (gleicher Fehler wie beim Anmelden unter 5.4, siehe mein erster Post)
- Anmelden, wenn Adresse bereits in Verteiler, funktioniert nicht (siehe erster Post)
- Anmelden, wenn Adresse neu, funktioniert teilweise (Parameter werden in Adressezeile nicht angezeigt -> Seite wird ohne Formatierung angezeigt, allerdings ist der Text der HTML-Seite/Umleitung richtig; Die Adresse wird in die Empfängerliste eingetragen, auch die Mail mit Bestätigungslink erhalte ich)


Möglicher Ansatz:

Für PHP 5.4 habe ich alle "$_GET" durch "getParameter" ersetzt, wie z.B. bei den Fehlerseiten im Code-Beispiel. Ist das möglicherweise ein Problem?

Code: Alles auswählen

public function newsletter_subscribe_error_de(){

	echo '<h1>fehler</h1>

		<table>
              		<tr>
                 	      <td colspan="2">
                    		<p><h5>Es ist ein Fehler aufgetreten:</h5></p>
                    		<p>';
					echo getParameter("ERRORPAGEMESSAGE") .
				'</p>
                    		<p>&nbsp;</p>' .
                    		'<p><a href="javascript:history.back();">Klicken Sie hier um die Angaben zu korrigieren.</a></p>' .
                    		'<br />' .
                    		'<p>Wenn ihre E-Mail-Adresse bereits eingetragen ist und Sie keinen Newsletter erhalten, wenden Sie sich bitte an uns. (Kontakt: <a href="mailto:news@clemens-online.com">news@clemens-online.com</a>, Tel: 06571/929-244, Fax: 06571/929-199)</p>
                   			</td>
                		</tr>
        			</table>';
		}
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: Probleme bei PHP 5.4

Beitrag von mirko »

Fehlerhafte Serverkonfiguration in Verbindung mit PHP 5.4 würde ich sagen, es werden keine Variablen per HTTP POST übergeben. Ein Test-Script machen und ausprobieren z.B. so

HTML-Datei test.htm erstellen mit diesem Inhalt

Code: Alles auswählen


<form method="post" action="test.php">

Name eingeben:<br>
<input type="text" name="Name" value="HIER WAS EINGEBEN">
<br>
<input type="submit" value="Absender">


</form>


PHP-Datei test.php erstellen mit diesem Inhalt

Code: Alles auswählen

<?php
  print "Der eingegebene Name lautet: ".$_POST["Name"];
?>
Beide Dateien in ein Verzeichnis auf den Server laden, test.htm im Browser aufrufen und Formular versenden. Als Ergebnis muss der eingegebene Name angezeigt werden.
Peaks
Beiträge: 7
Registriert: 22.02.2010, 00:07

Probleme bei PHP 5.4

Beitrag von Peaks »

Hallo,

demnächst wird anbieterbedingt unsere Homepage in PHP 5.4 ausgeführt werden.
Beim Testen gibt es Probleme, wenn ich mich über das Formular für den Newsletter anmelden möchte.

Ich versuche mich anzumelden mit einer Adresse, die bereits eingetragen ist.

Unter Version 5.2.17 funktioniert es einwandfrei.

Bild


Stelle ich auf PHP 5.4.23 um, gebe die Daten neu ein, verliert die Seite beim Absenden der Anfrage sämtliche Formatierungen. Auch die Meldung die SWM ausgibt ist anders:

Bild


Nun kann ich nochmal auf 5.2 umstellen, lade die Seite neu und bekomme die Fehlermeldung, dass keine Parameter übergeben werden:

Bild


Die Frage ist nun gibt es dafür bereits eine Lösung bzw. Einstellungen, die ich vornehmen kann?
Oder einen Ansatz dem ich weiter nachgehen kann.

Vielen Dank für die Hilfe

Grüße

Tobias Berscheid
Antworten