x-kom hosting

Dodawanie pliku do formularza

Przejdź do rekomendowanej odpowiedzi Autor: leggo ,
Rebecca
utworzono
utworzono

Witam wszystkich :) Zaocznie studiuje informatykę mam zadanie do zrobienia. Muszę wstawić na www formularz, który po wpisaniu do niego informacji przesyła dane na pocztę. wszystko zrobiłam, skrypt php odpowiedni mam napisany i dane przesyła na podany w skrypcie adres mailowy. Jednak teraz musimy do formularzy dodać możliwość dodawaniu pliku do tego maila, tak żeby po kliknięciu otwierało się okno, gdzie możemy przeglądać dysk w celu odnalezienia odpowiedniego pliku. 

Plik nie może przekraczać 2 megabajtów. 

Poszukałam trochę na różnych stronach i nie znalazłam nic konkretnego (może źle szukam) i dlatego się tu zarejestrowałam.

Czy jest tu jakaś dobra dusza co chociaż delikatnie pokieruje mnie i poprowadzi za rączkę jakich poleceń użyć i co wstawić w skrypcie. ??

 

tak wygląda html

orm action="wyslij.php" method="post">
        <div style="text-align: center;">Imię
i nazwisko:<big><br>
        <input name="imie" type="text"><br>
        </big>Adres e-mail, na który mamy udzielić odpowiedzi:<big><br>
        <input name="email" type="text"><br>
        </big>Treść wiadomości:<br>
        <textarea name="wiadomosc" cols="40" rows="10"></textarea><br>
        <br>
        <input value="Wyślij" name="przycisk"
 type="submit">
 
tak wyglada php
<?
$wiadomosc=$_POST['imie'].'<br>
'.$_POST['email'].'<br>
'.$_POST['wiadomosc'];
mail('MOJEMAIL@gmail.com','Temat',$wiadomosc, "Content-type: text/html; charset=iso-8859-2");
echo "<center><b>Dziekujemy za wypełnienie formularza.</b></center>";
echo "<br>";
echo "<center><a href=\"http://www.mojastrona.pl/\">POWRÓT DO STRONY</a></center>";
echo "<br>";
?>
 
Teraz gdzieś tam muszę wstawić odpowiedni kod i tutaj robie się zielona bo nie wiem jakiego polecenia użyc.. 
 

leggo
komentarz
komentarz

Do wstawiania pliku służy pole input:

<input type="file" name="plik" />

Ograniczenie rozmiaru pliku musisz zapewnić poprzez skrypt.

 

A tak na marginesie: używanie tag-ów big i center przez studenta informatyki jest, co najmniej, niestosowne.  :krzesłem:

Rebecca
komentarz
komentarz

eee tam niestosowne. ja tylko za zaliczenie muszę to przepchnąć i styl nie za bardzo się liczy.

zrobiłam już to jak mi sugerowałeś

a w skrypcie co wstawić bo tam jest największa lipa dla mnie :)

leggo
komentarz
komentarz

Popatrz na ten temat.

Rebecca
komentarz
komentarz (edytowane)

Zrobiłam jak mi podpowiedziałeś, tzn wkleiłam tamten kod html zamiast mojego i tak samo skrypt ale nie wysyła mi na pocztę. Piszę w dziale początkujący webmaster a kolega mi podaje jakieś tam szyfry. Nie znam się na tym języku programowania ale jednak próbuje w tym wszystkim raczkować choć widzę że to nie dla mnie. Co myślicie gdzie jest błąd ?

leggo
komentarz
komentarz

Kod w linku podanym przeze mnie miał mieć charakter raczej poglądowy; pokazać jak obchodzić się z plikiem. Nie napisałem, że wystarczy go skopiować żeby działało. Koleżanka napisała, że część kodu już ma, więc założyłem, że skrypt php nie będzie dla koleżanki "szyfrem". :D

 

W takim razie, spróbujmy jeszcze raz: tutaj jest dokładnie opisane jak wysłać e-mail z załącznikiem.

 

Jeśli będziesz mieć z tym jeszcze jakieś problemy, pamiętaj by wstawić kod, jaki uda Ci się napisać.

Rebecca
komentarz
komentarz (edytowane)

Mam tak i nie wysyła mi fotki jak wgram na serwer :(

 

      <form action="slij.php" method="post">=""&gt;
        <div style="text-align: center;"><big><big><big>Imię
i nazwisko:</big></big><br>
        <input name="imie" type="text"><br>
        <big><big>Załącz zdjęcie:</big><br>
        <input name="zdjecie" type="file">
        </big><br>
        </big></div>
        <br>
        <br>
        <div style="text-align: center;"><input
 value="Wyślij" name="przycisk" type="submit">
        </div>
      </form>

 

a php takie:

 

<?
$wiadomosc=$_POST['imie'].'<br>
'.$_POST['zdjecie'].';/TUTAJ NIE WIEM CO WSTAWIĆ ZEBY TO ZAS..NE ZDJĘCIE WYLĄDOWAŁO NA POCZCIE/
mail('formularzzapytanie@gmail.com','Zapytanie',$wiadomosc, "Content-type: text/html; charset=iso-8859-2");
echo "<center><b>Dziekujemy za wypełnienie formularza.</b></center>";
echo "<br>";
echo "<center><a href=\"http://www.wp.pl/\">POWRÓT DO STRONY</a></center>";
echo "<br>";
?>
  • Rekomendowana odpowiedź
leggo
komentarz
komentarz

Nie poczyniłaś jakichś szczególnych postępów. :)

 

 

Informacje o pliku wybranym w formularzu przekazywane są do skryptu w tablicy [b]$_FILES[/b]. W twoim przypadku nazwę wybranego przez użytkownika pliku możesz wyświetlić w następujący sposób:

echo $_FILES['zdjecie']['name'];

Wszystko co tak na prawdę musisz zrobić to skopiować trzeci kod z linku z posta #6, zmienić adres do wysyłki oraz zawartość zmiennej [b]$attachment[/b] na coś w tym stylu:

$attachment = chunk_split(base64_encode(file_get_contents($_FILES['zdjecie']['tmp_name'])));

 

Dodatkowo w pierwszym kodzie w tag-u [b]form[/b] zapomniałaś o:

enctype = "multipart/form-data"
Rebecca
komentarz
komentarz

No niestety za bardzo skomplikowane to dla mnie. Powstawiałam ale jakiś syntax error wyskakuje. Mam mnóstwo ważnych zajęc, praca, studia w weekendy i nie mam czasu na zabawę w jakieś głupoty bo profesorek chce mi coś udowodnić. ehh nie wiem po co na te studia poszłam :( Wy macie dużo czasu, to jest wasza pasja i macie tam jakiś swój slang a ja nie rozumiem po prostu co do mnie piszecie ( a w zasadzie piszesz) kolego :-(. Jak grzebałam na tym waszym forum próbując sama coś zrobić to się za głowę złapałam. Normanie nic nie łapie. Do rzeczy. Jest tu ktoś kto robi to na zlecenie?. Zapłacę niż mam się męczyć z tym badziewiem. jak ktoś chce zarobić na priva niech pisze. pozdrawiam :) 

 

Oto treść mojego zadania:

Zrobić formularz, w którym pobierane będą imię i nazwisko oraz zdjęcie, a całość ma być wysłana na pocztę. Zdjęcie (plik) nie może przekraczać 2MB i gdy przekroczy tą wartość ma pojawić się komunikat o zbyt dużym pliku.

 

Na chwile obecną udało mi się zrobić formularz, który wysyła imie i nazwisko. Chciałabym, żeby mój zleceniobiorca pomógł mi to dokończyć.

 

HTML

 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title>index</title>
</head>
<body>
<br>
<div style="text-align: left;">
<form action="skrypt.php" method="post"><small><big>Imię
i nazwisko:&nbsp;&nbsp;</big>&nbsp; </small><input
 name="imie" type="text"><br>
  <br>
Zdjęcie: <big><big><big><input name="zdjecie"
 type="file"></big></big></big><br>
  <br>
  <input value="Wyślij" name="przycisk" type="submit">
  <br>
  <br>
  <br>
</form>
</div>
</body>
</html>

 

PHP

 

<?
$wiadomosc=$_POST['imie'];
mail('MOJMAIL@MAIL.COM','Zapytanie',$wiadomosc, "Content-type: text/html; charset=iso-8859-2");
echo "<center><b>Dziekujemy za wypełnienie formularza.</b></center>";
echo "<br>";
echo "<center><a href=\"http://www.wp.pl/\">POWRÓT DO STRONY</a></center>";
echo "<br>";
?>
leggo
komentarz
komentarz

Ja ważnych zajęć nie mam wcale, a czasu w bród. Wręcz już nie mam co z nim robić. Dlatego z nieskrywaną przyjemnością pobawię się w jakieś głupoty.

Tylko, że tutaj nie ma za bardzo jest za co brać pieniądze.

Wysłałem PW.

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.