PHP Ausgabetext woanders anzeigen lassen

LeanderAT

Lt. Junior Grade
Registriert
Apr. 2015
Beiträge
464
Hallo!

Eine kurze Frage: Ich habe vor ziiig Jahren im Net ein PHP-Script gefunden, mit dem man sich für einen Newsletter anmelden kann. Im Prinzip wird nur eine Mail an mich geschickt. Das Problem ist, dass ich null Ahnung von PHP habe und nur vorgefertige Scripts eventuell leicht umbauen kann. Nur hier komme ich nicht weiter.

Wenn man auf "Senden" klickt und nicht alles ausgefüllt hat, kommt eine Errormeldung...aber auf einer neuen Seite...und man muss extra "zurück" klicken. Ich würde es gerne ändern...und zwar, dass die Errormeldung ganz normal unter dem Eingabefeld angezeigt wird.

Screenshot:
https://abload.de/img/neues7ofe8.jpg

1) So sieht das Formular aus. Man klickt auf "Senden".
2) Dann wird alles Sichtbare von 1) gelöscht....man sieht NUR die Meldung.
3) So soll es aussehen! Die Meldung soll direkt angezeigt werden ohne Rückbutton. Dazu muss man den Code verändern, aber ich weiß nicht, wie.

Wäre über Hilfe dankbar!

Hier der Code!

===========

<div id="content"> <?php

if ($www_action == "")
{

print"

<form action=$PHP_SELF method=\"post\">

<p class=\"menuepunkt\">NEUES</p>

<P><B>Newsletter:</B>
<P><small>E-Mail:&nbsp;<input type=\"textfield\" class=\"feldsuche\" name=\"mail\" value=\"\">&nbsp;<input type=\"radio\" name=\"news\" value=\"yes\">Anmelden&nbsp;<input type=\"radio\" name=\"news\" value=\"no\">Abmelden&nbsp;&nbsp;&nbsp;<input type=\"submit\" name=\"www_action\" value=\"Senden\" class=\"button\"></small>

</td>
</tr>
</table>
</form>";

}

if ($www_action == "Senden")
{

if ($mail=="")
{print("<p class=\"menuepunkt\">NEUES</p>
<br><p class=\"greenerror\">Bitte Mailadresse angeben!</p><a href=\"javascript:history.back()\" class=\"class1\"><p>zurück</a><p><A HREF=\"neues_de.php\" class=\"class1\">zurück (ohne JS)");
die("");}

if ($news=="")
{print("<p class=\"menuepunkt\">NEUES</p>
<br><p class=\"greenerror\">Bitte An- oder Abmelden auswählen!</p><a href=\"javascript:history.back()\" class=\"class1\"><p>zurück</a><p><A HREF=\"neues_de.php\" class=\"class1\">zurück (ohne JS)");
die("");}

mail("xxxxx@xxxxx.xx", "Newsletter","


MAIL: $mail

Newsletter? $news"

, "From: $mail\n"
."Reply-To: $mail\n"
."X-Mailer: PHP/" . phpversion() . "\n\n");

print("<H2><a href=\"neues_de.php\" class=\"class2\">NEUES</a><span>&nbsp;< Newsletter</span></H2><br><p class=\"greenerror\">An-/Abmeldung erfolgreich gesendet!</p><meta http-equiv=\"refresh\" content=\"3;neues_de.php\">");

}

?></td>
</tr> </table>
<P><B>Die aktuellen Neuigkeiten:</B>
<P><b>x. Jänner 2018:</b> <BR>
Die neue Homepage geht online!
</div>
<!--Ende content-->
 
Das wär in php aufwendiger. Mit JavaScript sind das 3 Zeilen.
 
auf jeden fall javascript. mit php kannst du keine seite dynamisch verändern, da php ja serverseitig abläuft.
 
Formulare müssen immer Serverseitig validiert werden. Javascript kannst du höchstens zusätzlich nutzen aber auf keinen Fall ausschließlich.
 
xenon-seven schrieb:
Formulare müssen immer Serverseitig validiert werden. Javascript kannst du höchstens zusätzlich nutzen aber auf keinen Fall ausschließlich.

Wo soll hier was validiert werden?
 
Danke! Ich kenn mich wie gesagt nicht aus. Im Newsletter-PHP steht der Infotext ohne den anderen Inhalt, im Gästebuch-PHP steht der Infotext direkt unter Eingabefeldern. Habs jetzt aber ohne Rücklink gemacht, mit Seitenrefresh.
 
Zum Glück sind in der Vergangenheit noch nie schlimme Dinge passiert, wenn Leute Internetseiten zusammen kopieren und sich nach eigenem Bekunden nicht auskennen: http://form.guide/php-form/php-form-action-self.html

Lernen hilft gegen nicht auskennen ;) Dafür gibt es Bücher und Kurse, die man besuchen kann.
EU-DSGVO-Hinweise und doppeltes Opt-In-Verfahren braucht ihr in Österreich bei E-Mail-Newsletter-Anmeldungen nicht?

Grüße

PS: Ich meine das nicht böse. Aber beschäftige Dich noch mal etwas genauer mit deinem Vorhaben. Es gibt ja im Zweifelsfall Dienstleister & Frameworks für so etwas. (Homepage mit DSGVO-Konformer Newsletter-Anmeldung)
 
  • Gefällt mir
Reaktionen: LeanderAT
Zurück
Oben