{"id":99,"date":"2025-01-21T08:05:28","date_gmt":"2025-01-21T07:05:28","guid":{"rendered":"http:\/\/cibis.de\/blog\/?p=99"},"modified":"2025-01-21T08:05:28","modified_gmt":"2025-01-21T07:05:28","slug":"linksammlung-teil-2-die-eingabe","status":"publish","type":"post","link":"https:\/\/cibis.de\/blog\/linksammlung-teil-2-die-eingabe\/2025\/","title":{"rendered":"Linksammlung Teil 2 &#8211; Die Eingabe"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Im letzten Teil wurde die Datenbank angebunden. Heute erstellen wir das Eingabeformular. Alle Werte aus der Datenbanktabelle sollen hier ein eigenes Formular bekommen. Sonderfall sollen die Schlagworte sein. Die werden durch Komma getrennt in eine Zeile eingegeben.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">Hier das Formular:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;form method=\"post\">\n  URL: &lt;input type=\"text\" name=\"url\" required>&lt;br>&lt;br>\n  Name: &lt;input type=\"text\" name=\"name\" required>&lt;br>&lt;br>\n  Tags (durch Komma getrennt): &lt;input type=\"text\" name=\"tags\">&lt;br>&lt;br>\n  &lt;input type=\"submit\" value=\"Link hinzuf\u00fcgen\">\n&lt;\/form><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Das Ganze wird via PHP verarbeitet:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Link hinzuf\u00fcgen\nif ($_SERVER&#91;\"REQUEST_METHOD\"] == \"POST\" &amp;&amp; isset($_POST&#91;\"url\"]) &amp;&amp; isset($_POST&#91;\"name\"]) &amp;&amp; isset($_POST&#91;\"tags\"])) {\n    $url = $_POST&#91;\"url\"];\n    $name = $_POST&#91;\"name\"];\n    $tags = $_POST&#91;\"tags\"];\n\n    \/\/ Prepared Statement verwenden, um SQL-Injection zu verhindern\n    $stmt = $conn->prepare(\"INSERT INTO links (url, name, tags) VALUES (?, ?, ?)\");\n    $stmt->bind_param(\"sss\", $url, $name, $tags);\n\n    if ($stmt->execute() === TRUE) {\n        \/\/echo \"Link erfolgreich hinzugef\u00fcgt\";\n    } else {\n        echo \"Fehler beim Hinzuf\u00fcgen des Links: \" . $stmt->error;\n    }\n    $stmt->close();\n}\n\n\/\/ Link l\u00f6schen\nif (isset($_GET&#91;\"delete\"])) {\n    $id = $_GET&#91;\"delete\"];\n\n    \/\/ Prepared Statement verwenden, um SQL-Injection zu verhindern\n    $stmt = $conn->prepare(\"DELETE FROM links WHERE id=?\");\n    $stmt->bind_param(\"i\", $id);\n\n    if ($stmt->execute() === TRUE) {\n        \/\/echo \"Link erfolgreich gel\u00f6scht\";\n    } else {\n        echo \"Fehler beim L\u00f6schen des Links: \" . $stmt->error;\n    }\n    $stmt->close();\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<div class=\"gsp_post_data\" \r\n\t            data-post_type=\"post\" \r\n\t            data-cat=\"code,php\" \r\n\t            data-modified=\"120\"\r\n\t            data-created=\"1737446728\"\r\n\t            data-title=\"Linksammlung Teil 2 &#8211; Die Eingabe\" \r\n\t            data-home=\"https:\/\/cibis.de\/blog\"><\/div>","protected":false},"excerpt":{"rendered":"<p>Im letzten Teil wurde die Datenbank angebunden. Heute erstellen wir das Eingabeformular. Alle Werte aus der Datenbanktabelle sollen hier ein eigenes Formular bekommen. Sonderfall sollen die Schlagworte sein. Die werden durch Komma getrennt in eine Zeile eingegeben.<\/p>\n","protected":false},"author":1,"featured_media":100,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,7],"tags":[10,8,9,4],"class_list":["post-99","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code","category-php","tag-bookmark","tag-code","tag-mysql","tag-php"],"_links":{"self":[{"href":"https:\/\/cibis.de\/blog\/wp-json\/wp\/v2\/posts\/99","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cibis.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cibis.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cibis.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cibis.de\/blog\/wp-json\/wp\/v2\/comments?post=99"}],"version-history":[{"count":2,"href":"https:\/\/cibis.de\/blog\/wp-json\/wp\/v2\/posts\/99\/revisions"}],"predecessor-version":[{"id":133,"href":"https:\/\/cibis.de\/blog\/wp-json\/wp\/v2\/posts\/99\/revisions\/133"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cibis.de\/blog\/wp-json\/wp\/v2\/media\/100"}],"wp:attachment":[{"href":"https:\/\/cibis.de\/blog\/wp-json\/wp\/v2\/media?parent=99"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cibis.de\/blog\/wp-json\/wp\/v2\/categories?post=99"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cibis.de\/blog\/wp-json\/wp\/v2\/tags?post=99"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}