Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przesylanie danych z formularza html
Forum PHP.pl > Forum > Przedszkole
d.i.t.o
Witam wszystkich,

Mam pewien problem z formularzem. Mam przygotowany formularz html i plik php ktory odpowiedzialny jest za przeslanie wypelnionego formularza pod wskazany adres pocztowy.

Problem w tym, ze wysyla puste maile.

Pozwole sobie zalaczyc kod obu plikow:

formularz.htm [tylko TAG form]
Kod
FORM ACTION="form.php" METHOD="POST" ENCTYPE="text/plain" onsubmit="mail_form(this); return false">

<!-- Podstawowe pole tekstowe -->
      <input name="Imię" />
      <span class="style2"> Imię<br />
      <input name="Nazwisko" />
  Nazwisko</span></p>
      <p class="style2">
        <input name="email" />
  Adres email na ktory bedziemy przesylac Ci aktualne oferty pracy </p></td>
  </tr>
  <tr>
    <td bgcolor="E7E4DC"><p class="style2"><strong>Podaj swoją płeć:</strong></p>
      <p class="style6">
        <span class="style2">
  <input type="radio" name="Płeć" value="Kobieta" />
  Kobieta
  <input type="radio" name="Płeć" value="Mężczyzna" />
  Mężczyzna </span></p></td>
  </tr>
  <tr>
    <td bgcolor="F1EEE6"><p class="style2"><strong>Ile masz lat?</strong></p>
      <p>
        <span class="style2">
<input type="radio" name="wiek" value="mniej niż 18" />
mniej niż 18
<input type="radio" name="wiek" value="18-20" />
  18-20
<---------------------------------dalsza czesc formularza [cut] -------------------->
      </tr>
    </table>      <p align="center">
      <input name="submit" type="submit" value="Wyslij formularz" />
      <!-- Przycisk WYCZYŚĆ DANE -->
      <input name="reset" type="reset" value="Wyczysc dane" />
      </form>


I plik php:
Kod
<?php
mail("biur@olonian.co.uk", "Formularz", $tresc, "Reply-To: $email");

?>


Domyslam sie, ze problem tkwi w pliku php, tylko nie wiem gdzie.
Bede wdzieczny za kazda pomoc w rozwiazaniu problemu.

Pozdrawiam.
zbig13
Prawdopodobnie na serwerze wyłączona jest opcja register_globals, co uniemożliwia użycie samej nazwy zmiennej, przesyłanej metodą POST, w innym pliku. Musisz dodać $_POST przed nazwą zmiennej przesyłanej z formularza:
  1. <?php
  2. mail('biur@olonian.co.uk', 'Formularz', $_POST['tresc'], 'Reply-To: '.$_POST['email']);
  3. ?>
d.i.t.o
Dzieki zbig13, zaraz to sprawdze.

Podmienilem kod na ten ktory podales ale przekazal mi wynik formularza do urla i nie wyslal wiadomosci. Musze dodac, ze jestem lama w php i jesli mialem cos zmienic w kodzie ktory podales to tego nie zrobilem smile.gif
lopik
A nie masz czasem, "METHOD="GET" questionmark.gif
Ma być METHOD="POST"

Tak jak to w sumie wkleiłeś do posta.
d.i.t.o
Lopik, zrobilem literowke w mailu stad post sie nie wysylal. Teraz, jak wczesniej, post sie wysyla ale pusty, wynik formularza wciaz pozostaje w url. W formularz.htm jest tak:

Kod
<FORM ACTION="form.php" METHOD="POST" ENCTYPE="text/plain" onsubmit="mail_form(this);
return false">


w form.php:

Kod
<?php
mail('biur@olonian.co.uk', 'Formularz', $_POST['tresc'], 'Reply-To: '.$_POST['email']);
?>


Serwer: nazwa.pl

Pozdrawiam.
goole
oba pliki masz w tym samym katalogu?
d.i.t.o
Tak, oba pliki sa w tym samym katalogu, czy ktos moze wie co jest nie tak??
goole
IMHO powinno dzialac blink.gif
miggie
Cytat
onsubmit="mail_form(this); return false"

Ja bym to wywalił... Zostawiłbym tylko
Kod
<form action='form.php' method='post'>....</form>

I już
d.i.t.o
Niestety bez zmian. Wciaz wysyla pusta wiadomosc blink.gif
lopik
No to zapewne funkcja mail() jest niedostępna na serwerze.
d.i.t.o
Dochodze do tego samego wniosku. Czy ktos moze mi powiedziec jak w przypadku ktory opisalem w tym temacie uzyc funkcji phpmailer do wyslania tresci formularza? Jak powinien wygladac plik form.php z zastosnowaniem phpmailer zamiast funkcji mail().

Pozdrawiam

Ok, po sporych bojach sobie poradzilem. Funkcja mail() jak sie okazuje jest dostepna. Wrzucilem calosc do jednego pliku php z zastosowaniem <form action="<? echo $PHP_SELF; ?>

Pozdrawiam wszystkich smile.gif
zeli
A nie przyszlo komus do glowy ze moze php stary i nie bedzie dzialac samo odwolanie do formularza $jaka_wartosc albo $_POST['jakas wartosc'] ? Moze wypadalo by sie zastanowic czy nie dzialalo by np. z $HTTP_POST_VARS["jakas_wartosc"]) ? A zapewniam ze raczej tak.

Pozdrawiam,

i zapraszam na www.google.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.