{"id":410,"date":"2017-05-06T11:47:44","date_gmt":"2017-05-06T09:47:44","guid":{"rendered":"http:\/\/evileu.de\/zum-schwarzen-pinguin\/?p=410"},"modified":"2017-05-06T11:59:10","modified_gmt":"2017-05-06T09:59:10","slug":"nochn-nachschlag-formular-mit-gedaechtnis-reines-php","status":"publish","type":"post","link":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/2017\/05\/06\/nochn-nachschlag-formular-mit-gedaechtnis-reines-php\/","title":{"rendered":"Noch&#8217;n Nachschlag: Formular mit Ged\u00e4chtnis (reines PHP)"},"content":{"rendered":"<h2>Formular soll sich Eingaben merken<\/h2>\n<p>Kennen sie das auch: man hat ein Online-Formular ausgef\u00fcllt und auf den &#8222;Abschicken&#8220;-Button geklickt, und alle Benutzereingaben verschwinden, man hat wieder ein leeres Formular vor sich. Passiert heutzutage gottseidank nicht mehr so oft, aber wenn dann ist es oft verdammt \u00e4rgerlich, wenn man nicht das gew\u00fcnschte Ergebnis erzielt hat und das Formular nochmal von vorn ausf\u00fcllen mu\u00df. Unser Freizeitsportpartner-Suchformular vom Turnverein Wei\u00df-Blau leidet noch unter dieser Kinderkrankheit, und die wollen wir ihm abgew\u00f6hnen. Kurz zur Erinnerung, das Formular sieht so aus:<\/p>\n<div id=\"attachment_391\" style=\"width: 530px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-391\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-391\" src=\"http:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/suchformular.jpg\" alt=\"suchformular\" width=\"520\" height=\"248\" srcset=\"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/suchformular.jpg 520w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/suchformular-300x143.jpg 300w\" sizes=\"(max-width: 520px) 100vw, 520px\" \/><p id=\"caption-attachment-391\" class=\"wp-caption-text\">suchformular<\/p><\/div>\n<h2>Selektive Vorbelegung<\/h2>\n<p>Jetzt m\u00f6chte ich gerne, da\u00df nach dem Klick auf &#8222;Abschicken&#8220; die vom Benutzer gesetzten H\u00e4kchen in den Checkboxen erhalten bleiben. Bislang sah der Code f\u00fcr eine Checkbox so aus:<\/p>\n<p><em>echo &#8222;&lt;input type=&#8217;checkbox&#8216; name=&#8217;turnen&#8216; value=&#8217;ja&#8216;&gt;Turnen&lt;br&gt;&#8220;;<\/em><\/p>\n<p>Den brechen wir jetzt ein bi\u00dfchen auf, und wir fragen ab ob denn der Wert f\u00fcr die Checkbox nicht schon mal gesetzt wurde, das sieht dann so aus:<\/p>\n<p><em>echo &#8222;&lt;input type=&#8217;checkbox&#8216; name=&#8217;turnen&#8216; value=&#8217;ja'&#8220;; <\/em><br \/>\n<em>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if ($_POST[&#8218;turnen&#8216;] == &#8218;ja&#8216;){<\/em><br \/>\n<em>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0echo &#8222;checked=&#8217;checked'&#8220;;<\/em><br \/>\n<em>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0}<\/em><br \/>\n<em>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0echo &#8222;&gt;Turnen&lt;br&gt;&#8220;;<\/em><\/p>\n<p>Das <em>$_POST[&#8218;turnen&#8216;]<\/em> enth\u00e4lt den aktuellen Wert des Feldes, der ist leer, wenn die Checkbox vor dem Dr\u00fccken des Abschicken-Buttons leer war, und er enth\u00e4lt ein &#8222;ja&#8220;, wenn die Checkbox angekreuzt war. Das checken wir mit dem IF ab, und mit dem <em>&#8222;checked=&#8217;checked'&#8220;<\/em> setzen wir im ja-Fall das H\u00e4ckchen.<\/p>\n<p>That&#8217;s it! Das machen wir f\u00fcr alle anderen Checkboxen analog, und schon haben wir ein Formular mit Ged\u00e4chtnis.<\/p>\n<h2>Dropdownfeld mit Ged\u00e4chtnis<\/h2>\n<p>F\u00fcr die, die&#8217;s ganz perfekt haben wollen, hier noch die Vorbelegung f\u00fcr das Dropdown-Feld:<\/p>\n<p><em>\/*Begin select*\/<\/em><br \/>\n<em>echo &#8222;Auswahl Fitne\u00df: &amp;nbsp&#8220;;<\/em><br \/>\n<em>echo &#8222;&lt;select name=&#8217;meine_auswahl&#8216;&gt;&#8220;;<\/em><\/p>\n<p><em>echo &#8222;&lt;option&#8220;;<\/em><br \/>\n<em>if ($_POST[&#8218;meine_auswahl&#8216;] == &#8218;egal&#8216;){<\/em><br \/>\n<em>\u00a0\u00a0 \u00a0echo &#8220; selected&#8220;;<\/em><br \/>\n<em>}<\/em><br \/>\n<em>echo &#8222;&gt;egal&lt;\/option&gt;&#8220;;<\/em><\/p>\n<p><em>echo &#8222;&lt;option&#8220;;<\/em><br \/>\n<em>if ($_POST[&#8218;meine_auswahl&#8216;] == &#8218;Anf\u00e4nger&#8216;){<\/em><br \/>\n<em>\u00a0\u00a0 \u00a0echo &#8220; selected&#8220;;<\/em><br \/>\n<em>}<\/em><br \/>\n<em>echo &#8222;&gt;Anf\u00e4nger&lt;\/option&gt;&#8220;;<\/em><\/p>\n<p><em>echo &#8222;&lt;option&#8220;;<\/em><br \/>\n<em>if ($_POST[&#8218;meine_auswahl&#8216;] == &#8218;Freizeitsportler&#8216;){<\/em><br \/>\n<em>\u00a0\u00a0 \u00a0echo &#8220; selected&#8220;;<\/em><br \/>\n<em>}<\/em><br \/>\n<em>echo &#8222;&gt;Freizeitsportler&lt;\/option&gt;&#8220;;<\/em><\/p>\n<p><em>echo &#8222;&lt;option&#8220;;<\/em><br \/>\n<em>if ($_POST[&#8218;meine_auswahl&#8216;] == &#8218;Profi&#8216;){<\/em><br \/>\n<em>\u00a0\u00a0 \u00a0echo &#8220; selected&#8220;;<\/em><br \/>\n<em>}<\/em><br \/>\n<em>echo &#8222;&gt;Profi&lt;\/option&gt;&lt;\/select&gt;&lt;br&gt;&#8220;;<\/em><br \/>\n<em>\/*End Select*\/<\/em><\/p>\n<p>Das k\u00f6nnen sie sich jetzt aber selber zusammenreimen, der Mechanismus ist genau so wie bei der Checkbox, nur halt f\u00fcr jede Option extra. Zugegeben, es ist ein bi\u00dfchen Aufwand, aber in Sachen Benutzerfreundlichkeit der M\u00fche wert.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Formular soll sich Eingaben merken Kennen sie das auch: man hat ein Online-Formular ausgef\u00fcllt und auf den &#8222;Abschicken&#8220;-Button geklickt, und alle Benutzereingaben verschwinden, man hat wieder ein leeres Formular vor sich. Passiert heutzutage gottseidank nicht mehr so oft, aber wenn dann ist es oft verdammt \u00e4rgerlich, wenn man nicht das gew\u00fcnschte Ergebnis erzielt hat und [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1,21,11,4],"tags":[],"_links":{"self":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/410"}],"collection":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/comments?post=410"}],"version-history":[{"count":4,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/410\/revisions"}],"predecessor-version":[{"id":414,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/410\/revisions\/414"}],"wp:attachment":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/media?parent=410"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/categories?post=410"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/tags?post=410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}