BTW,
na początku sprawdź, czy żądanie pochodzi z GET i czy $_GET['id'] coś zawiera (jakąś wartość), jeżeli oba te warunki nie są spełnione nie ma sensu wykonywać reszty kodu, np.:
if ($_SERVER['REQUEST_METHOD'] !== 'GET') {
exit('Błąd: Nieprawidłowy typ żądania.');
}
$id = htmlspecialchars($_GET['id']) ?? null;
if (!$id) {
exit('Błąd: Brak lub nieprawidłowy parametr "id".');
}
// reszta kodu
kolejna sprawa, "dziwne" masz sprawdzenie połączenia z bazą danych,
if ($link = mysqli_connect('localhost', 'root', '', 'photo')) {
}
else {
echo 'Błąd połączenia!';
}
zrób np.:
if ($_SERVER['REQUEST_METHOD'] !== 'GET') {
exit('Błąd: Nieprawidłowy typ żądania.');
}
$id = htmlspecialchars($_GET['id']) ?? null;
if (!$id) {
exit('Błąd: Brak lub nieprawidłowy parametr "id".');
}
$link = mysqli_connect('localhost', 'root', '', 'photo');
if (!$link) {
exit('Błąd połączenia z bazą danych: ' . mysqli_connect_error());
}
// reszta kodu
- skoro masz $co['cena'] użyj zmiennej $cena,
- <img src=http://localhost/bank/upload/$zdjecie width=500 height=200></img> - nie potrzeba znacznika zamknięcia,
- <h2>Zamówiłeś $zdjecie do zapłaty:$rodzaj - brak znacznika zamknięcia </h2>
sprawdź, np.:
$id = mysqli_real_escape_string($link, $id);
$result = mysqli_query($link, "SELECT * FROM fotki WHERE id=$id");
if (!$result) {
exit("Błąd zapytania: " . mysqli_error($link));
}
if (mysqli_num_rows($result) > 0) {
$base_url = 'http://' . $_SERVER['HTTP_HOST'] . '/bank/upload/';
while ($data = mysqli_fetch_array($result)) {
// $id = $data ['id']; // nie użyto w przedstawionym kodzie
$price = $data['cena'];
$image = htmlspecialchars($data['foto1'], ENT_QUOTES, 'UTF-8');
echo "
<h2>Zamówiłeś $image, do zapłaty: $price</h2>
<img src='{$base_url}{$image}' width='500' height='200' alt='Image'>
<a href='Zakup.php?name=$image'>Zamawiam</a>
";
}
} else {
echo "<p>Nie znaleziono zdjęcia o podanym ID.</p>";
}
ale tak jak napisał
@Gynvael Coldwind;
Od razu dodam, że jeśli ten kod to jest po prostu projekt do nauki, to spoko :). Natomiast jeśli to coś więcej, to musisz trochę (trochę bardzo) popracować nad jego bezpieczeństwem – teraz jest to trochę marzenie hakera ;)
w przyszłości pomyśl nad czymś w rodzaju (Prepared Statements), np.:
$id = htmlspecialchars($_GET['id']) ?? null;
if (!$id && !is_numeric($id)) {
exit("Nieprawidłowe ID.");
}
$stmt = $link->prepare("SELECT * FROM fotki WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();
P.S. Czy rozważałeś zabezpieczenie obrazków przed pobraniem ich bez zapłaty, czyli: