Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][MySQL][PHP] Wyświetlanie obrazu ze ścieżki zachowanej w bazie
beatZB
post 3.02.2015, 14:22:02
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 10.12.2014

Ostrzeżenie: (0%)
-----


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();
}

?>


Go to the top of the page
+Quote Post
b4rt3kk
post 3.02.2015, 14:27:45
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Zamień:

  1. $link_zdj;


na:

  1. $row['link_zdj'];


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
thek
post 3.02.2015, 14:27:57
Post #3





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
beatZB
post 3.02.2015, 14:30:28
Post #4





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 10.12.2014

Ostrzeżenie: (0%)
-----


Faktycznie, co za głupi błąd. facepalmxd.gif
Działa, dziękuję Wam serdecznie!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.04.2024 - 17:13