Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][HTML][PHP]Formularz + upload zdjęć
daniel55
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 20.11.2019

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


Witam wszystkich.

Planuję zrobić prostą stronę - informacja o imprezie.
Na stronie chciałbym umieścić formularz z możliwością rejestracji (kilka danych :Imię , nazwisko, nick, email, tel).
Dodatkowo chcę aby była możliwość przesłania zdjęcia - Avatar uczestnika.
Kod testuję lokalnie na xampp serwer Apache.
Na stronce wpisuję dane ,otwiera się okno uploadu, wybieram plik i klikam wyślij.
Wpisane do formularza dane tekstowe Imię i nazwisko ... wyświetlają się na stronie, natomiast mam problem z lokalizacją i zapisem zdjęcia na serwerze.
Kod php którego używam :

wysyłanie pliku :
<form enctype="multipart/form-data" action="plik.php"
method="post" >
<input type="hidden" name="MAX_FILE_SIZE" value="512000" />
<input type="file" name="obrazek" />
<input type="submit" value="wyślij" />
</form>

zapis na serwerze odebranego plku:
<?php

function zapisz_plik()
{
$lokalizacja = './temp/plik_obrazkowy.jpg';

if(is_uploaded_file($_FILES['obrazek']['tmp_name']))
{
if(!move_uploaded_file($_FILES['obrazek']['tmp_name'], $lokalizacja))
{
echo 'problem: Nie udało się skopiować pliku do katalogu.';
return false;
}
}
else
{
echo 'problem: Możliwy atak podczas przesyłania pliku.';
echo 'Plik nie został zapisany.';
return false;
}
return true;
}

?>

Plik nie zapisuje się nigdzie, nie jestem pewien czy dobrze podaję ścieżkę zapisu i drugi parametr['tmp_name'].
Kolejna kwestia, to zapis tych danych w bazie danych na serwerze i ich wyświetlenie w formie listy uczestników(Imię, nazwisko, nick) z avatarem.
Dodatkowo podczas rejestracji można by dodać pole wyboru darmowego gadżetu z pośród kilku dostępnych w formie pola wyboru "radio", info dostępne tylko dla organizatora.
Jak najprościej zrealizować taką funkcję na stronie?
Będzie to mała impreza max kilkadziesiąt osób.
Z góry dzięki .
Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dublinka
post
Post #2





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


Mozesz gdzie chcesz

Cytat(daniel55 @ 20.11.2019, 12:34:16 ) *
Witam wszystkich.

Planuję zrobić prostą stronę - informacja o imprezie.
Na stronie chciałbym umieścić formularz z możliwością rejestracji (kilka danych :Imię , nazwisko, nick, email, tel).
Dodatkowo chcę aby była możliwość przesłania zdjęcia - Avatar uczestnika.

[........]

Dodatkowo podczas rejestracji można by dodać pole wyboru darmowego gadżetu z pośród kilku dostępnych w formie pola wyboru "radio", info dostępne tylko dla organizatora.
Jak najprościej zrealizować taką funkcję na stronie?
Będzie to mała impreza max kilkadziesiąt osób.
Z góry dzięki .
Pozdrawiam.



Rejestracja czy po prostu dopisywanie do bazy jak leci bo rejestracja to juz i logowanie a dopisanie tylko to wprowadzenie danych i poslanie na serwer.

1. Formularz
2. Zeby nie bylo powielan nickow i emaila zabezpiecz to sprawdzajac czy juz nie istnieja.Chociaz sprawdzaj nick zeby nie wprowadzono 2 takich samych.
3. Przed zapisem do bazy filtruj dane (prevent SQL). Obraz filtruj pod względem: rozmiarów, rozszerzenia, wysokosci i szerokosci.
4. Obraz przesylaj na serwer do danego katalogu a w bazie zapisuj samą nazwe. Zbezpiecz sie przed dodaniem takiej samej nazwy. Wiec albo sprawdzaj czy taki sam plik istnieje juz na serwerze lub od razu doklej jakis losowy string do nazwy badz od razu zmien nazwe z oryginału na jakis hasz typu" erfdstt3wrerw43trgdt45td4t.jpg i te nazwe zapisz do bazy.
5. Po dodaniu przekierowac na dana strone lub wyswietl informacje z podziekowaniem + link do strony gdzie wyswietla sie dane.
6. Zrob wyswietlenie z bazy. Sam obraz wyswietl podając tag <img a jako nazwe pobierz daną z tabesli sql.

Ten post edytował dublinka 22.11.2019, 09:27:40
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 9.10.2025 - 19:42