Wysyłanie danych do formularza www

0

Witam,

Problem dotyczy zrobienia programu, który wysłał by dane do formularza php.

O co chodzi:

Na formatce mamy edity: Imię, Email, Wiadomość i button "Wyślij"
Teraz jeżeli użytkownik wypełni pola i wciśnie wyślij to żeby te dane trafiły do formularza na mojej stronie. Kod formularza na stronie jest taki:


<?php

//definicja adresu strony www:
$www = "www.mojastrona.pl";

//definicja adresu email:
$your_email = "[email protected]";

//komentarz jeśli formularz będzie pusty:
$empty_fields_message = "Wszystkie pola musz? być wypełnione.";


//komentarz po wysłaniu formularza:
$thankyou_message = "Dziękuję za wypełnienie formularza";


$name = stripslashes($_POST['txtName']);
$email = stripslashes($_POST['txtEmail']);
$message = stripslashes($_POST['txtMessage']);


$subject = $email;


if (!isset($_POST['txtName'])) {

?>

<form name="f" method="post" action="<? echo $PHP_SELF ?>">

<br>

Twoje imię: <input  type="text" name="txtName"><br>

Numer telefonu: <input  type="text" name="txtEmail"><br>

Temat: input  type="text" name="txtMessage"><br>

<br><br>

<input name="wyslij" type="submit" value=" Gotowe! ">

</form>

<?php

}

elseif (empty($name) || empty($email) || empty($message)) {

    echo $empty_fields_message;

}

else {


    $referer = $_SERVER['HTTP_REFERER'];

    $this_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"];

         if ($referer != $this_url) {
        echo "You do not have permission to use this script from another URL.";
        exit;
    }

    // wysłanie maila:
    mail($your_email, $subject, $message, "From: $name <$email>");

    // podziękowanie za wypełnienie formularza
    echo $thankyou_message;
    
}

?>

Bardzo was proszę o pomoc. Źródło w gotowcach nie działa. Acha! Dla ewentualnych tych co odpiszą - bierzcie proszę pod uwagę, że mam D5.

Dzięki wielkie!
</php>

0

zainteresuj sie IdMultiFormDataStream czy jakos tak i komponentem Indy - dokladniej to IdHttp.Post

0

Właśnie, ups.. chodzi o to, że nie najlepiej stoję z delphi... :(

0

Właśnie, ups.. chodzi o to, że nie najlepiej stoję z delphi... :(

ehhh...wszyscy chca zeby za nich pisano programy. co to za programowanie?? polegajace na pytaniu i potem wklejaniu fragmentow kodu z forum ??

ma dzisiaj "dobry*" dzien, wiec napisze wam.

*) dobry dla was, nie dla mnie, bo wszystko mnie boli.

do uses dodajesz IdMultiPartFormData;
wrzucasz na forme idHttp z pakietu indy,

var data:TIdMultiPartFormDataStream;
begin
data:=TIdMultiPartFormDataStream.Create;
data.AddFormField('pole1','wartosc1');
data.AddFormField('pole2','wartosc2');
data.AddFormField('pole3','wartosc3');
memo1.text:=IdHTTP1.Post('adres',data);

w memo1 otrzymasz kod strony ktora sie wyswietla po wyslaniu danych.

z zamiana nazw pol chyba sobie poradzisz.

0

hmm, zrobiłem tak i po wciśnięciu buttona w memo wczytało mi źródło formularza z mojej strony...

0

hmm, zrobiłem tak i po wciśnięciu buttona w memo wczytało mi źródło formularza z mojej strony...

czyli nie otrzymalo tego co nalezy - zoabacz czy dobrze pola wpisales, ew. zrob to na 2 skryptach (1 z formularzem, 2 z przetwarzaniem)

0

dalej nic... podsuńcie jak to zdziałać, co? ;)

0

tak w ogóle to chyba ten fragment kodu może trochę być nieodpowiedni dla czegoś takiego:

    $referer = $_SERVER['HTTP_REFERER'];
    $this_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"];

         if ($referer != $this_url) {
        echo "You do not have permission to use this script from another URL.";
        exit;
    }

a kod formularza z tego co widzę się pojawia jeśli się nie ustawi pola txtName więc jesteś pewien że ustawiasz w delphi tą wartość ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1