Hallo,
eigentlich bin ich zu doof für PHP und habe nach 4 Lehrbüchern auch schon aufgegeben mich damit zu beschäftigen.
Nun bin ich aber einem Bekannten einen großen Gefallen schuldig und er möchte von mir eine Landingpage mit PHP - Kontakformular. Und dabei bin auf 1 Problem gestoßen.
Das Kontaktformular befindet sich ganz unten auf der Seite. Wenn der Absende - Knopf geklickt wird springt die Seite natürlich wieder ganz nach oben. Lässt sich so etwas verhindern?
Wie gesagt, ich bin zu doof für PHP. Falls es eine Lösung gibt benötige ich eine einfache Erklärung.
Hier ist mein PHP - Code, den ich aus einem der Bücher abgetippt habe:
<?php
if (isset($_POST['senden'])) {
$fehler = false;
$fehlertext = "";
if (empty($_POST['vorname'])) {
$fehler = true;
$fehlertext .= "Der Name fehlt!<br>\n";
}
if (empty($_POST['nachname'])) {
$fehler = true;
$fehlertext .= "Der Nachname fehlt!<br>\n";
}
if (empty($_POST['email'])) {
$fehler = true;
$fehlertext .= "Die E-Mail-Adresse fehlt!<br>\n";
}
if (empty($_POST['botschaft'])) {
$fehler = true;
$fehlertext .= "Das Kommentar-Feld muss ausgefüllt werden!<br>\n";
}
if ($fehler) {
echo "<p>$fehlertext</p>";
} else {
$vorname = filter_input(INPUT_POST, 'vorname', FILTER_SANITIZE_STRING);
$nachname = filter_input(INPUT_POST, 'nachname', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
$botschaft = filter_input(INPUT_POST, 'botschaft', FILTER_SANITIZE_STRING);
$mailbody = "$vorname $nachname schrieb:\n\n";
$mailbody .= $botschaft;
if (@mail("test@abc.de", "Nachricht", $mailbody, "Von: $Email")) {
echo "<p class='antwort_php'>Danke! Die Nachricht wurde weitergeleitet!</p>\n";
} else {
echo "<p class='antwort_php'>Leider gab es einen Sendefehler!</p>\n";
}
}
}
?>
Danke für's Lesen
eigentlich bin ich zu doof für PHP und habe nach 4 Lehrbüchern auch schon aufgegeben mich damit zu beschäftigen.
Nun bin ich aber einem Bekannten einen großen Gefallen schuldig und er möchte von mir eine Landingpage mit PHP - Kontakformular. Und dabei bin auf 1 Problem gestoßen.
Das Kontaktformular befindet sich ganz unten auf der Seite. Wenn der Absende - Knopf geklickt wird springt die Seite natürlich wieder ganz nach oben. Lässt sich so etwas verhindern?
Wie gesagt, ich bin zu doof für PHP. Falls es eine Lösung gibt benötige ich eine einfache Erklärung.
Hier ist mein PHP - Code, den ich aus einem der Bücher abgetippt habe:
<?php
if (isset($_POST['senden'])) {
$fehler = false;
$fehlertext = "";
if (empty($_POST['vorname'])) {
$fehler = true;
$fehlertext .= "Der Name fehlt!<br>\n";
}
if (empty($_POST['nachname'])) {
$fehler = true;
$fehlertext .= "Der Nachname fehlt!<br>\n";
}
if (empty($_POST['email'])) {
$fehler = true;
$fehlertext .= "Die E-Mail-Adresse fehlt!<br>\n";
}
if (empty($_POST['botschaft'])) {
$fehler = true;
$fehlertext .= "Das Kommentar-Feld muss ausgefüllt werden!<br>\n";
}
if ($fehler) {
echo "<p>$fehlertext</p>";
} else {
$vorname = filter_input(INPUT_POST, 'vorname', FILTER_SANITIZE_STRING);
$nachname = filter_input(INPUT_POST, 'nachname', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
$botschaft = filter_input(INPUT_POST, 'botschaft', FILTER_SANITIZE_STRING);
$mailbody = "$vorname $nachname schrieb:\n\n";
$mailbody .= $botschaft;
if (@mail("test@abc.de", "Nachricht", $mailbody, "Von: $Email")) {
echo "<p class='antwort_php'>Danke! Die Nachricht wurde weitergeleitet!</p>\n";
} else {
echo "<p class='antwort_php'>Leider gab es einen Sendefehler!</p>\n";
}
}
}
?>
Danke für's Lesen
Kommentar