Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP] Wyświetlanie obrazu ze ścieżki zachowanej w bazie
Forum PHP.pl > Forum > Przedszkole
beatZB
Mam skrypt dodający do tabeli bazy przepis ze zdjęciem. Jak w innej podsronie wyświetlic obraz ze ścieżki zawartej w bazie?
Chciałam zrobic :
<img src="<?php echo $link_zdj; ?>" alt="" width="200" height="200">

Ale wyświetla: Undefined variable: link_zdj, i go nie wyświetla

wyświetlanie danych:
CODE
<?php

try
{
$pdo = new PDO('mysql:host=localhost;dbname=przepisy', 'beatam', '123') or die ('problem z nawiązaniem połączenia!');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$stmt = $pdo->query("SELECT * FROM przepis WHERE kategoria='mięsne'");
echo '<ul>';
foreach($stmt as $row)
{
echo

'<li>'.$row['nazwa'].': '.$row['przepis'].': '.$row['kategoria'].': '.$row['link_zdj'].'</li>' ;

?>


<img src="<?php $link_zdj; ?>">



skrypt dodający dane
CODE

<?php
$pdo = new PDO('mysql:host=localhost;dbname=przepisy', 'beatam', '123') or die ('problem z nawiązaniem połączenia!');


/* utworzenie zmiennych */
$link_zdj2="./pliki/";
$nazwa_zdj=$_FILES['plik']['name'];
$link_zdj1=$_FILES['plik']['tmp_name']; //tymczasowa lokalizacja pliku
$plik_mime=$_FILES['plik']['type']; //typ MIME pliku wysłany przez przeglądarkę
$plik_rozmiar=$_FILES['plik']['size'];
$plik_blad=$_FILES['plik']['error']; //kod błędu
$link_zdj=$link_zdj2.$nazwa_zdj;
/* sprawdzenie, czy plik został wysłany */
if (!$link_zdj1) {
exit("Nie wysłano żadnego pliku");
}

//sprawdzanie czy sa bledy
switch ($plik_blad) {
case UPLOAD_ERR_OK:
break;
case UPLOAD_ERR_NO_FILE:
exit("Brak pliku.");
break;
case UPLOAD_ERR_INI_SIZE:
case UPLOAD_ERR_FORM_SIZE:
exit("Przekroczony maksymalny rozmiar pliku.");
break;
default:
exit("Nieznany błąd.");
break;
}

/* sprawdzenie rozszerzenia pliku - dzięki temu mamy pewność, że ktoś nie zapisze na serwerze pliku .php */
$dozwolone_rozszerzenia=array("jpeg", "jpg", "tiff", "tif", "png", "gif");
$plik_rozszerzenie=pathinfo(strtolower($nazwa_zdj), PATHINFO_EXTENSION);
if (!in_array($plik_rozszerzenie, $dozwolone_rozszerzenia, true)) {
exit("Niedozwolone rozszerzenie pliku.");
}
/* przeniesienie pliku z folderu tymczasowego do właściwej lokalizacji */

if (!move_uploaded_file($link_zdj1, $link_zdj2."/".$nazwa_zdj)) {
exit("Nie udało się przenieść pliku.");
}

/* nie było błędów */
echo "Zdjęcie Twojej potrawy zostało napisane.";

try
{
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

$pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo -> prepare('INSERT INTO `przepis` (`nazwa`, `przepis`, `kategoria`,`nazwa_zdj`,`link_zdj` ) VALUES(
:nazwa,
:przepis,
:kategoria,
:nazwa_zdj,
:link_zdj)');

$stmt -> bindValue(':nazwa', $_POST['nazwa'], PDO::PARAM_STR);
$stmt -> bindValue(':przepis', $_POST['przepis'], PDO::PARAM_STR);
$stmt -> bindValue(':kategoria', $_POST['kategoria'], PDO::PARAM_STR);
$stmt -> bindValue(':nazwa_zdj', $nazwa_zdj, PDO::PARAM_STR);
$stmt -> bindValue(':link_zdj', $link_zdj, PDO::PARAM_STR);
//$stmt->execute();
$kategoria = $stmt -> execute();
if($kategoria > 0)
{
echo 'Twój przepis został dodany pomyślnie!';
}
else
{
echo 'Wystapil blad podczas dodawania rekordow!';
}
}
else
{
include 'fota.php';

}
}
catch(PDOException $e)
{
echo 'Wystapil blad biblioteki PDO: ' . $e->getMessage();
}

?>


b4rt3kk
Zamień:

  1. $link_zdj;


na:

  1. $row['link_zdj'];
thek
Sama błąd Ci mówi: Brak zdefiniowanej zmiennej $link_zdj bo gdzie ona jest? Z powietrza się nie bierze? Chyba Ci chodzi o $row['link_zdj'], a to nie to samo i PHP nie zgadnie, że o to Ci chodzi smile.gif
beatZB
Faktycznie, co za głupi błąd. facepalmxd.gif
Działa, dziękuję Wam serdecznie!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.