Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Problem z formularzem
Forum PHP.pl > Forum > Przedszkole
lunex
mam na stronce formularz który wysyła dane w postaci POST.
i teraz chcę aby oprócz celu określonego w "<form action=" dane te były jednocześnie wysyłane na np. maila.
Czy istniej taki skrypt w php? dane na maila nie musza byc wysylane w jakiejs ladnej postaci lecz w pierwotnej formie np. "dana1=costam&dana2=costam2"
bardzo prosze o pomoc!!
Cienki1980
Wystarczy jak po wysłaniu formularza dane odczytane z $_POST wyślesz na maila za pomocą funkcji mail" title="Zobacz w manualu PHP" target="_manual
lunex
a czy da sie to zalatwic jakims jednym wpisem czy trzeba po kolei wypisywac te pola z formularza?? jak mowilem nie zalezy mi aby byly wyslane w "ładnej" formie.
Cienki1980
Nie wiem jak wygląda formularz, nie wiem jakie dane tam przesyłasz, nie wiem jakie chcesz wysłać mailem ... więc ciężko mi odpowiedzieć.
Jakie parametry przyjmuje funkcja mail() znajdziesz w manualu. Ty musisz zadecydować jak złączyć dane z formularz w jedną całość.
lunex
  1. <form action="formularz.php"" method="post">
  2.  
  3.  
  4. <label for="dana1" style="position: absolute; margin-top: 204px; margin-left: 60px; width: 227px; text-align: right;">POLE1:</label>
  5. <input type="text" size="24" name="dana1" id="id1" maxlength="15" value="" class="form2"
  6. style="position: absolute; margin-top: 202px; margin-left: 295px; width: 145px;" />
  7.  
  8. <label for="inscr_pass" style="position: absolute; margin-top: 226px; margin-left: 60px; width: 227px; text-align: right;">POLE2:</label>
  9. <input type="text" name="dana2" id="id2" size="24" maxlength="15" value="" class="form2"
  10. style="position: absolute; margin-top: 225px; margin-left: 295px; width: 145px;" />
  11.  
  12. <label for="inscr_confpass" style="position: absolute; margin-top: 248px; margin-left: 60px; width: 227px; text-align: right;">POLE3:</label>
  13. <input type="text" name="dana3" id="id3" size="24" maxlength="15" value="" class="form2"
  14. style="position: absolute; margin-top: 247px; margin-left: 295px; width: 145px;" />
  15.  
  16. <input type="submit" name="Submit" value=" Ok " class="form2" style="position: absolute; margin-top: 353px; margin-left: 245px;" />


Tak to mniej wiecej wyglada. I teraz chce aby oprocz dzialania "<form action="formularz.php" wszystkie dane wpisane do value były wysłane równiez na maila.
Cienki1980
No to musisz wykonać to co napisałem chwilę wcześniej.

Odczytujesz dane z $_POST;
Łączysz je w jeden string;
Wysyłasz za pomocą mail" title="Zobacz w manualu PHP" target="_manual na zdefiniowany w skrypcie adres;

Nie będę pisał jak się łączy kilka zmiennych w jeden string ... to już musisz poszukać.
Jakie wartości i w jakiej kolejności podać do mail" title="Zobacz w manualu PHP" target="_manual znajdziesz w manualu. Na pewno są tam przykłady, które wiele Ci wyjaśnią.

Na gotowca nie licz .. przynajmniej ode mnie biggrin.gif
lunex
mam cos takiego i nie dziala:

  1. <?php
  2. $danapost1 = $_POST['danapost1'];
  3. $danapost2 = $_POST['danapost2'];
  4. $danapost3 = $_POST['danapost3'];
  5.  
  6. if ($danapost1 && $danapost2 && $danapost3)
  7. {
  8. $temat = "temat";
  9. $tresc = $danapost1.$danapost2.$danapost3;
  10. mail("mail@gmail.com", $temat, $tresc);
  11. }
  12. ?>


co jest zle?questionmark.gif? tak wyglada dana POST:
danapost1=&danapost2=&danapost3=
funkcja mail jest dostepna...
rojmarek
Cytat(lunex @ 4.04.2007, 15:03:09 ) *
co jest zle?questionmark.gif? tak wyglada dana POST:
danapost1=&danapost2=&danapost3=
funkcja mail jest dostepna...

a co się dzieje? wiadomość nie dochodzi?
lunex
tak

edit: generalnie to nie musi byc php. prosze tylko o jakis sposob zeby po wcisnieciu w formularzu np. "wyslij" dane wyslaly sie do 2 roznych miejsc!!
rojmarek
Cytat(lunex @ 4.04.2007, 17:07:32 ) *
tak

edit: generalnie to nie musi byc php. prosze tylko o jakis sposob zeby po wcisnieciu w formularzu np. "wyslij" dane wyslaly sie do 2 roznych miejsc!!

no to masz pewnie źle skonfigurowany "mail".. zerknij do phpinfo() czy jest wszystko dobrze skonfigurowane z wysyłaniem maila..
lunex
wszystko jest na pewno dobrze. zreszta jak gdzie indziej ja stosuje to dziala.

a czy nie dalo by sie tego jakos inaczej zrobic np. poprzez onclick dodane do submit??
tylko jak mialoby to wtedy wygladac??
Cienki1980
Cytat(lunex @ 4.04.2007, 21:07:21 ) *
wszystko jest na pewno dobrze. zreszta jak gdzie indziej ja stosuje to dziala

No to skoro jak stosujesz w innym miejscu i funkcja mail działa znaczy to, że w tym miejscu robisz coś źle i funkcja nie działa tak jak powinna.

Ja mam tylko jedno pytanie .. z tego co pokazałeś to zmienna wysyłana w treści ma postać :
Kod
wartosc_z_pola1wartosc_z_pola2wartosc_z_pola3

a nie z & .. no chyba, że & i = wpisujesz w te pola w formularzu.
To co tutaj podałeś to bardziej wygląda na zmienne pobierane z $_GET a nie z $_POST
rojmarek
Cytat(lunex @ 4.04.2007, 19:07:21 ) *
wszystko jest na pewno dobrze. zreszta jak gdzie indziej ja stosuje to dziala.

a czy nie dalo by sie tego jakos inaczej zrobic np. poprzez onclick dodane do submit??
tylko jak mialoby to wtedy wygladac??

mozesz JS'em wywołać okienko pop'upa, ale moze nie dzialac, bo duzo ma wyłączone...
conip
ja tam nie widze zadnego pola w formularzu o nazwie:
danapost1, danapost2, danapost3

ale widze za to:
dana1, dana2, dana3

więc może to to smile.gif?
pozdrawiam
lunex
Cytat(conip @ 4.04.2007, 23:54:58 ) *
ja tam nie widze zadnego pola w formularzu o nazwie:
danapost1, danapost2, danapost3

ale widze za to:
dana1, dana2, dana3

więc może to to smile.gif?
pozdrawiam


oj dobra wiadomo ze podawalem przykladowe wartosci. az tak glupi nie jestem... blinksmiley.gif
nospor
nawiazujac do drugiego topicu co zalozyles:
skrypt z action forma:
  1. <?php
  2. include('innyskrypt.php');
  3. include('innyskrypt2.php');
  4. ?>

W ten sposob jedna akcja przekazde dane do kilku skryptow. OTo biega?
lunex
dokladnie o to chodzilo! tylko mam kolejny problem...
jak zrobic zeby w include() zamiescic pelny adres do skryptu php?
skoro na serwie jest include_path .:/usr/share/php:/usr/share/pear
nospor
Cytat
skoro na serwie jest include_path .:/usr/share/php:/usr/share/pear
Ales mi powiedzial tongue.gif
A gdzie sie skrypt znajduje?
  1. <?php
  2. include('pelnasciezkadoskryptu/skrypt.php');
  3. ?>


edit po poscie nizej:
no to trzeba byla tak od razu smile.gif
lunex
no skrypt sie znajduje na innym serwie...

edit po edicie wyzej: no wiec jest to wykonalne?questionmark.gif blink.gif
edit2: przy okazji zna ktos dobry darmowy serwer z dostepna funkcja mail?? (tylko nie yoyo smile.gif )
nospor
Cytat
edit po edicie wyzej: no wiec jest to wykonalne?questionmark.gif

po pierwsze, twoj serwer musi nato pozwalac:
http://pl.php.net/manual/pl/function.include.php
Cytat
Jeśli "URL fopen wrappers" są włączone w PHP (takie jest domyślne ustawienie) można podać nazwę pliku do wczytania używając adresu URL (przez protokół HTTP lub innym obsługiwanym sposobem - zajrzyj do Dodatek M, List of Supported Protocols/Wrappers aby zapoznać się z listą obsługiwanych protokołów), zamiast podawać ścieżkę lokalną. Jeśli podany w adresie serwer interpretuje plik docelowy jako kod PHP, można do tego skryptu przekazać zmienne w taki sam sposób jak przy metodzie GET protokołu HTTP. Ściśle mówiąc, nie jest to to samo, co wczytywanie pliku lokalnego; jest to wykonanie pliku na zdalnym serwerze i wklejenie rezultatu jego działania do skryptu wywołującego. W tym przypadku, rzecz jasna, zasięg globalny zmiennych nie obejmuje pliku wczytywanego tą metodą.

po drugie: sek w tym ze pewnie dane z POSTA sie tam nie przekaza
Sprobuj ewentualnie cURL http://pl.php.net/manual/pl/ref.curl.php
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.