Skocz do zawartości

[PHP/MYSQL] Pytanie o Upload fotek użytkowników


Necro

Rekomendowane odpowiedzi

Witam wszystkich.

Robie mały serwis naszej dzielnicy. Mam już zrobione co nie co (Logowanie, rejestracje) i takie tam.

Teraz chciał bym zrobić możliwość Uploadu swoich zdjęć przez użytkowników.

Proste chce żeby każdy użytkownik mógł dodać swoje fotki i były by one widoczne w jego profilu,

Nie wiem właśnie jest to zrobić.

Struktura tabeli Users.
username
password
userid
userlevel
email
timestamp
gg

Jeżeli ktoś wie jak takie coś zrobić to proszę o pomoc lub gdzie mogę takie coś znaleźć.

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Folder z obrazkami np. zdjecia.

Pamiętaj kontrolować wgrywane zdjęcia, wg rozmiaru, typu pliku itp....nazwy zamieniaj na unikatowe np, na USERID i na tej podstawie możesz pobierać zdjęcie danego usera z folderu sprawdzając jakąś funkcją do obsługi plików np. file_exists() czy takowe istnieje - jeżeli nie to info lub domyślny, unikasz wtedy niepotrzebnego pola w tabeli z nazwą obrazka :-)

logo-stat4seo-blue-small.png

Odnośnik do komentarza
Udostępnij na innych stronach

Ja mam tylko skrypt uploadu fotek, który filtruje czy to zdjęcie czy nie, jeżeli nie to odrzuca, a jak fotka to zapisuje na serwerze. DO tego uploadu wystarczy że zapiszesz nazwę pliku zdjęcia w bazie, przy użytkowniku który dodał fotkę, a potem w jego profilu tam gdzie ma się pojawić fotka, używasz selecta dzięki któremu pobierzesz nazwę pliku i wstawisz w znacznik img który ją wyświetli z zadanymi przez Ciebie parametrami czyli szerokość i wysokość.

Odnośnik do komentarza
Udostępnij na innych stronach

Witam.

Nie chce was męczyć (Ciebie ExPloiT )

Plik z formularzem dodania mam tak:

  <form enctype="multipart/form-data" action="index.php?option=dodajfoto" method="post" >
<input type="hidden" name="userid" value="<? echo $session->username; ?>" />
Wybierz zdjęcie:<br><input type="file" name="pliczek" /><br/>
Opis zdjęcia: <br><input type="text" name="opis">  <br/>

<br/>
<input type="submit" value="Zapisz" />  <input type="reset" value="Reset" /> <br/>

</form>

Plik który zapisuje do folderu i bazy:

<?
$token = md5 (uniqid (rand()));
move_uploaded_file($_FILES['plik']['tmp_name'],'./zdjecia/'.$token.'.'.jpg)
$uchwyt = mysql_connect('localhost","root","haslo');
$db = mysql_select_db('portal', $uchwyt);
$adres_zdjecia = "$token.jpg)"
$sql="INSERT INTO zdjecia values ('$userid','$opis','$adres_zdjecia')";
if (!mysql_query($sql))
 {
 die('Błąd: ' . mysql_error());
 }
echo "Zarejstrowano poprawnie";
?>

Struktura tabeli zdjecia

userid
opis
adres

Wyskakuje błąd "Parse error: parse error, unexpected T_VARIABLE in D:\WebServ\httpd\pages\dodajfoto.php on line 11"

A to jest linia: $uchwyt = mysql_connect('localhost","root","haslo');

Dziękuje i Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Zobacz cudzysłowy, jedne takie ' drugie takie "

w każdym razie :

$uchwyt = mysql_connect('localhost','root','haslo');

ps, każdy user ma jedno zdjęcie możliwe do wgrania ? jeżeli tak nie ma sensu tworzenia tabeli dla zdjęć...lepiej zrobić zdjęcie to userID.jpg, a opis w tabeli users...

logo-stat4seo-blue-small.png

Odnośnik do komentarza
Udostępnij na innych stronach

Zobacz to:

<?

$token = md5 (uniqid (rand()));

move_uploaded_file($_FILES['plik']['tmp_name'],'./zdjecia/'.$token.'.'.jpg);

mysql_connect('localhost','root','haslo');

$db = mysql_select_db('portal');

$adres_zdjecia = "$token.jpg";

$sql="INSERT INTO `zdjecia` values ('$userid','$opis','$adres_zdjecia')";

if(mysql_query($sql))

{

echo "Zarejstrowano poprawnie";

}

else

{ print "Błąd";

}

?>

Edit: Już jest :)

Odnośnik do komentarza
Udostępnij na innych stronach

Witam.

ExPloiT już nie ma żadnych błędów ale nie zapisują się fotki.

W tabeli zapisało się tak:

userid: 2147483647

opis: Opis zdjęcia

adres: 783864a8304e1c294377dcbf5932fd5a.jpg

A tabela użytkowników wygląda tak:

username: admin

password: w md5

userid: 7966336828f2806f52819c36cc8277db

itd..

Dzięki za Pomoc chłopaki :)

Odnośnik do komentarza
Udostępnij na innych stronach

To ci powinno działać, tylko muszę wprowadzić filtrowanie:

<?
$token = md5 (uniqid (rand()));
move_uploaded_file($_FILES['plik']['tmp_name'],"zdjecia/".$_FILES['plik']['name']);
mysql_connect('localhost','root','haslo');
$db = mysql_select_db('portal');
$adres_zdjecia = "$token.jpg";
$sql="INSERT INTO `zdjecia` values ('$userid','$opis','$adres_zdjecia')";
if(mysql_query($sql))
{
echo "Zarejstrowano poprawnie";
}
else
{ print "Błąd";
}

?>

Mi to działa :) I do bazy powinieneś zapisać nazwę pliku taką jaką ma przy dodawaniu.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności