Natürlich, ich kann Ihnen dabei helfen, ein Formular zu erstellen, das Daten mit PHP-Mailer versendet, ohne dass die E-Mail-Adresse des Empfängers im Formular selbst sichtbar ist. Die E-Mail-Adresse des Empfängers wird stattdessen direkt im PHP-Code festgelegt, der das Formular verarbeitet. Hier ist ein grundlegendes Beispiel, wie Sie dies tun können:

Schritt 1: Erstellen Sie Ihr HTML-Formular

Zuerst erstellen Sie Ihr HTML-Formular ohne ein Feld für die E-Mail-Adresse. Hier ist ein einfaches Beispiel:

html

Copy code
<form action="sendmail.php" method="post"> <label for="name">Name:</label> <input type="text" id="name" name="name"><br><br> <label for="message">Nachricht:</label> <textarea id="message" name="message"></textarea><br><br> <input type="submit" value="Senden"> </form>
Schritt 2: Verarbeiten und Senden der Daten mit PHP-Mailer

Erstellen Sie eine PHP-Datei (in diesem Beispiel

sendmail.php

), die die Daten des Formulars verarbeitet und mit PHP-Mailer versendet. Sie müssen PHP-Mailer in Ihrem Projekt installieren, falls Sie dies noch nicht getan haben. Sie können PHP-Mailer mit Composer installieren oder die benötigten Dateien direkt in Ihr Projekt einbinden.

Hier ist ein einfaches Beispiel für

sendmail.php

:

php

Copy code
<?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'path/to/PHPMailer/src/Exception.php'; require 'path/to/PHPMailer/src/PHPMailer.php'; require 'path/to/PHPMailer/src/SMTP.php'; $mail = new PHPMailer(true); try { //Servereinstellungen //$mail->SMTPDebug = SMTP::DEBUG_SERVER; // Aktivieren Sie diese Zeile für detaillierte Debug-Ausgaben $mail->isSMTP(); $mail->Host = 'smtp.example.com'; // Setzen Sie hier Ihren SMTP-Server $mail->SMTPAuth = true; $mail->Username = 'your-email@example.com'; // SMTP-Benutzername $mail->Password = 'your-password'; // SMTP-Passwort $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; $mail->Port = 587; //Empfänger $mail->setFrom('from@example.com', 'Mailer'); $mail->addAddress('empfaenger@example.com'); // Fügen Sie hier die Empfänger-Adresse hinzu //Inhalt $mail->isHTML(true); $mail->Subject = 'Neue Nachricht von Ihrem Formular'; $mail->Body = 'Name: ' . $_POST['name'] . '<br>Nachricht: ' . $_POST['message']; $mail->send(); echo 'Nachricht wurde gesendet'; } catch (Exception $e) { echo "Nachricht konnte nicht gesendet werden. Mailer Error: {$mail->ErrorInfo}"; } ?>

In diesem PHP-Script:

  • Ersetzen Sie
  • path/to/PHPMailer/src/...
  • mit dem tatsächlichen Pfad zu den PHPMailer-Dateien in Ihrem Projekt.
  • Konfigurieren Sie die
  • $mail->Host
  • ,
  • $mail->Username
  • ,
  • $mail->Password
  • und andere Einstellungen entsprechend Ihrem E-Mail-Server.
  • Die E-Mail-Adresse des Empfängers wird mit
  • $mail->addAddress('empfaenger@example.com');
  • festgelegt.

Wenn das Formular abgesendet wird, werden die Daten an

sendmail.php

gesendet, und das PHP-Script verwendet PHP-Mailer, um die Daten an die festgelegte E-Mail-Adresse zu senden, ohne dass die E-Mail-Adresse im Formular selbst erscheint.

https://innowise.com/de/php-development-services/

...zur Antwort
Formular mit Javascript bearbeiten?

Hallo, ich habe ein formular mit einem select und méchte je nach auswahl des benutzers die nächsten zwei Formulareingaben entweder einblenden oder ausblenden. Geht da mit Javascript?

Hier das Formular:

 <form class="form" method="POST" action="./?route=admin/module/create" enctype="multipart/form-data">
    <input type="hidden" name="csrf_token" value="<?php echo csrf_token(); ?>" />
    <input type="hidden" name="parent" value="<?php echo $parent["parent"]; ?>" />
    
    <label for="modules-create-title">Titel:</label><br />
    <input type="text" name="title" id="modules-create-title" value="<?php if(!empty($_POST['title'])) echo e($_POST['title']); ?>" /><br /><br />


    <label>Art des Moduls <br>
        <select name="module" size="1">
            <option value="slideshow">Slideshow</option>
            <option value="image_left_prev">About Vorschau mit Bild</option>
            <option value="reviews">Kundenmeinungen</option>
            <option value="contact_form">Kontaktformular</option>
            <option value="productcards">Angebote</option>
            <option value="content">Textfeld mit Titel</option>
            <option value="landingpage">Landingpage</option>
            <option value="content_right">Textfeld rechts mit Bild</option>
            <option value="content_left">Textfeld links mit Bild</option>
        </select>
    </label><br /><br />


    <label for="modules-create-picture">Hintergrundbild:
        <input name="image" type="file" id="modules-create-picture" size="50" accept="text/*"> 
    </label> <br /><br />


    <label for="editor">Text</label><br />
    <textarea id="editor" name="content" cols="35" rows="20"></textarea> <br /><br />



    <input type="submit" value="Speichern" />
</form>
...zum Beitrag

Natürlich, Sie können JavaScript verwenden, um Teile Ihres Formulars basierend auf der Auswahl in einem

<select>

-Element ein- oder auszublenden. Hier ist ein einfaches Beispiel, wie Sie dies tun können:

Zuerst fügen Sie Ihrem HTML-Code eine ID oder Klasse zu den Elementen hinzu, die Sie ein- oder ausblenden möchten. Zum Beispiel:

html

Copy code
<label for="modules-create-picture" id="picture-label">Hintergrundbild: <input name="image" type="file" id="modules-create-picture" size="50" accept="text/*"> </label> <br /><br /> <label for="editor" id="text-label">Text</label><br /> <textarea id="editor" name="content" cols="35" rows="20"></textarea> <br /><br />

Dann fügen Sie JavaScript hinzu, um auf Änderungen im

<select>

-Element zu reagieren und entsprechend die Sichtbarkeit der anderen Elemente anzupassen. Sie können dies direkt in Ihr HTML-Dokument einfügen (vorzugsweise vor dem schließenden

</body>

-Tag) oder in eine separate JavaScript-Datei.

html

Copy code
<script> document.addEventListener('DOMContentLoaded', function () { var selectElement = document.querySelector('select[name="module"]'); var pictureLabel = document.getElementById('picture-label'); var textLabel = document.getElementById('text-label'); function toggleVisibility() { var value = selectElement.value; // Beispiel: Blenden Sie das Bildfeld nur für "slideshow" ein if (value === 'slideshow') { pictureLabel.style.display = 'block'; } else { pictureLabel.style.display = 'none'; } // Beispiel: Blenden Sie das Textfeld nur für "content" ein if (value === 'content') { textLabel.style.display = 'block'; } else { textLabel.style.display = 'none'; } } // Event-Listener für Änderungen am Select-Element selectElement.addEventListener('change', toggleVisibility); // Initialer Aufruf, um die Sichtbarkeit beim Laden der Seite zu setzen toggleVisibility(); }); </script>

In diesem Beispiel habe ich zwei Funktionen

toggleVisibility

erstellt, die basierend auf der Auswahl im

<select>

-Element die Sichtbarkeit der Labels und Eingabefelder steuern. Sie müssen diese Logik entsprechend Ihren spezifischen Anforderungen anpassen.

https://innowise.com/de/

...zur Antwort