Seite 1 von 1

Fortlaufende Nummer bei Formularversand

Verfasst: Fr 10. Feb 2023, 10:35
von inno
Hallo, gibt es die Möglichkeit ein Formular mit einer fortlaufenden Nummer verschicken zu lassen, dass mit dem Formulareditor von Mobirise erstellt wurde?

Beispiel:
Nummer: MH-1
Das nächste abgeschickte Formular müsste dann MH-2 , MH-3 usw. enthalten

Grüße

Re: Fortlaufende Nummer bei Formularversand

Verfasst: Fr 10. Feb 2023, 13:11
von Tommy Herrmann
... nein - das geht nicht. Das müsste man ein Skript mit Datenbank erstellen oder Cookies setzen.

Re: Fortlaufende Nummer bei Formularversand

Verfasst: Fr 10. Feb 2023, 13:50
von inno
Habe mir schon fast gedacht, dass es nicht so einfach geht!
Danke dir!

Re: Fortlaufende Nummer bei Formularversand

Verfasst: Di 14. Feb 2023, 17:59
von Werner-Zenk.de
Eine einfache Textdatei reicht da aus:

Code: Alles auswählen

<?php
$wert = file_get_contents("counter.txt");
$wert++;
echo 'Aktuell: ' . $wert;
file_put_contents("counter.txt", $wert);
?>
Inhalt der counter.txt:
0

Re: Fortlaufende Nummer bei Formularversand

Verfasst: Mi 15. Feb 2023, 14:19
von inno
Halo Werner,
baue ist das Script so in den PHP-Mailer?

Re: Fortlaufende Nummer bei Formularversand

Verfasst: Do 16. Feb 2023, 03:54
von Tommy Herrmann
Moin,

was für ein Skript benutzt Du denn bei Dir überhaupt? Ist das das Skript "mailscript.php" von meiner Seite hier:

https://www.mobirise-tutorials.com/Kontakt-Formular.php

... mit dem man die Mobirise-Formulare dann selbst mittels des PHPMailers verarbeitet?

Im PHPMailer selbst hat das nichts zu suchen.

Ich würde das dann in das Skript "mailscript.php", irgendwo nach dem Senden, einbauen - z.B. nach den Angaben zu Deiner E-Mail-Adresse:

Code: Alles auswählen

// Absender und Empfänger



Ich habe hier mal als Beispiel auch so einen Zähler (mit einem etwas anderen Syntax) vor Jahren eingebaut, hatte ich vollkommen vergessen:
// Senden zählen
$cnt = file_get_contents("counter.txt");
$cnt++;
file_put_contents("counter.txt", $cnt);
... hier in ein Skript von Werners "Formular-Generator":

https://www.mobirise-tutorials.com/Formular/


Das habe ich nach dem Button "Senden" - in der Prüfung, ob gesendet wurde, eingebaut:

Code: Alles auswählen

 
             if (mail($Mailto, $Betreff, $Text, $Kopfzeile)) {

               echo "<p>Vielen Dank, die Nachricht wurde versendet.</p>";
               
               // Senden zählen
               $cnt = file_get_contents("counter.txt");
               $cnt++;
               file_put_contents("counter.txt", $cnt);
               
              }
              else {

               // Wenn die Daten nicht versendet werden konnten,
               // wird die E-Mail-Adresse für den direkten Kontakt eingeblendet.
               echo "<p>Beim Senden der Nachricht ist ein Fehler aufgetreten!<br>" . 
               "Bitte wende Dich direkt an: <a href='mailto:" . $Mailto . "'>" . $Mailto . "</a></p>";
              }
Ich habe dazu also eine Datei mit dem Namen "counter.txt" erstellt und in diese die Zahl 0 eingetragen, die später über das PHP-Skript umgeschrieben wird. Diese Datei gehört in das Stammverzeichnis (Root) von Mobirise am Server, also in das Verzeichnis in dem sich auch die Seite mit dem Formular, bzw. die Datei "mailscript.php", befindet.

Anzeigen lasse ich die Datei mit der Zälung dann unter dem Formular (oder wo auch immer), also getrennt vom Skript zum Schreiben der Zählung:
<?php readfile("counter.txt"); ?>

Code: Alles auswählen

<div class="mbr-text mbr-fonts-style pb-3" mbr-theme-style="display-5" data-app-selector=".mbr-text, .blockquote-quote" mbr-article>

       Dieses Formular wurde: <?php readfile("counter.txt"); ?> x gesendet. 

</div>
In meiner Datei "counter.txt" steht dann lediglich die von PHP geschriebene Zahl, im Screenshot unten jetzt gerade 789.

Counter für Formular.jpg

Re: Fortlaufende Nummer bei Formularversand

Verfasst: Do 16. Feb 2023, 15:55
von inno
Hallo Tommy,
da hast du mich falsch verstanden, die Nummer soll nur über das Formular mitgeschickt werden.
Hier geht es um eine interne Zuordnung.
Gruß

Re: Fortlaufende Nummer bei Formularversand

Verfasst: Do 16. Feb 2023, 18:26
von Volker
Du musst dann ja nur die counter.txt, bzw. deren Inhalt mit versenden lassen, schon hast Du deine fortlaufende Nummer ;)

Re: Fortlaufende Nummer bei Formularversand

Verfasst: Do 16. Feb 2023, 21:16
von Werner-Zenk.de
inno hat geschrieben: Mi 15. Feb 2023, 14:19 Halo Werner,
baue ist das Script so in den PHP-Mailer?
Wir wissen nun nicht welches Script du verwendest, ich nehme mal das aktuelle Script von meiner Seite: E-Mails mit dem phpMailer und SMTP versenden

Vor der PHP-Anweisung:

Code: Alles auswählen

    // Betreff
    $mail->Subject = $_POST["betreff"];
Fügst du, folgendes ein:

Code: Alles auswählen

$wert = file_get_contents("counter.txt");
$wert++;
file_put_contents("counter.txt", $wert);
Und den Betreff ersetzt du durch:

Code: Alles auswählen

    // Betreff
    $mail->Subject = $_POST["betreff"] . " MH-" . $wert;
Somit steht die Zahl gleich in der Kopfzeile und du musst nicht jede Mail öffnen, um zu wissen welche Zahl gerade aktuell ist.

Re: Fortlaufende Nummer bei Formularversand

Verfasst: Fr 17. Feb 2023, 08:57
von inno
Hallo Werner,

das teste ich später gleiche! Danke schon mal für die schnelle Hilfe.
Verwende das Script ohne SMTP Versand. Grüße

Re: Fortlaufende Nummer bei Formularversand

Verfasst: Fr 17. Feb 2023, 09:44
von Tommy Herrmann
Das hat doch mit SMTP nix zu tun - Du schreibst doch lediglich die Variable $wert mit in die Betreff-Zeile.

Das kannst Du natürlich auch an jedes andere Feld mit ran schreiben.

Re: Fortlaufende Nummer bei Formularversand

Verfasst: Mi 1. Mär 2023, 15:13
von inno
Ich habe ganz vergessen Rückmeldung zu geben! Funktioniert perfekt!
Vielen Dank für eure Hilfe!