Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wgrywanie pliku, Wyświetlenie podsumowania w nowym oknie
krzysiek8104
post
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

Go to the top of the page
+Quote Post
Tomplus
post
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()
Go to the top of the page
+Quote Post
krzysiek8104
post
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ć.
Go to the top of the page
+Quote Post
Tomplus
post
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:

  1. if($filesize1 != 0)
  2. {
  3. echo "We have recieved your files";
  4. }
  5.  
  6. else {
  7. echo "ERROR.....";
  8. }


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
Go to the top of the page
+Quote Post

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: 2.10.2025 - 23:11