Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Banalny problem - formularz kontaktowy
tacin
post 8.02.2010, 18:29:57
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 8.02.2010

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


Witam,
w sumie to juz mam caly kodzik z e-mailem z zalacznikiem, ale drazni mnie to, ze jak sie nacisnie "Wyslij" to otwiera sie nowe okno wraz z alertem. Chcialbym aby alert wyswietlil sie na tej stronie co mam formularz, czyli zeby nie wyswietlal nowej strony.

wyslij.php
Kod
     <?php
  
      //sprawdzenie czy załącznik pochodzi z formularza
  
      if ($_POST["wyslij"]==1)
  
         $nazwisko = $_POST["nazwisko"];
  
      
  
      $imie = $_POST["imie"];
  
      
  
      $email = $_POST["email"];
  
      
  
      $tresc= $_POST["tresc"];
  
      {  
  
      srand((double)microtime()*1000000);
  
      $znacznik = md5(uniqid(rand()));
  
      
  
      // dane o odbiorcy, nadawcy
  
      $odbiorca="xxx@gmail.com";
  
      $tytul="CFG-xxx";
  
      $nadawca = "Nadawca";
  
      $nadawca_mail="xxx@xxx.pl";
  
      
  
      // treść listu
  
      $tresclistu = "
  
      Nazwa CFG: $imie

      Nick: $nazwisko
  
      email: $email
  
      Krótki opis CFG: $tresc
  
      
  
      ";
  
      
  
      
  
      // definicja nagłówków
  
       $naglowki  = "From: $nadawca <$nadawca_mail>\n";
  
       $naglowki .= "MIME-Version: 1.0\n";
  
       $naglowki .= "Content-Type: multipart/mixed;\n";
  
       $naglowki .= "\tboundary=\"___$znacznik==\"";
  
      
  
      // nagłówki listu
  
       $tresc="--___$znacznik==\n";
  
       $tresc .="Content-Type: text/plain; charset=\"iso-8859-2\"\n";
  
       $tresc .="Content-Transfer-Encoding: 8bit\n";
  
       $tresc .="\n$tresclistu\n";
  
      
  
      // nagłówki i obsługa załącznika
  
       $plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
  
       $plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
  
       $plik_wielkosc = $_FILES["plik1"]["size"];
  
      
  
      if (is_uploaded_file($plik_nazwa_tmp))
  
       {
  
         $tresc .="--___$znacznik==\n";
  
         $tresc .="Content-Type: image/gif\n";
  
         $tresc .="Content-Disposition: attachment;\n";
  
         $tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
  
         $tresc .="Content-Transfer-Encoding: base64\n\n";
  
         $f = fopen($plik_nazwa_tmp,"rb");
  
         $dane = fread($f,filesize($plik_nazwa_tmp));

         fclose($f);

         $tresc .= chunk_split(base64_encode($dane));

         $tresc .="--___$znacznik==--\n";
  
       }
  
      
  
      // wysłanie listu
  
          if (mail($odbiorca,$tytul,$tresc,$naglowki))
  
        {
  
        print "<script type=\"text/javascript\">window.alert('E-mail z załącznikiem został wysłany poprawnie.');</script>";
  
        }
  
        else
  
        {
  
        print "<script type=\"text/javascript\">window.alert('E-mail NIE został wysłany poprawnie. Spróbuj ponownie.');</script>";
    }
  
      }

      ?>

I na stronie:
Kod
Aby dodać swoje CFG do listy, skorzystaj z poniższego formularza.<br>Po wysłaniu configu do nas, zostanie on umieszczony w naszym spisie.<br><br>

<FORM NAME="zalacznik" METHOD="post" ACTION="wyslij.php" ENCTYPE="multipart/form-data">
      
<table border="0">
  <tr>
    <td>Nazwa CFG:</td>
    <td><input type="text" id="imie" name="imie" CLASS="textbox"></td>
  </tr>
  <tr>
    <td>Nick:</td>
    <td><input type="text" name="nazwisko" id="nazwisko" CLASS="textbox"></td>
  </tr>
  
    <tr>
    <td>Email:</td>
    <td><input type="text" name="email" id="email" CLASS="textbox"></td>
  </tr>
  
    <tr>
    <td>Krótki Opis CFG:</td>
    <td><textarea name="tresc" id="tresc" rows="3" cols="20" CLASS="textbox"></textarea></td>
  </tr>

    <tr>
    <td>Config:</td>
    <td><INPUT type="file" name="plik1" CLASS="textbox"></td>
  </tr>
  
</table>

      <input type="hidden" name="wyslij" value="1" />
  
      <input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
      <br>
      <input type="submit" value="Wyślij" CLASS="button">
  
      </FORM>


ktos wie jak rozwiazac moj problem?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
aso824
post 8.02.2010, 18:59:35
Post #2





Grupa: Zarejestrowani
Postów: 46
Pomógł: 1
Dołączył: 2.08.2009

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


Chodzi ci beż odświeżania strony - na tej samej stronie co formularz ma się pokazać alert?
Jeżeli tak, to pozostaje tylko AJAX (odwoływanie się w tle do skryptu). Niestety, w tej chwili zbytnio AJAX-a nie pamiętam, ale może jak wieczorem znajdę czas to napiszę ci skrypt.
Tym czasem polecam ci Google - tu masz link (z cache google) do artu: Łap!
Go to the top of the page
+Quote Post
tacin
post 8.02.2010, 19:20:06
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 8.02.2010

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


Cytat(aso824 @ 8.02.2010, 18:59:35 ) *
Chodzi ci beż odświeżania strony - na tej samej stronie co formularz ma się pokazać alert?
Jeżeli tak, to pozostaje tylko AJAX (odwoływanie się w tle do skryptu). Niestety, w tej chwili zbytnio AJAX-a nie pamiętam, ale może jak wieczorem znajdę czas to napiszę ci skrypt.
Tym czasem polecam ci Google - tu masz link (z cache google) do artu: Łap!


moze byc odswiezanie, ale zeby sie pokazala ta sama strona co wczesniej, tylko zamiast formularza bedzie napisane "wyslano poprawnie". chyba takie cos bedzie latwiejsze do zrobienia, jednak nie wiem jak sie za to zabrac

PS: zle to okreslilem w poprzednich postach - nie "nowe okienko" tylko "nowa pusta strona z napisem ktory dalem w print"

Ten post edytował tacin 8.02.2010, 19:27:26
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 20:06