Prośba o pomoc w pzrerobieniu formularza


(m@teo) #1

Witam, mam oto taki formularz kontaktowy w php:

<?php

// sprawdzamy, czy zmienna $submit jest pusta

if (empty($_POST['submit'])) {

    // wyświetlamy formularz

    echo "

| |
Treść wiadomości
|
| |
Imię, nazwisko lub nick
|
| |
Adres e-mail
|
|   |
|

"; } // sprawdzamy, czy zmienne przesłane z formularza nie są puste elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) { // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość // zmienna $message zawiera treść wiadomości $message = "Tresc wiadomosci:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]"; // zmienna $header zawiera przede wszystkim adres zwrotny $header = "From: $_POST[imie] <$_POST[email]>"; // funkcja mail() za pomocą której wiadomość zostanie wysłana @mail("kontakt@e-clubowo.pl","Wiadomosc :: E-Clubowo.pl","$message","$header") or die('Nie udało się wysłać wiadomości'); // wyświetlenie komunikatu w przypadku powodzenia echo "
Wiadomość została wysłana poprawnie!"; } // lub w przypadku nie wypełnienia formularza do końca else echo "Wypełnij wszystkie pola formularza!"; ?> [/code]

chcialbym przeorbić ten formularz tak, aby można bylo wybrać odbiorece, z pośród podanych e-mail, tj zeby się pojawilo dodatkowe okno w którym bedzie mozna wybrać na jaki adres e-mail można bylo wysłać oraz w ( ) napisać do kogo :slight_smile:


(Otstiba) #2

m@teo , http://skryptoteka.pl/files/files/750.zip

zobacze se to bo to moj brat mial na swojej stronie


(m@teo) #3

a umiałby ktoś mi to przerobić? :slight_smile:


(master of disaster) #4

Nie znam sie za bardzo na php ale u mnie to wygląda tak :

plik dane.php :

<?

$adres[]=array('imie,'twoj mail');

$adres[]=array('imie,'twoj mail');

?>

A w formularzu tak:

include('dane.php');


switch($_GET['mail'])

{

case 'ok';

i

| Do kogo: |
|


(m@teo) #5

ale w dłuższym kodzie to zrobić, bez funkcji include z innego :slight_smile:


(adpawl) #6
<?php

// sprawdzamy, czy zmienna $submit jest pusta

if (empty($_POST['submit'])) {

    // wyświetlamy formularz

    echo '

| |
Treść wiadomości
|
| |
Imię, nazwisko lub nick
|
| |
Adres e-mail

adres1@dobreprogramy.pl
adres2@dobreprogramy.pl
adres3@dobreprogramy.pl
adres4@dobreprogramy.pl

|
|   |
|

'; } // sprawdzamy, czy zmienne przesłane z formularza nie są puste elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) { // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość // zmienna $message zawiera treść wiadomości $message = "Tresc wiadomosci:\n".$_POST["tresc"]."\nWysłał: ".$_POST["imie"]."\ne-mail: ".$_POST["email"]; // zmienna $header zawiera przede wszystkim adres zwrotny $header = 'From: '.$_POST["imie"].' <'.$_POST["email"].'>'; // funkcja mail() za pomocą której wiadomość zostanie wysłana @mail('kontakt@e-clubowo.pl','Wiadomosc :: E-Clubowo.pl',$message,$header) or die('Nie udało się wysłać wiadomości'); // wyświetlenie komunikatu w przypadku powodzenia echo '
Wiadomość została wysłana poprawnie!'; } // lub w przypadku nie wypełnienia formularza do końca else echo 'Wypełnij wszystkie pola formularza!'; ?>[/code]

O to chodziło?


(m@teo) #7

adpawl , tylko czy meile wysylane przez formularz będa wysylany odpowiednio na każdy podany email?

Czy tylko na 1? :slight_smile:


(adpawl) #8

Tylko na 1 wybrany.

A chcesz wysłać za jednym razem na więcej?

Jeżeli tak, to wysyłasz w pętli, zobacz np. http://www.webtips.pl/index.php?showtop ... ntry152774

albo definiując adresatów w nagłówku CC albo BCC

przykład znajdziesz w manualu http://pl2.php.net/function.mail

Możesz też skorzystać z klasy phpmailer

btw.

Radził bym filtrować zmienne przekazywane do funkcji mail() ...bo inaczej ktoś się może nieładnie zabawić takim formularzem mailowym.


(m@teo) #9

tzn chodzilo mi o to ze jak wybierz ktoś adres1@dobreprogramy.pl

to na ten adres pójdzie e-mail

jak wybierze adres2@dobreprogramy to na ten adres pójdzie email i tak dalej :slight_smile:


(adpawl) #10

Na takiej właśnie zasadzie działa wcześniej podany kod. Wysyła tylko na jeden wybrany adres :wink:


(m@teo) #11

ale chyba jednka nie działa to tak jak działac ma.

zaznaczylem aby wysłać testowy e-mail na adres adres1@dobreprogramy.pl

A ten e-mail nie poszeł na ten email tlyko ten podany przy funkcji maili() czyli w moim przypadku kontakt@e-clubowo.pl


(adpawl) #12

Faktycznie. Nie przyglądałęm się całości a tylko fragmentowi kodu.

Zapewne o to chodziło

<?php

// sprawdzamy, czy zmienna $submit jest pusta

if (empty($_POST['submit'])) {

    // wyświetlamy formularz

    echo '

| |
Treść wiadomości
|
| |
Imię, nazwisko lub nick
|
| |
Twój e-mail
|
| |
Adresat

adres1@dobreprogramy.pl
adres2@dobreprogramy.pl
adres3@dobreprogramy.pl
adres4@dobreprogramy.pl

|
|   |
|

'; } // sprawdzamy, czy zmienne przesłane z formularza nie są puste elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email']) && !empty($_POST['adresat'])) { // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość // zmienna $message zawiera treść wiadomości $message = "Tresc wiadomosci:\n".$_POST['tresc']."\nWysłał: ".$_POST['imie']."\ne-mail: ".$_POST['email']; // zmienna $header zawiera przede wszystkim adres zwrotny $header = 'From: '.$_POST['imie'].' <'.$_POST['email'].'>'; // funkcja mail() za pomocą której wiadomość zostanie wysłana @mail($_POST['adresat'],'Wiadomosc :: E-Clubowo.pl',$message,$header) or die('Nie udało się wysłać wiadomości'); // wyświetlenie komunikatu w przypadku powodzenia echo '
Wiadomość została wysłana poprawnie!'; } // lub w przypadku nie wypełnienia formularza do końca else echo 'Wypełnij wszystkie pola formularza!'; ?>[/code]


(m@teo) #13

O to chodziło, tylko ze wywala błąd:

Parse error: syntax error, unexpected T_BOOLEAN_AND, expecting ')' in /home/novi/domains/e-clubowo.pl/public_html/pokaz-kontakt.php on line 61