Article View: pl.comp.lang.php
Article #230964Re: PHP & SQL - Problem z porównaniem stringów
From: Lemat
Date: Thu, 16 Apr 2015 17:51
Date: Thu, 16 Apr 2015 17:51
51 lines
2461 bytes
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-mailReferences:
<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