I hove a script in which I wanted to change the position of the “preview fieldset” (vorschau)
when I submit the form button with “Vorschau”, the Vorschau goes always on the top of the page when it reloads.
How can I put the “vorschau fieldset” just above the two buttons “Vorschau” and “Eintragen”
I made a screencast to see what it should looke like. And the concerning code section is line 161 - 172
Can this done with an anchor to jump on this position with the “preview fieldset” when submit the button “vorschau” ?
[php]
include “assets/gaestebuch/gb_konfig.php”;
if (!isset($_GET[“eintragen”])) {
print ‘
’;// Anzahl der Seiten berechnen
$AnzahlDatensaetze = $db->query(“SELECT COUNT(*) FROM " . $TABLE_PREFIX . "_gaestebuch
WHERE anzeige
= ‘1’”)->fetchColumn(0);
if ($AnzahlDatensaetze > 0) {
$Seitenanzahl = ceil($AnzahlDatensaetze / $EINTRAEGE_SEITE);
$AktuelleSeite = isset($_GET[“seite”]) ? $_GET[“seite”] : 1;
$AktuelleSeite = ctype_digit($AktuelleSeite) ? $AktuelleSeite : 1;
$AktuelleSeite = $AktuelleSeite < 1 || $AktuelleSeite > $Seitenanzahl ? 1 : $AktuelleSeite;
$Versatz = $AktuelleSeite * $EINTRAEGE_SEITE - $EINTRAEGE_SEITE;
// Gästebucheinträge auslesen
$select = $db->query("SELECT name
, nachricht
, homepage
, bewertung
, datum
FROM " . $TABLE_PREFIX . "_gaestebuch
WHERE anzeige
= ‘1’
ORDER BY datum
" . ($EINTRAEGE_IO == “Ende” ? “ASC” : “DESC”) . "
LIMIT " . $Versatz . ", " . $EINTRAEGE_SEITE);
if ($datensaetze = $select->fetchAll(PDO::FETCH_OBJ)) {
// Link-, und Formular-Navigation
print '<form action="gaestebuch_de.php" method="get" autocomplete="off">
<label class="form-control-label" for="seite">' . $AnzahlDatensaetze . ($AnzahlDatensaetze > 1 ? ' Einträge' : ' Eintrag') . ' - Seite: ' .
(($AktuelleSeite - 1) > 0 ? '<a href="?seite=' . ($AktuelleSeite - 1) . '" title="Zurück zu Seite ' . ($AktuelleSeite - 1) . '">&#9668;</a>' : '') .
' </label>
<input class="seitencounter" type="text" value="' . $AktuelleSeite . '" name="seite" title="Seitenzahl eingeben und die Eingabetaste drücken." onClick="this.select()">
<label class="form-control-label">
von ' . $Seitenanzahl .
(($AktuelleSeite + 1) <= $Seitenanzahl ? ' <a href="?seite=' . ($AktuelleSeite + 1) . '" title="Weiter zu Seite ' . ($AktuelleSeite + 1) . '">&#9658;</a>' : '') .
'</label>
</form>';
echo “
”;
// Gästebucheinträge anzeigen
foreach($datensaetze as $datensatz) {
sscanf($datensatz->datum, "%4s-%2s-%2s", $jahr, $monat, $tag);
print '<dl class="eintrag"><dt><b>' . $datensatz->name . '</b> ' .
bewertung($datensatz->bewertung, $STERN_NUMMER, $STERNE_ANZAHL) . ' <small> ' . (kalender($tag, $monat, $jahr)) . '' .
($datensatz->homepage != "" ? ' - <a href="' . $datensatz->homepage . '" target="_blank" rel="noopener">' . $datensatz->homepage . '</a>' : '') .
'</small></dt><dd>' . code($datensatz->nachricht) . '</dd></dl>';
}
// Navigation Zurück /Weiter
if ($AnzahlDatensaetze > $EINTRAEGE_SEITE) {
print '<p>' . (($AktuelleSeite - 1) > 0 ? '<a href="?seite=' . ($AktuelleSeite - 1) . '">&#9668; Zurück</a> ' : '') . ' ' .
(($AktuelleSeite + 1) <= $Seitenanzahl ? '<a href="?seite=' . ($AktuelleSeite + 1) . '">Weiter &#9658;</a>' : '') . '</p>';
}
}
}
else {
print ‘
Noch keine Einträge vorhanden!
’;}
}
else {
// In das Gästebuch eintragen
$name = isset($_POST[“name”]) ? $_POST[“name”] : “”;
$nachricht = isset($_POST[“nachricht”]) ? $_POST[“nachricht”] : “”;
$email = isset($_POST[“email”]) ? $_POST[“email”] : “”;
$homepage = isset($_POST[“homepage”]) ? $_POST[“homepage”] : “”;
// Benutzereingaben überprüfen
$Fehler = array(“name”=>"",“nachricht”=>"",“sicherheit”=>"",);
if (isset($_POST[“submit”]) ||
isset($_POST[“vorschau”])) {
$Fehler[“name”] = strlen($_POST[“name”]) <= 5 ? ‘’ : ‘’;
$Fehler[“name”] = strip_tags($_POST[“name”]) != $_POST[“name”] ? ‘HTML-Tags sind nicht erlaubt!
’ : $Fehler[“name”];
$Fehler[“nachricht”] = strlen($_POST[“nachricht”]) < 15 ? ‘’ : ‘’;
$Fehler[“nachricht”] = strip_tags($_POST[“nachricht”]) != $_POST[“nachricht”] ? ‘HTML-Tags sind nicht erlaubt!
’ : $Fehler[“nachricht”];
$Fehler[“sicherheit”] = (!isset($_POST[“vorschau”]) && md5($_POST[“zip”]) != $_POST[“zip2”]) ? ‘Die Sicherheitsabfrage ist falsch!
’ : ‘’;
}
// Auswahlliste “Webseite Bewertung”
$bewertung = isset($_POST[“bewertung”]) ? $_POST[“bewertung”] : 0;
$bewertungsauswahl = “\n \n Ich gebe keine Sterne”;
for ($value = 1; $value <= $STERNE_ANZAHL; $value++) {
$bewertungsauswahl .= “\n <option value=’” . $value . “’” .
((isset($_POST[“bewertung”]) ? $_POST[“bewertung”] : “”) == $value ?
" selected=‘selected’" : “”) . “>” . str_repeat($STERN_NUMMER . ’ ', $value) . “”;
}
$bewertungsauswahl .= "\n \n ";
// Sicherheitsabfrage - Zufallszahlen generieren
$Z0 = array(mt_rand(1, 9), mt_rand(1, 9));
$Z1 = max($Z0); $Z2 = min($Z0);
$Spam = $Z1 . " + &#" . (48 + $Z2) . “;”;
$Schutz = md5($Z1 + $Z2);
// Formular erstellen
$Formular = $javascript . ’
Dein Name
Dein Feedback
' . (smiley()) . '
' . $nachricht . '
E-Mail-Adresse (wird nicht angezeigt)
' : '' ) . ( $FORMFELD_HOMEPAGE == "ja" ? 'Ihre Homepage: (Optional)
' : '' ) . '
Wie hat es dir gefallen?' . $bewertungsauswahl . '
(Sterne von 1 bis ' . $STERNE_ANZAHL . ')
Sicherheitsabfrage:
✲ ' . $Fehler["sicherheit"] . '
' . $Spam . ' =
Beachte, dass dein Feedback erst nach einer Prüfung frei geschaltet wird.
’ . ($_SERVER[“REQUEST_METHOD”] == “POST” ? ‘’ : ‘’) . ’
// Vorschau
if (isset($_POST[“vorschau”]) &&
strlen($_POST[“name”]) >= 1 &&
strlen($_POST[“nachricht”]) >= 1) {
print ‘
Vorschau
’ .$name . ’ ’ .
(bewertung($bewertung, $STERN_NUMMER, $STERNE_ANZAHL)) . ‘
’ .
‘
’ . code($nachricht, true) . ‘
’ .
($FORMFELD_EMAIL == “ja” && $email != “” ? '
E-Mail: ’ . $email . '
Deine Email wird im Gästebuch nicht angezeigt ’ : ‘’) .
($FORMFELD_HOMEPAGE == “ja” && $homepage != “” ? '
Homepage: ’ . $homepage . ‘’ : ‘’) .
‘
’;
}
// Formular abgesendet
if (isset($_POST[“submit”])) {
// Sind keine Benutzer-Eingabefehler vorhanden …
if (implode("", $Fehler) == “”) {
// … in die Datenbank eintragen.
$insert = $db->prepare(“INSERT INTO " . $TABLE_PREFIX . "_gaestebuch
(anzeige
, name
, nachricht
, email
, homepage
, bewertung
, datum
) VALUES ( :anzeige, :name, :nachricht, :email, :homepage, :bewertung, '” . date(“Y-m-d H:i:s”) . “’)”);
if ($insert->execute([’:anzeige’ => $ANZEIGESPERRE,
‘:name’ => $_POST[“name”],
‘:nachricht’ => $_POST[“nachricht”],
‘:email’ => $email,
‘:homepage’ => $homepage,
‘:bewertung’ => $_POST[“bewertung”]])) {
$id = $db->lastInsertId();
print '<p>Vielen Dank <i>' . htmlspecialchars($_POST["name"], ENT_QUOTES | ENT_HTML5, 'UTF-8') .
'</i>,<br>Dein Feedback wurden in das Gästebuch eingetragen.</p>
<p><a href="gaestebuch_de.php">Das Gästebuch anzeigen</a></p>';
// E-Mail an den Admin versenden
if ($GB_INFO == "ja") {
mb_internal_encoding("UTF-8");
$Betreff = mb_encode_mimeheader("Neues Feedback erhalten", "UTF-8", "Q");
$Kopfzeile = "MIME-Version: 1.0;\nFrom: " .
mb_encode_mimeheader($_POST["name"], "UTF-8", "Q") .
"<[email protected]>" . "\nContent-Type: text/plain; Charset=UTF-8;\n";
@mail($EMAIL, $Betreff,
"Datum: " . date("d.m.Y H:i") .
" Uhr\nName: " . strip_tags($_POST["name"]) .
"\nNachricht:\n" . strip_tags($_POST["nachricht"]) .
"\n\nE-Mail:\n" . strip_tags($email) .
"\nHomepage:\n" . strip_tags($homepage) .
"\n\nBearbeiten: " . $PFAD . "assets/gaestebuch/gb_admin.php?id=" . $id, $Kopfzeile);
}
}
}
else {
// Formular und Benutzer-Eingabefehler ausgeben
print $Formular;
}
}
else {
// Formular ausgeben
print $Formular;
}
}
?>[/php]