🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #230964

Re: PHP & SQL - Problem z porównaniem stringów

#230964
From: Lemat
Date: Thu, 16 Apr 2015 17:51
51 lines
2461 bytes
sunriseweb.lublin@gmail.com wrote:

> Witam,
> mój problem wygląda następująco:
> mam generowany automatycznie element formularza typu 'select'
> 
> <select onchange="this.form.submit();" id="filter_Temat" name="temat">
> 
> <?php
> 
> $wynikiQS = get_custom('wnioski_tematy');
> $wynikiQS = explode('|',$wynikiQS);
> foreach ( $wynikiQS as $wynikQS ) {
> 
>        if (($_POST['temat']) == $wynikQS) echo '<option
>        value="'.$wynikQS.'" class="filterItem"
>        selected>'.$wynikQS.'</option>';
>         else echo '<option value="'.$wynikQS.'"
>         class="filterItem">'.$wynikQS.'</option>';
>                                         } ?>
> </select>
> 
> Wybranie jakiejś opcji generuje zmienną $_POST['temat']
> 
> następnie wyszukuję w bazie danych rekordy spełniające warunek:
> 
> if (!empty($_POST['temat'])) {
> $temat = $_POST['temat'];
> $resultsT = $wpdb->get_results( 'SELECT post_id FROM wp_postmeta WHERE
> meta_key = "temat" AND meta_value = "'.$temat.'"', OBJECT );
> 
> $wynikiQS jest pobierany z bazy danych
> Strona jest na wordpressie.
> 
> Problem polega na tym, że zapytanie zawsze zwraca pusty wynik. Nawet jeśli
> istnieją wiersze, dla których meta_value zgadza się z tym co jest w
> zmiennej $_POST['temat'] Jeśli natomiast wpiszę do zapytania zamiast
> $temat, np. 'Temat 1' zapytanie zwraca odpowiednie rekordy.

po pierwsze i najważniejsze - SQL injection

po drugie: 
print_r($_POST);
po trzecie: 
echo 'SELECT post_id FROM wp_postmeta WHERE meta_key = "temat" AND 
meta_value = "'.$temat.'"';


-- 
Pozdrawiam
Lemat
Technical Details
Message-ID: <552ff686$0$8378$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <abdef96e-fc9a-4faf-88a3-06cda18bd204@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
From: Lemat <#@lemat.priv.pl>
Organization: lemat.priv.pl
Date: Thu, 16 Apr 2015 19:51:12 +0200
User-Agent: KNode/4.14.1
Subject: Re: PHP & SQL - Problem z porównaniem stringów
Newsgroups: pl.comp.lang.php
References: <abdef96e-fc9a-4faf-88a3-06cda18bd204@googlegroups.com>
MIME-Version: 1.0
Lines: 51
Message-ID: <552ff686$0$8378$65785112@news.neostrada.pl>
NNTP-Posting-Host: 79.189.200.118
X-Trace: 1429206662 unt-rea-b-01.news.neostrada.pl 8378 79.189.200.118:55167
X-Complaints-To: abuse@news.neostrada.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit