Fortlaufende Nummer bei Formularversand

Allgemeine Fragen
inno
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 355
Registriert: Do 17. Dez 2020, 11:59

Fortlaufende Nummer bei Formularversand

Ungelesener Beitrag 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
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 7758
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Fortlaufende Nummer bei Formularversand

Ungelesener Beitrag von Tommy Herrmann »

... nein - das geht nicht. Das müsste man ein Skript mit Datenbank erstellen oder Cookies setzen.
inno
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 355
Registriert: Do 17. Dez 2020, 11:59

Re: Fortlaufende Nummer bei Formularversand

Ungelesener Beitrag von inno »

Habe mir schon fast gedacht, dass es nicht so einfach geht!
Danke dir!
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Fortlaufende Nummer bei Formularversand

Ungelesener Beitrag 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
inno
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 355
Registriert: Do 17. Dez 2020, 11:59

Re: Fortlaufende Nummer bei Formularversand

Ungelesener Beitrag von inno »

Halo Werner,
baue ist das Script so in den PHP-Mailer?
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 7758
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Fortlaufende Nummer bei Formularversand

Ungelesener Beitrag 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
inno
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 355
Registriert: Do 17. Dez 2020, 11:59

Re: Fortlaufende Nummer bei Formularversand

Ungelesener Beitrag 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ß
Volker
Moderator
Moderator
Beiträge: 1431
Registriert: Sa 12. Dez 2020, 22:35

Re: Fortlaufende Nummer bei Formularversand

Ungelesener Beitrag von Volker »

Du musst dann ja nur die counter.txt, bzw. deren Inhalt mit versenden lassen, schon hast Du deine fortlaufende Nummer ;)
Gruß Volker
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Fortlaufende Nummer bei Formularversand

Ungelesener Beitrag 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.
inno
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 355
Registriert: Do 17. Dez 2020, 11:59

Re: Fortlaufende Nummer bei Formularversand

Ungelesener Beitrag 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
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 7758
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Fortlaufende Nummer bei Formularversand

Ungelesener Beitrag 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.
inno
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 355
Registriert: Do 17. Dez 2020, 11:59

Re: Fortlaufende Nummer bei Formularversand

Ungelesener Beitrag von inno »

Ich habe ganz vergessen Rückmeldung zu geben! Funktioniert perfekt!
Vielen Dank für eure Hilfe!
Antworten

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 11 Gäste