Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wgrany obrazek wyświetlany na stronie użytkownika serwisu
Forum PHP.pl > Forum > Przedszkole
zeusik86
Otóż mam taki skrypt:
Plik formularz:

<html>
<head>
<title>Upload plików w PHP</title>
<meta charset="utf-8">
</head>
<body>
<form enctype="multipart/form-data" action="./upload.php" method="post">
<input type="hidden" name="id" value="<?php echo $_SESSION['id'];?>" />
<input type="file" name="plik">
<input type="submit" value="Wyślij">
</form>
</body>
</html>

Plik Upload:
<?php

session_start();

if (!isset($_SESSION['zalogowany']))
{
header('Location: index.php');
exit();
}

?>


<?php
/* utworzenie zmiennych */
$folder_upload="./upload";
$plik_nazwa=$_FILES['plik']['name'];
$plik_lokalizacja=$_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

/* sprawdzenie, czy plik został wysłany */
if (!$plik_lokalizacja) {
exit("Nie wysłano żadnego pliku");
}

/* sprawdzenie błędów */
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($plik_nazwa), 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($plik_lokalizacja, $folder_upload."/".$plik_nazwa)) {
exit("Nie udało się przenieść pliku.");
}

/* nie było błędów */
echo "Plik został zapisany.";


// łączymy się z bazą danych

$connection = @mysql_connect('localhost', 'root', '')
or die('Brak połączenia z serwerem MySQL');
$db = @mysql_select_db('test', $connection)
or die('Nie mogę połączyć się z bazą danych');
mysql_query('SET NAMES "utf8"');
if (isset($_POST['id'])){
$id= $_POST['id'];
$artur = 'UPDATE rej SET obrazek="'.$plik_nazwa.'" where id = "'.$id.'"';

$ok = mysql_query($artur);
if ($ok == true) {
echo '<a href="index.php"><p>Zapisano!</p></a>';
} else {echo mysql_error();}
}
?>

Wszystko działa plik jest wgrywany do katalogu i bazy danych ale jak zrobić np.
Jest strona użytkownika żeby przypisany obrazek do danego użytkownika wyświetlał się na jego stronie.
Bo zrobiłem to echo '<img src="http://localhost/do/upload/domeczek.jpg">'; to wyświetla mi obrazek na stronie wszystkich użytkowników.

Będę wdzięczny za pomoc.[php][/php][sql][/sql]
viking
Tak jak byś już o to pytał. Musisz wybrać z bazy zdjęcie dla danego użytkownika. Select obrazek from rej where id = $_SESSION['id']
zeusik86
Cytat(viking @ 10.09.2017, 07:51:27 ) *
Tak jak byś już o to pytał. Musisz wybrać z bazy zdjęcie dla danego użytkownika. Select obrazek from rej where id = $_SESSION['id']


Mógłbyś mi to pokazać na przykładzie mam plik index.php na którym wyświetla się lista użytkowników i chcę żeby każdy miał swoje zdjęcie.
Mam takie kody:

<?php
$connection = @mysql_connect('localhost', 'root', '')
or die('Brak połączenia z serwerem MySQL');
$db = @mysql_select_db('test', $connection)
or die('Nie mogę połączyć się z bazą danych');
mysql_query('SET NAMES "utf8"');
$count=4; //wyników na strone
$offset=0; //obecnie wyświetlana strona

if(isset($_GET['count'])) //jeśli wybrano za pomocą GET ilość wyników
{
$count = $_GET['count'];
}
if(isset($_GET['offset'])) //jeśli wybrano kolejne strony z wynikami
{
$offset = $count*$_GET['offset'];
}

// zapytanie zwracające ilosc rekordów z tabeli
$sql = 'SELECT COUNT(*) FROM `rej`';
$result = mysql_query($sql);
$r = mysql_fetch_array($result);
//podział wyników na strony
$pages = ceil($r[0]/$count);
//wybranie wyników dla bieżących parametrów offset
$select = 'SELECT * FROM `rej` imie ORDER BY `id` desc LIMIT '.$count.' offset '.$offset.';';
$q=mysql_query($select)or die(mysql_error());
while ($rekord = mysql_fetch_assoc($q)) {
$id = $rekord['id'];
$imie = $rekord['imie'];
$wymarzony = $rekord['wymarzony'];
$cena = $rekord['cena'];
$zebrano = $rekord['zebrano'];
$data = $rekord['data'];
$zlotowka = $rekord['zlotowka'];
$dziesiec = $rekord['dziesiec'];
$piatka = $rekord['piatka'];
$sto = $rekord['sto'];
$dwiescie = $rekord['dwiescie'];
$piecset = $rekord['piecset'];
$tysiak = $rekord['tysiak'];
$dates = $rekord['dates'];
$obrazek = $rekord['obrazek'];


$remained = ceil((strtotime($dates) - time()) / (60 * 60 * 24));
echo "<center><h2>imie: $imie.
Cena domu: $cena.
Opis wymarzonego domu: $wymarzony.
Postęp zbiórki: $zebrano
Koniec zbiórki: $remained dni

<a href=li.php?id=$id>Wyświetl</a></h2></center>";
}

echo "<b><font color='white'>Strony:</font></b>";

for($i=0;$i<$pages;$i++) //wyswietlanie numerów stron
{
if($i*$count==$offset)
{
echo ' '.$i.' ';
}else{
echo '<sup><a href="index.php?count='.$count.'&amp;offset='.$i.'"> '.$i.' </a></sup>'; //tworzenie odnośnika z odpowiednimi parametrami offset i count
}
}

?>

Potem jak użytkownik przechodzi do pliku li.php żeby też wyświetlało się tam obraz danego użytkownika.

Będę wdzięczny za pomoc.
viking
Czyli chodzi o wyświetlenie zdjęcia przy użytkowniku No to masz ścieżkę do pliku w $obrazek. <img src=$obrazek />
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.