Ankündigung

Einklappen
Keine Ankündigung bisher.

Flüssiges Kontaktformular programmieren

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Flüssiges Kontaktformular programmieren

    Hallo Community,
    ich habe auf vielen Seiten in Echtzeit reagierende Formulare gesehen. Also dass wenn man z.B. ein Feld leer lässt, dass das sofort angezeigt wird.
    Ich schaffe das nicht und muss die Seite erst neuladen, bevor so etwas angezeigt werden kann.

    Hier ist mein Code:
    PHP-Code:
    <?php
    SESSION_START
    ();

    $senden True;

    if (isset(
    $_SESSION['User'])) {
    $styled_page "<link rel="shortcut icon" href="../images/favicon.png"><link rel="icon" type="image/png" href="../images/favicon.png"><script src="jquery.min.js"></script><link rel="stylesheet" href="../styles/main.css"><link rel="stylesheet" href="../styles/fonts-googleapis.css"><link rel="stylesheet" href="../styles/fonts-googleapis-pacifico.css"><link rel="stylesheet" href="../styles/ynb5ymm.css"><header id="header"><div class="inner"><a href="../index.html" class="logo">Klappgeschichten</a><nav id="nav"><a href="../download.html">Download</a><a href="../news.html">News</a><a href="../konto.html"> Konto </a><a href="logout.php"> Abmelden </a></nav></div></header>";
    }
    else {
    $styled_page "<link rel="shortcut icon" href="../images/favicon.png"><link rel="icon" type="image/png" href="../images/favicon.png"><script src="jquery.min.js"></script><link rel="stylesheet" href="../styles/main.css"><link rel="stylesheet" href="../styles/fonts-googleapis.css"><link rel="stylesheet" href="../styles/fonts-googleapis-pacifico.css"><link rel="stylesheet" href="../styles/ynb5ymm.css"><header id="header"><div class="inner"><a href="../index.html" class="logo">Klappgeschichten</a><nav id="nav"><a href="../download.html">Download</a><a href="../news.html">News</a><a href="login.php"> Login </a></nav></div></header>";
    }

    if (isset(
    $_GET['kontakt'])) {

    if (
    $_POST['Kontaktgrund'] == "Fehler im Programm"|$_POST['Kontaktgrund'] == "Wünsche für das Programm") {
    $empfaenger "example@example.de";
    $betreff $_POST['Kontaktgrund']." - Nachricht von ".$_POST['Name'];
    }

    elseif (
    $_POST['Kontaktgrund'] == "Fehler auf der Website"|$_POST['Kontaktgrund'] == "Wünsche für die Website") {
    $empfaenger "example@example.de";
    $betreff $_POST['Kontaktgrund']." - Nachricht von ".$_POST['Name'];
    }

    elseif (
    $_POST['Kontaktgrund'] == "Anderes") {
    $empfaenger "example@example.de";
    $betreff "Nachricht von ".$_POST['Name'];
    }

    elseif (
    $_POST['Kontaktgrund'] == "---Bitte Auswählen---") {
    $senden False;
    $auswahlfalsch "Du musst ein Feld auswählen!";
    }




    // Diese Felder werden nicht in der Mail stehen
    $ignore_fields = array('submit');

    //Datum, wann die Mail erstellt wurde
    $name_tag = array("Sonntag""Montag""Dienstag""Mittwoch""Donnerstag""Freitag""Samstag");
    $num_tag date("w");
    $tag $name_tag[$num_tag];
    $jahr date("Y");
    $n date("d");
    $monat date("m");
    $time date("H:i");

    //Erste Zeile unserer Email
    $msg ":: Gesendet am $tag, den $n.$monat.$jahr - $time Uhr ::\n\n Abgesendet von ".$_SESSION['User']."\n\n";

    //Hier werden alle Eingabefelder abgefragt
    foreach($_POST as $name => $value) {
       if (
    in_array($name$ignore_fields)) {
            continue; 
    //Ignore Felder wird nicht in die Mail eingefügt
       
    }
      
    $msg .= "::: $name :::\n$value\n\n";
    }





    $header[] = 'MIME-Version: 1.0';
    $header[] = 'Content-type: text/plain; charset=utf8';
    $header[] = "From: Kontaktformular <example@example.de>";


    if (
    $senden != false) {
    $mail_senden mail($empfaenger$betreff$msgimplode("\r\n"$header));


    if(
    $mail_senden){
      echo 
    $styled_page;
      echo 
    "<center><p>Deine Mitteilung wurde erfolgreich versendet!</p><br>";
      echo 
    "<a href="../index.html">Zurück zur Startseite</a>";
      exit();

    }
    else{
      echo 
    $styled_page;
      echo 
    "<center><h1>Es trat ein Fehler auf</h1><br>";
      echo 
    "<p>Das Kontaktformular konnte nicht versendet werden.</p></center>";
      exit();
    }


    }

    }
    ?>
    Und das ist mein Formular:

    HTML-Code:
        <form method="post" action="?kontakt=1">
                                <div class="field half first">
                                    <label for="name">Name</label>
                                        <input type="text" name="Name" id="name" required />
                                </div>
    
    
                                <div class="field half">
                                    <label for="auswahlliste">Betreff</label>
                                    <div class="select-wrapper">
                                    <select name="Kontaktgrund" size="1" required id="auswahlliste">
                                            <option class="auswahl" >---Bitte Auswählen---</option>
                                            <option class="auswahl">Fehler im Programm</option>
                                            <option class="auswahl">Wünsche für das Programm</option>
                                            <option class="auswahl">Fehler auf der Website</option>
                                            <option class="auswahl">Wünsche für die Website</option>
                                            <option class="auswahl">Anderes</option>
                                        </select>
    
                                    </div>
                                        if (isset ($auswahlfalsch)) {
                                            echo $auswahlfalsch;
                                            $exists = True;
                                       }
    
    
                                echo </div>
                                <div class="field">
                                    <label for="Message">Nachricht</label>
                                    <textarea name="Nachricht" id="Message" rows="6" required ></textarea>
                                </div>
                                <ul class="actions">
                                    <li><input type="submit" value="Abschicken" class="alt" /></li>
                                </ul>
    
                            </form>
    Ich hoffe ihr könnt mir helfen!

    Liebe Grüße und Vielen Dank im Vorraus
    PHPWriter23

  • #2
    Hat mit PHP nichts zu tun.

    https://html.com/attributes/input-required/
    https://developer.mozilla.org/en-US/...orm_validation

    Kommentar


    • #3
      Du kannst dafür Javascript/JQuery nutzen:

      Entweder change
      oder on

      Kommentar


      • #4
        [MOD: verschoben von PHP-Einsteiger]

        Das ist simple Ereignissteuerung, da muss man kein jQuery für verwenden, das kann JS nativ allerbest...
        https://developer.mozilla.org/en-US/.../Events/change
        Competence-Center -> Enjoy the Informatrix
        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

        Kommentar

        Lädt...
        X