Weitere Informationen und den Download findest du auf der offiziellen Anlaufstelle de.wordpress.org
Ergebnis 1 bis 2 von 2
  1. #1
    PostRank: 0
    Registriert seit
    13.06.2015
    Beiträge
    10

    WP_Query mysteriöses Problem

    Moin zusammen,

    ich stehe kurz vorm Nervenzusammenbruch und brauche einmal euren Rat.

    Es geht um Folgendes:

    Ich habe einen WP_Query Aufruf:

    PHP-Code:

    $search 
    $_SESSION["search"]; // z.B. Kühe


    $meta_query = array(                                          array(    'key' => 'customposttypes-namen',    'value' => $search,        'compare' => 'LIKE'  )
    );
    $type 'customposttypes';
    $args = array(            'post_type'         => $type,            'post_status'             => 'publish',            'posts_per_page'        => -1,            'caller_get_posts'    => 1,            'paged'                      => $paged,            'meta_query'         => $meta_query                                                   );
    $wp_query = new WP_Query($args); 
    Jetzt soll das System eigentlich alle Posts ausgeben Tabelle "postmeta" | "meta_key" > "customposttypes-namen" | value > "Kühe" also als Wildcardsuche (LIKE)

    Als Result erhalte ich genau nix. Jetzt das mysteriöse an der Sache:

    Schreibe ich statt "$search" > direkt "Kühe" findet er alles.

    Ich habe die Variable mehrfach ausgegeben und überprüft alles stimmt. Ich habe sogar den Typ mit is_string überprüft.
    Alles korrekt und vollständig. Aber Result gibt es nur bei manueller Eintragung des Suchbegriffs im Quelltext.

    Dieser Fehler bezieht sich ausschließlich auf "Umlaute / Sonderzeichen" alles andere wird richtig gefunden.

    Hat jemand eine Idee? Ich bin echt Ratlos!

    Vielen Dank für eure Hilfe!
    LG David


  2. #2
    r23
    r23 ist offline
    PostRank: 10
    Registriert seit
    09.12.2006
    Beiträge
    3.584
    Zitat Zitat von DavidK Beitrag anzeigen

    Ich habe einen WP_Query Aufruf:

    PHP-Code:

    $search 
    $_SESSION["search"]; // z.B. Kühe 
    Schreibe ich statt "$search" > direkt "Kühe" findet er alles.
    dann ist vermutlich $search "leer" oder enthält nicht "Kühe" wie auch, WordPress kennt keine $_SESSION. Wenn du $_SESSION verwenden möchtest, musst du WordPress erweitern.

    http://php.net/manual/de/book.session.php


    mind. ein session_start(); fehlt


    PHP-Code:
    session_start();
    $search $_SESSION["search"]; // z.B. Kühe 
    und so baust du dir gleich eine Sicherheitslücke in dein System.

    Wie unterscheide ich böse Variablen von guten?
    http://www.php-faq.de/q/q-security-variablen.html

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •