Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z formularzem kontaktowym....
Forum PHP.pl > Forum > Przedszkole
gyno
Witam wszystkich serdecznie mam taki problem! :-( Otóż znajomy miał mi przygotować formularz w php z mozliwoscia dolaczania zalacznikow. Dal mi niestety tylko kod do strony wyswietlajacy tabele, niesetty sie rozchorowal i jest w szpitalu a bardzo bym tego potrzebowal . Z tego co sie orientuje brakuje mi drugiej czesci pliku php, czy ktos mogl by mi pomoc albo naprowadzic na jakis kurs dzieki ktoremu bym to opanowal w miare, lub moze jakis zalazek pliku do ktorego bym cos pododawal..... jak narazie mam elementy wyswietlajace cos takiego :


Z gory Serdecznie dziekuje za pomoc oraz pozdrawiam.



  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2.  
  3. </head>
  4. <div id="menu" class="clear">
  5. <div class="wrapper-wide"></div>
  6. </div>
  7. <div id="main" class="clear">
  8. <div class="wrapper">
  9.  
  10. <form class="contact" action="" method="post" enctype="multipart/form-data">
  11. <div class="column-contact-first">
  12. <p><span>Imię i nazwisko: <span>/ wymagane</span></span> <input name="imie-i-nazwisko" class="text" type="text"></p>
  13. <p><span>Firma:</span> <input name="firma" class="text" type="text"></p>
  14. <p><span>Telefon: <span>/ wymagane</span></span> <input name="telefon" class="text" type="text"></p>
  15.  
  16. <p><span>E-mail: <span>/ wymagane</span></span> <input name="e-mail" class="text" type="text"></p>
  17. <p><span>Temat: <span>/ wymagane</span></span> <input name="temat" class="text" type="text" /></p>
  18. <p class="att1"><span>Załącznik 1:</span><input type="file" name="att1" id="att1" /></p>
  19. <p class="att2"><span>Załącznik 2:</span><input type="file" name="att2" id="att2" /></p>
  20. <p class="att3"><span>Załącznik 3:</span><input type="file" name="att3" id="att3" /></p>
  21.  
  22. <p class="att4"><span>Załącznik 4:</span><input type="file" name="att4" id="att4" /></p>
  23. <p class="att5"><span>Załącznik 5:</span><input type="file" name="att5" id="att5" /></p>
  24. <p><button name="new_att" id="new_att" value="1">Dodaj kolejny załącznik</button></p>
  25. <p class="hint">Istnieje możliwość wysłania max 5 załączników. Jeżeli chcecie Państwo wysłać więcej niż 5 załączników prosimy o ich spakowanie do jednego pliku.</p>
  26. </div>
  27. <p class="column-contact-big"><span>Wiadomość: <span>/ wymagane</span></span> <textarea name="wiadomosc" rows="12" cols="40"></textarea></p>
  28.  
  29. <p class="clear text-right"><input name="send" class="button" type="submit" value="Wyślij"></p>
  30. </form>
  31.  
  32. </div>
  33. </div>
  34. <div class="wrapper"> </div>
  35.  
  36. </body>
  37. </html>
Rysh
Po pierwsze kod podajesz w odpowiednich bbcode.
Dwa, potrzebujesz pliku .php który będzie odbierał dane z formularza, każdy input odbierasz za pomocą $_POST['jego_nazwa'] - z plikiem jest troszkę inaczej - a następnie posługujesz się funkcją mail. Jednak zanim przepuścisz to przez funkcję mail, proponuje pokazać jakiś token żeby Ci jakiś bot nie spamował.
d0m1n1k_
Lepiej jest zrobić z PHP_SELF i bedziesz miec wszystko w jednym pliku.

Tu masz formularz kontaktowy:
http://www.kess.snug.pl/index.php?sid=10&pid=17
Tu jest Upload pliku z serwera:
http://www.kess.snug.pl/index.php?sid=10&pid=38
A tu zapis danych z formularza:
http://www.kess.snug.pl/index.php?sid=10&pid=31

Jak się wyśpię to jest szansa, że napiszę Ci dedykowany skrypt.
Ale teraz już konam z wyczerpania

sleep.gif zZzZZZzZ
DiH
Cytat
Lepiej jest zrobić z PHP_SELF i bedziesz miec wszystko w jednym pliku.

Dyskutowałbym, czy wtedy faktycznie będzie "lepiej". O kodzie powiem tylko tyle:
KESS:
  1. $pole1 = trim($_POST['pole1']);
  2. $pole2 = trim($_POST['pole2']);
  3.  
  4. if(empty($pole1) and empty($pole2)) {
  5.  
  6. // prosty formularz zawierający dwa pola
  7. echo '<form action="" method="post">
  8. <input type="text" name="pole1" style="width: 200px;" /><br />
  9. <textarea name="pole2" style="width: 200px; height: 100px;">
  10. </textarea><br />
  11. <input type="submit" value="Zapisz" />
  12. </form>';
  13. }
  14. else {
  15.  
  16. // dane pochodzące z formularza
  17. $dane = $pole1."`".$pole2."\n";
  18. // przypisanie zmniennej $file nazwy pliku
  19. $file = "baza.txt";
  20. // uchwyt pliku, otwarcie do dopisania
  21. $fp = fopen($file, "a");
  22. // blokada pliku do zapisu
  23. flock($fp, 2);
  24. // zapisanie danych do pliku
  25. fwrite($fp, $dane);
  26. // odblokowanie pliku
  27. flock($fp, 3);
  28. // zamknięcie pliku
  29. fclose($fp);
  30.  
  31. echo "Dane zostały zapisane!<br />";
  32. echo "<a href=\"podglad.php\">Zobacz wpisane dane</a>";
  33. }

Po ludzku:
  1. <?php
  2. $pole1 = trim($_POST['pole1']);
  3. $pole2 = trim($_POST['pole2']);
  4.  
  5. if(empty($pole1) && empty($pole2)) {
  6.  
  7. ?>
  8. <form action="" method="post">
  9. <input type="text" name="pole1" style="width: 200px;" /><br />
  10. <textarea name="pole2"></textarea><br />
  11. <input type="submit" value="Zapisz" />
  12. </form>
  13. <?php
  14. }
  15. else {
  16. $dane = $pole1."`".$pole2."\n";
  17. file_put_contents('file.txt', $dane);
  18.  
  19. echo "Dane zostały zapisane!<br />";
  20. echo '<a href="podglad.php">Zobacz wpisane dane</a>';
  21. }
  22. ?>

To samo tyczy się reszty kodu. Wracając jednak do zadanego pytania - zamiast pisać to samemu, postaraj się raczej znaleźć porządnie napisany skrypt. Choćby na http://www.hotscripts.com/
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.