Support » Plugins » Formular sendet für Abfrage der DaBa keine Worte mit Umlauten

  • Gelöst tihajo

    (@tihajo)


    Guten Tag,
    ich bin ein 71-jähriger Hobby-Webmaster unseres Vereins und habe auch die Vereins-Website erstellt.
    Ich bitte um Hilfe zur Lösung des Problems :
    Gibt man im Suchfeld der Seite (s.Link) ein Wort mit deutschem Umlaut ein, so sendet das Formular nicht den Umlaut (sondern evtl. irgendein Zeichen), weshalb kein Wort ausgelesen und geliefert wird.
    „Mü“ bringt nichts, aber „Mu“ bingt alle Mu… und Mü… aus das DaBa-Tab.

    Ich habe geschrieben :
    – im Header: meta charset=“UFT-8″
    – im form-tag: accept-charset=“UTF-8″
    – im PHP-Script nach $db=new mysqli(….); dann $db->set_charset(„utf8“);

    DaBa auslesen funktioniert korrekt, aber das Absenden des Formulars von Umlaut-Wörtern nicht.
    Bitte beschreiben Sie ausführlich, was ich wo ändern muss.
    Besten Dank und bleiben Sie gesund.

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 6 Antworten - 1 bis 6 (von insgesamt 6)
  • Ich kenne deinen PHP-Code nicht und kann das deshalb auch nicht beurteilen.
    Für Zugriffe auf die Datenbank solltest du aus Sicherheitsgründen aber das Objekt WPDB nutzen. Mehr Informationen dazu findest du in der Dokumentation (engl.): https://developer.wordpress.org/reference/classes/wpdb/

    Danke Bego Mario, aber Dein Tipp hilft mir nicht, weil zu kompliziert.
    Zudem greife ich ja nicht auf die WP-DaBa zu sondern auf eine eigene DaBa, die ich beim Hoster neben der WPDB liegen habe.
    Hoffentlich hat jemand eine Lösung.

    aber Dein Tipp hilft mir nicht, weil zu kompliziert.

    Sicherheitskonzepte nicht zu beachten kann erheblich komplizierter werden. 😉

    Zudem greife ich ja nicht auf die WP-DaBa zu sondern auf eine eigene DaBa

    Ja … und?

    function connect_another_db() {
        global $seconddb;
        $seconddb = new wpdb(USERNAME, PASSWORD, DATABASE_NAME, HOSTNAME);
    }
    add_action('init', 'connect_another_db');

    Hoffentlich hat jemand eine Lösung.

    Ich drücke die Daumen.

    Besten Dank für Deine Hilfe, ich habe mein Problem gelöst.

    Schönes Wochenende und bleib gesund 🙂

    Schön. Du wirst uns wohl nicht verraten, wie du es gelöst hast?
    Dann markiere ich deine Frage hier zumindest schon mal als „gelöst“.

    Danke. Zur Lösung hatte ich nichts geschrieben, weil diese euch sicher als zu trivial erscheint. Aber manchmal kann auch nur ein Strich zu viel oder zu wenig im Script zu Haarverlust führen.
    Zur Lösung :
    In das html-Formular gibt man ein Suchwort oder nur „Mü“ ein. Dann, so hatte ich gelesen, ist die Sucheingabe [‚wort‘] erst einmal zu trimmen. Das war in meinem Fall Unsinn, also löschte ich
    $begriff = trim(htmlentities(stripslashes(mysqli_real_escape_string($db, $_POST['wort']))));
    und kam mit $begriff = $_POST['wort']; ans Ziel.

Ansicht von 6 Antworten - 1 bis 6 (von insgesamt 6)