Warum wird die Seite neu geladen wenn ich etwas eingebe?

3 Antworten

  1. dein code läuft auf dem server , der client bekommt nur die ausgabe .
  2. wenn du eine form sendest, schickst du die daten an die, in der form action angebenen URL, oder die aktuelle URL und dann gehts wieder bei punkt 1. weiter .

wie du im hintergrund daten verarbeitest haben die beiden anderen erklärt .

Beim Absenden eines Formulars wird die Seite standardmäßig neugeladen, ansonsten wird der PHP-Code nicht ausgeführt.

Wenn die Seite nicht neugeladen werden soll, ließe sich das PHP-Skript über einen asynchronen Ajax-Request (JavaScript) abrufen. Hier ein Beispiel mittels jQuery:

// wenn das Formular abgesendet wird
$("form").submit(function(e) {
    // Neuladen unterdrücken
    e.preventDefault();

    // PHP-Datei „request.php“ über POST aufrufen
    $.ajax({
        type: "POST",
        url: "request.php",
        // Formulardaten einsetzen
        data: $(this).serialize(),
        success: function(data) {
            // Rückgabe anzeigen
            alert(data);
        }
    });
});

Siehe dazu: https://stackoverflow.com/a/6960586

PHP funktioniert serverseitig und muss deine Eingaben übermitteln und bearbeiten, und dann dir das Resultat anzuzeigen. Um das anders zu machen musst du dir Javascript/Ajax anschauen.