![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 29.10.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam problem. Otóż mam formularz taki jak na rysunku. (IMG:http://www.techar.pl/pl/upload/formularz.png) Chciałbym aby po wgraniu wyświetlił mi się komunikat że wgrano plik ewentualnie wyświetliło się nowe okno z podsumowaniem procesu wgrywania, a następnie żebym mógł wysłać wiadomość przyciskiem Wyślij. Tutaj mak kod: Kod <div class="info"> <h2 align="center"><strong>ZAPYTANIE</strong></h2> <br /> <?php if(empty($_POST['submit'])) { $charset = 'utf-8'; ?> <form action="" method="post"> Imię i nazwisko <br /> <input type="text" name="formName" value="Imię i nazwisko" onblur="if(value=='') value = 'Imię i nazwisko'" onfocus="if(value=='Imię i nazwisko') value = ''" size="80"/> <br /> <br /> Adres e-mail <br /> <input type="text" name="formEmail" value="E-mail" onblur="if(value=='') value = 'E-mail'" onfocus="if(value=='E-mail') value = ''" size="80"/> <br /> <br /> Treść zapytania <br /> <textarea name="formText" onblur="if(value=='') value = 'Treść zapytania'" cols="80" rows="18" onfocus="if(value=='Treść zapytania...') value = ''">Treść zapytania</textarea> <br /> <br /> <tr> <form action="multiple_upload_ac.php" method="post" enctype="multipart/form-data" name="form1" id="form1" target="_blank"> <td> <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF"> <tr> <td></td> </tr> <tr> <td>Załącz plik <input name="ufile[]" type="file" id="ufile[]" size="50" /></td> </tr> <tr> <td align="center"><input type="submit" name="Submit" value="Wgraj" onClick="" /></td> </tr> </table> </td> </form> </tr> <input type="submit" name="submit" value="Wyślij formularz"/> </form> <?php } else { //twoje dane $email = 'projekt@techar.pl'; //dane z formularza $formName = $_POST['formName']; $formEmail = $_POST['formEmail']; $formText = $_POST['formText']; if(!empty($formName) && !empty($formEmail) && !empty($formText)) { //--- początek funkcji weryfikującej adres e-mail --- function checkMail($checkmail) { if(filter_var($checkmail, FILTER_VALIDATE_EMAIL)) { if(checkdnsrr(array_pop(explode("@",$checkmail)),"MX")){ return true; }else{ return false; } } else { return false; } } //--- koniec funkcji --- if(checkMail($formEmail)) { //dodatkowe informacje: ip i host użytkownika $ip = $_SERVER['REMOTE_ADDR']; $host = gethostbyaddr($_SERVER['REMOTE_ADDR']); $protocol = strpos(strtolower($_SERVER['SERVER_PROTOCOL']),'https') === FALSE ? 'http' : 'https'; $host = $_SERVER['HTTP_HOST']; $script = $_SERVER['SCRIPT_NAME']; $params = $_SERVER['QUERY_STRING']; $currentUrl = $protocol . '://' . $host . $script . '?' . $params; //tworzymy szkielet wiadomości //treść wiadomości $mailText = "Treść wiadomości: $formText Od: $formName, $formEmail ($ip, $host) Link: $currentUrl"; //adres zwrotny $mailHeader = "From: $formName <$formEmail>"; //funkcja odpowiedzialna za wysłanie e-maila @mail($email, '[Zapytanie]', $mailText, $mailHeader) or die('Błąd: wiadomość nie została wysłana'); //komunikat o poprawnym wysłaniu wiadomości echo 'Wiadomość została wysłana'; } else { echo 'Adres e-mail jest niepoprawny'; } } else { //komunikat w przypadku nie powodzenia echo 'Wypełnij wszystkie pola formularza'; } } ?> </div> oraz kod pliku multiple_upload_ac.php Kod <?php $path1= "upload/".$HTTP_POST_FILES['ufile']['name'][0]; //copy file to where you want to store file copy($HTTP_POST_FILES['ufile']['tmp_name'][0], $path1); //$HTTP_POST_FILES['ufile']['name'] = file name //$HTTP_POST_FILES['ufile']['size'] = file size //$HTTP_POST_FILES['ufile']['type'] = type of file echo "File Name :".$HTTP_POST_FILES['ufile']['name'][0]."<BR/>"; echo "File Size :".$HTTP_POST_FILES['ufile']['size'][0]."<BR/>"; echo "File Type :".$HTTP_POST_FILES['ufile']['type'][0]."<BR/>"; echo "<img src=\"$path1\" width=\"150\" height=\"150\">"; echo "<P>"; /////////////////////////////////////////////////////// // Use this code to display the error or success. $filesize1=$HTTP_POST_FILES['ufile']['size'][0]; ; if($filesize1 != 0) { echo "We have recieved your files"; } else { echo "ERROR....."; } ////////////////////////////////////////////// // What files that have a problem? (if found) if($filesize1==0) { echo "There're something error in your first file"; echo "<BR />"; } ?> Nie wiem gdzie tkwi błąd. Czy ktoś jest w stanie mi pomóc. Pozdrawiam Krzysiek |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 884 Pomógł: 231 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Z tego co widzę to wgrywasz na serwer plik, ale po prostu nie dajesz odpowiedzi zwrotnej do pliku formularz.php. Czyli z tego co widzę, pojawia się komunikat ze plik został wgrany lub nie, ale na stronie z formularzem, nie będzie tego komunikatu.
Musialbyś użyć jakieś prostej metody AJAX albo ew. zapisać do sesji tego formularza lub że jakiś plik został wgrany, aby formularz.php mógł sprawdzić czy plik istnieje np. file_exists() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 29.10.2015 Ostrzeżenie: (0%) ![]() ![]() |
Tak. Plik się wgrywa, ale nie daje odpowiedzi.
Wystarczyłby komunikat, że plik został wgrany (nawet w tym samym oknie). Ale nie bardzo wiem jakiego kodu użyć. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 884 Pomógł: 231 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Może zacznij od zmiany tych starożytnych zmiennych $HTTP_POST_FILES na współczesne $_FILES. Te pierwsze mają być, czasami już są wycofane z obsługi.
i powiedz czy jak już robisz wgraj to czy pojawia się to:
W ogóle nie ten plik w formularzu ci działa. Na 100% wysyłasz nie do tego pliku co trzeba. Nie tworzy się FORM w FORM, bo zawsze będzie działać ten pierwszy. Ten post edytował Tomplus 29.10.2015, 16:47:22 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 23:11 |