Dziwne bo zapytanie w PhpMyAdmin ruszylo bez problemu. Skrypt niestety nie działa:
Część skryptu odpowiedzialna za to zapytanie:
if($_GET['nazwa'] =="elektromechanik" || $_GET['nazwa'] =="murarz" || $_GET['nazwa'] =="slusarz" || $_GET['nazwa'] =="kowal" && $_GET['umowa'] == "---" && $_GET['lokalizacja'] == "---")
{
try
{
$pdo = new PDO($pol, $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if(isset($_GET['nazwa'])) {
$stmt = $pdo->query("SELECT b.nazwa_branzy, u.login, o.tresc, i.rodzaj_umowy, l.lokalizacja FROM ogloszenia AS o
JOIN users u ON u.id_usera = o.id_usera
JOIN branza b ON b.id_branzy = o.id_branzy
JOIN umowa i ON i.id_umowy = o.id_umowy
JOIN lokalizacja l ON l.id_lok = o.id_lok
WHERE b.nazwa_branzy = '{$_GET['nazwa']}'");
foreach($stmt as $row)
{
echo '<li>'.$row['nazwa_branzy'].': '.$row['rodzaj_umowy'].': '.$row['login'].': '.$row['tresc'].': '.$row['lokalizacja'].'</li>'; }
$stmt->closeCursor();
//print_r($_GET);
}
}
catch(PDOException $e)
{
echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage(); }
}
Cały index.php:
<?php
require_once 'connect.php';
// SELECT pusty - pokaż wszystko
if(empty($_GET['nazwa']) || $_GET['nazwa'] == "---" || $_GET['umowa'] == "---" || $_GET['lokalizacja'] == "---") {
try
{
$pdo = new PDO($pol, $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->query("SELECT b.nazwa_branzy, u.login, o.tresc, i.rodzaj_umowy, l.lokalizacja FROM ogloszenia AS o
JOIN users u ON u.id_usera = o.id_usera
JOIN branza b ON b.id_branzy = o.id_branzy
JOIN umowa i ON i.id_umowy = o.id_umowy
JOIN lokalizacja l ON l.id_lok = o.id_lok");
foreach($stmt as $row)
{
echo '<li>'.$row['nazwa_branzy'].': '.$row['rodzaj_umowy'].': '.$row['login'].': '.$row['tresc'].': '.$row['lokalizacja'].'</li>'; }
$stmt->closeCursor();
//print_r($_GET);
}
catch(PDOException $e)
{
echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage(); }
}
else if(!empty($_GET['nazwa'])) {
// SELECT nazwa - pokaż wszystko po nazwie
if($_GET['nazwa'] =="elektromechanik" || $_GET['nazwa'] =="murarz" || $_GET['nazwa'] =="slusarz" || $_GET['nazwa'] =="kowal" && $_GET['umowa'] == "---" && $_GET['lokalizacja'] == "---")
{
try
{
$pdo = new PDO($pol, $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if(isset($_GET['nazwa'])) {
$stmt = $pdo->query("SELECT b.nazwa_branzy, u.login, o.tresc, i.rodzaj_umowy, l.lokalizacja FROM ogloszenia AS o
JOIN users u ON u.id_usera = o.id_usera
JOIN branza b ON b.id_branzy = o.id_branzy
JOIN umowa i ON i.id_umowy = o.id_umowy
JOIN lokalizacja l ON l.id_lok = o.id_lok
WHERE b.nazwa_branzy = '{$_GET['nazwa']}'");
foreach($stmt as $row)
{
echo '<li>'.$row['nazwa_branzy'].': '.$row['rodzaj_umowy'].': '.$row['login'].': '.$row['tresc'].': '.$row['lokalizacja'].'</li>'; }
$stmt->closeCursor();
//print_r($_GET);
}
}
catch(PDOException $e)
{
echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage(); }
}
// SELECT nazwa, umowa - pokaż po nazwa && umowa
else if(!empty($_GET['nazwa'] =="elektromechanik" || $_GET['nazwa'] =="murarz" || $_GET['nazwa'] =="slusarz" || $_GET['nazwa'] =="kowal" && $_GET['umowa'] =="umowa o prace" || $_GET['umowa'] =="umowa zlecenie" || $_GET['umowa'] =="umowa o dzielo" || $_GET['umowa'] =="umowa na czas okreslony") && $_GET['lokalizacja'] == "---")
{
try
{
$pdo = new PDO($pol, $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if(isset($_GET['nazwa'])) {
$stmt = $pdo->query("SELECT b.nazwa_branzy, u.login, o.tresc, i.rodzaj_umowy, l.lokalizacja FROM branza AS b, ogloszenia AS o, users AS u, umowa AS i, lokalizacja AS l
WHERE b.nazwa_branzy = '{$_GET['nazwa']}' AND i.rodzaj_umowy = '{$_GET['umowa']}'
AND u.id_usera = o.id_usera AND b.id_branzy = o.id_branzy AND i.id_umowy = o.id_umowy AND l.id_lok = o.id_lok");
foreach($stmt as $row)
{
echo '<li>'.$row['nazwa_branzy'].': '.$row['rodzaj_umowy'].': '.$row['login'].': '.$row['tresc'].': '.$row['lokalizacja'].'</li>'; }
$stmt->closeCursor();
//print_r($_GET);
}
}
catch(PDOException $e)
{
echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage(); }
}
// SELECT nazwa, umowa, lokalizacja - pokaż po nazwa && umowa && lokalizacja
else if(!empty($_GET['nazwa'] =="elektromechanik" || $_GET['nazwa'] =="murarz" || $_GET['nazwa'] =="slusarz" || $_GET['nazwa'] =="kowal" && $_GET['umowa'] =="umowa o prace" || $_GET['umowa'] =="umowa zlecenie" || $_GET['umowa'] =="umowa o dzielo" || $_GET['umowa'] =="umowa na czas okreslony") && $_GET['lokalizacja'] == "Opole" ||
$_GET['lokalizacja'] == "Krapkowice" || $_GET['lokalizacja'] == "Nysa" || $_GET['lokalizacja'] == "Olesno")
{
try
{
$pdo = new PDO($pol, $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if(isset($_GET['nazwa'])) {
$stmt = $pdo->query("SELECT b.nazwa_branzy, u.login, o.tresc, i.rodzaj_umowy, l.lokalizacja FROM branza AS b, ogloszenia AS o, users AS u, umowa AS i, lokalizacja AS l
WHERE b.nazwa_branzy = '{$_GET['nazwa']}' AND i.rodzaj_umowy = '{$_GET['umowa']}' AND l.lokalizacja = '{$_GET['lokalizacja']}'
AND u.id_usera = o.id_usera AND b.id_branzy = o.id_branzy AND i.id_umowy = o.id_umowy AND l.id_lok = o.id_lok");
foreach($stmt as $row)
{
echo '<li>'.$row['nazwa_branzy'].': '.$row['rodzaj_umowy'].': '.$row['login'].': '.$row['tresc'].': '.$row['lokalizacja'].'</li>'; }
$stmt->closeCursor();
//print_r($_GET);
}
}
catch(PDOException $e)
{
echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage(); }
}
//else {echo "SQL Injection Try Detected!!!";}
//else {echo "SQL Injection Try Detected!!!";}
}
?>
Formularz:
<form action="index.php" method="get"> <select name="nazwa" value="nazwa"> <option><?php if(isset($_GET['nazwa'])) {echo ($_GET['nazwa']);} else {echo "---";} ?></option> <select name="umowa" value="umowa"> <option><?php if(isset($_GET['umowa'])) {echo ($_GET['umowa']);} else {echo "---";} ?></option> <select name="lokalizacja" value="lokalizacja"> <option><?php if(isset($_GET['lokalizacja'])) {echo ($_GET['lokalizacja']);} else {echo "---";} ?></option> <input type="submit" name="submit" value="Zastosuj filtry"> <a href="index.php">Odśwież
</a>