Wie erstelle ich ein dynamisches Kontaktformular?

3 Antworten

Dazu könntest du mit JavaScript arbeiten und zB für jeden Typ von Kontaktformular ein eigenes PHP Script anlegen und dieses dann via JavaScript aufrufen. Dazu einen Event Listener an das Dropdown-Element hängen der auf das change Event hört und dann mit window.location.href das passende script aufrufen.

Schöner könntest du es mir AJAX lösen, einer JavaScript Technik um Daten bzw. HTML nachzuladen. Dann lädst du den HTML Code nach und zeigst ihn an, und musst nicht die Seite neu laden.

Oder wenn du wirklich Lust auf JavaScript hast nutzt du ausschließlich JS Code um das richtige Kontaktformular anzuzeigen und verzichtest an der Stelle auf PHP.

Woher ich das weiß:Berufserfahrung – Studium + Berufspraxis
TechPech1984  16.04.2022, 11:07

lol , dein ernst , warum einfach, wenn man es auch extrem schwierig machen kann .

naja , wer das einfache schon nicht mehr kann , der hat eigentlich auch keine ahnung .

wer javascript zwingend brauch, der hat doch schon verloren .

0
fluffiknuffi2  16.04.2022, 11:16
@TechPech1984

Ja nur leider ist deine einfache Antwort nicht das was gesucht ist 😑

Du brauchst JS nicht zwingend. Du kannst auch das select in ein eigenes Formular wrappen, dann ein Submit button dazu und dann wird per PHP entsprechend der Auswahl das richtige Formular gebaut. Nur dann hast du eben diesen zusätzlichen Button statt via JS das automatisch beim Ändern zu triggern.

0

z.b.

   <?php
   if(isset($_POST["submit"])){
      if ($_POST["formulartyp"] == 0 ) {
      ....
      } else {
     mail("email@mail.com", "Kontaktformualr", 'Vorname: '.$_POST["vorname"].'Nachname: '.$_POST["nachname"].' Email: '.$_POST["email"].' Betreff: '.$_POST["subject"].' Nachricht: '.$_POST["message"]);
    }
     ?>
     <h1 style="color: green;">Das Kontaktformular wurde abgesendet!</h1>
     <?php
   }
   ?>


   <form action="contact.php" method="post" class="service-contact-form">
      <select name="formulartyp">
         <option value="0">Support Anfrage</option>
         <option value="1">Bestellung</option>
       </select>
     <input class="service-input-field" type="text" name="vorname" placeholder="Vorname*" required="required"><br>
     <input class="service-input-field" type="text" name="nachname" placeholder="Nachname*" required="required"><br>
     <input class="service-input-field" type="email" name="email" placeholder="Email*" required="required"><br>
     <input class="service-input-field" type="text" name="subject" placeholder="Betreff"><br>
     <textarea class="service-textarea-field" name="message" rows="8" cols="80" placeholder="Nachricht*" required="required"></textarea><br>
     <button class="service-contact-form-button" type="submit" name="submit">Senden</button>
   </form>
fluffiknuffi2  16.04.2022, 11:08

Ich glaube das ist nicht ganz was gemeint ist 😅

0
jerora98 
Fragesteller
 16.04.2022, 11:10
@fluffiknuffi2

jain es ist teilweise schon was ich meinte, er hat mir gezeigt wie ich anhand des select Feldes die e-Mail generiere, aber nicht wie ich anhand des select Feldes auch das Kontaktformular an sich darstelle. Danke schonmal dafür :D

1