SWiSH Forum
Forum użytkowników programów SWiSH

SWiSH Max - [POMOC] Formularz kontaktowy +php

propanek121 - Sob 24 Mar, 2012 11:21
Temat postu: [POMOC] Formularz kontaktowy +php
Mam taki problem odnosnie tego ze gdy nacisne wyslij wszystko pieknie ladnie wyskakuje komunikat ze wyslano. Sprawdzilem plik php odpowiedzialny za odpowiedz zwrotna z serwera jednak na podanym przeze mnie adresie xxxx@xxx.xxx nic nie ma.
W czym tkwi blad?
...
Jezeli to pomoze to wstawie tutaj skrypt do przycisku wyslij:

on (release) {
if((nameVar=="")||(emailVar=="")||(subjectVar=="")||(msgVar=="")) {
errormessage="Uzupełnij wszystkie pola";
}
else {
errormessage="Trwa wysylanie....";
send="yes";
this.loadVariables("contact.php",'POST');
send="no";
nameVar="";
emailVar="";
subjectVar="";
msgVar="";
}

}


Kod pliku php:
<?
if ($send=="yes") {
$to = "xxxx@xxx.xxx";
$subject = "$subjectVar";
$body .= "$msgVar";
$from = "$nameVar";
$tfrom = "From: <$emailVar>";
mail($to,$subjectVar,$msgVar,$tfrom);
}
echo "&errormessage=Wyslano&";
?>

[ Dodano: Sob 24 Mar, 2012 12:27 ]
Dodam jeszcze ze komunikat "Wyslano" pochodzi od pliku php wiec dlaczego nie mam odpowiedzi zwrotnej na swojego emaila?? To nie wina serwera na ktorym mam strone tylko cos innego.(Mam tutaj 2 stronki z zastosowaniem php formularzy i dziala)

Januszr - Sob 24 Mar, 2012 12:03

Przyjacielu, spróbuj napisać po polsku. Syntezator zbyt często informuje mnie, że jest zbyt dużo błędów...
propanek121 - Sob 24 Mar, 2012 12:09

hmm ale co mam ci tu niby po polsku napisac;/ jak tam jest pare linijek kodu.
Mi sie wydaje ze ten plik php jest nie kompletny?

espe1 - Sob 24 Mar, 2012 12:23

formularz swish:
//tylko zmień sobie parametr base w export html

a błąd tkwi w tym, że trzeba załadować dane z formularza do php:

Kod:

myVars.sendAndLoad("contact.php", myVars, "POST");

propanek121 - Sob 24 Mar, 2012 12:29

to jest w wersji 4.0 a ja mam 3.0 i chcialbym po prostu ktos zerkna w czym tkwi blad w moim kodzie php(bo chyba innej opcji nie ma by gdzies indziej byl blad lub moze cos brakuje)
espe1 - Sob 24 Mar, 2012 12:35

adres do skryptów:

http://flashblog.swish.pl...unikacja-z-php/

propanek121 - Sob 24 Mar, 2012 12:39

wrzucilem twoj formularz na serwer zmienilem tylko contact.html na index.html i podalem w sendto swoj email. Jest ten sam problem co w wypadku mojego formularza

[ Dodano: Sob 24 Mar, 2012 13:41 ]
mam serwer na 000webhost.com

[ Dodano: Sob 24 Mar, 2012 13:50 ]
hmm podmienilem swoj this.loadVariables("contact.php",'POST');
na twoj myVars.sendAndLoad("contact.php", myVars, "POST");
nic to nie dal oa nawet podczas wysylania sie zacielo

espe1 - Sob 24 Mar, 2012 12:52

może zmień chmod pliku php na 777
propanek121 - Sob 24 Mar, 2012 12:56

a jak zmienic i w ktorym miejscu?? :oops:
a my rozmawiamy o twoim czy o moim formularzu?

[ Dodano: Sob 24 Mar, 2012 13:57 ]
widziales wogle kod zrodlowy mojego formularza i skryptu z przycisku wyslij?

espe1 - Sob 24 Mar, 2012 12:58

u mnie działa,
gdzie masz pocztę?
bo często występują opóźnienia w dostarczaniu wiadomości

podaj maila, to ustawię na serwerze i sobie sprawdzisz

propanek121 - Sob 24 Mar, 2012 13:01

ale ty robisz to w oparciu o swoj formularz czy moj??
espe1 - Sob 24 Mar, 2012 13:05

twój też sprawdziłem, ale nie działa

[ Dodano: Sob 24 Mar, 2012 13:06 ]
a chmod nie ma większego znaczenia, wystarczy standardowo 664

propanek121 - Sob 24 Mar, 2012 13:09

ale wlasnie dlaczego nie dziala co w nim jest nie tak

[ Dodano: Sob 24 Mar, 2012 14:30 ]
to wie ktos co powinienem zmienic w swoim formularzu(tresc skryptu) i php kodzie aby dzialalo? nie chce jak przed mowca by kierowal na swojego gotowca.

[ Dodano: Sob 24 Mar, 2012 15:01 ]
hmm a moglbys jakos skonwertowac ten szablon formularza do wersji 3.0 co podal przedmowca?

espe1 - Sob 24 Mar, 2012 19:32

1.
propanek121 napisał/a:
nie chce jak przed mowca by kierowal na swojego gotowca.


"twój" formularz, który sam napisałeś :mrgreen: : http://www.swish-db.com/tutorials/view.php/.../490

i nie jest gotowcem.

Dodam tylko, że "twój" formularz ma już 10 lat, od tamtej pory zmienił się flash i PHP:
było: PHP ver. 3 lub 4, teraz: PHP 6
było: flash ver.6 lub.7, teraz: 10 lub 11,5

2. skoro nie wiesz co to chmod, to oznacza, że jesteś początkującym webmasterem.
3. Nie da się przerobić pliku z SM4 na SM3 w programie, chyba, że ktoś wszystko przepisze

4. U góry podałem link do kodów i tutorialu "mojego" gotowca, przerobienie "twojego" na "mojego" zajmuje kilkanaście sekund, wystarczy przekopiować kody i pozmieniać nazwy pól tekstowych.

5. Jeśli koniecznie chcesz przerobić "twojego" gotowca na działającego, to napisz na PW ile jesteś w stanie zapłacić.

propanek121 - Sob 24 Mar, 2012 20:54

hmm a masz do jakies skrakowanej wersji swish 4 link?? moze obczaje ta 4;p
krzywy105 - Sob 24 Mar, 2012 21:05

Nie ściągałem załączonych skryptów ale myślę że:

po stronie flasha powinieneś wysyłać dane poprzez sendAndLoad

po stronie php musisz się odnosić do zmiennych w tablicy POST (chyba że te zmienne które używasz w fragmencie załączonego kodu są wcześniej właśnie przepisywane z POST)

ps. nie wystarczy sama zamiana loadVars na sendAndLoad
przed wysłaniem poprzez sandAndLoad musisz stworzyć obiekty do wysłania i odebrania danych.
Kod:

var result_wynik:LoadVars=new LoadVars();
var send_wyslanie:LoadVars=new LoadVars();
send_wyslanie.email= emailVar; // przepisanie zmiennych które mają być wysłane
send_wyslanie.temat= subjectVar;
//itd.

send_wyslanie.sendAndLoad("plik.php", result_wynik, "POST");    // wysłanie do pliku php zmiennych obiektu send_wysłanie i odebranie wyniku do obiektu  result_wynik


I w tym momencie w pliku php będizesz miał zmienne które ustawiłeś w send_wyslanie.
Będą one dostępne poprzez $HTTP_POST_VARS['email']; $HTTP_POST_VARS['temat']; itd.
Więc musisz przerobić swój skrypt i albo używać wszędzie zmiennych POST albo przepisać z POST do zmiennych lokalnych które już masz użyte w skrypcie.

espe1 - Sob 24 Mar, 2012 21:52

ja pier....

wystarczy wkleić na scenie 1 scrypt:
Kod:

function formValidation(): boolean{
     // wyczesczenie komunikatow bledow
     nameError.text = "";
     emailError.text = "";
     trescError.text = "";
    if (userName.text.length < 4) nameError.text = "Za krótka nazwa, minimum 4 znaki";
    else if (userEmail.text.length < 4) emailError.text = "Za krótki e-mail, minimum 4 znaki";   
    else if (userTresc.text.length < 10) trescError.text = "Za krótka treść, minimum 10 znaków";
    else {
     return true;
    }
    return false;
}

function Events(name, status){
     if ( (name == "btnwyslij") && formValidation() )   {       

        var myVars:LoadVars = new LoadVars();           

        myVars.Name = userName.text;     
        myVars.Email = userEmail.text;     
        myVars.Message = userTresc.text;                     
     
        myVars.onLoad = function (success) {             
                if (success)  { 
                    _root.dynamTekst.text = myVars.zwracanazmienna;           
                } 
           
        }             
                               
      myVars.sendAndLoad("contact.php", myVars, "POST");
     }
}

     


zmienić plik php na:
Kod:

<?php
header('Content-type: text/text; charset=utf-8');
$name = $HTTP_POST_VARS['Name'];
$email = $HTTP_POST_VARS['Email'];
$message = $HTTP_POST_VARS['Message'];
$message = stripslashes($message);
$sendTo = "twoj_mail@xxxxxxxxxxxxx.pl";
$subject = "Wiadomość z formularza kontaktowego";

$msg_body = "Imię i nazwisko: $name\n";
$msg_body .= "E-Mail: $email\n";
$msg_body .= "Wiadomość: $message\n";

$header_info = "From: ".$name." <".$email.">";


if (mail($sendTo, $subject, $msg_body, $header_info))
$wynik = "Wiadomość wysłana";
else
$wynik = "Błąd wysyłania";

// tu zwracamy zmienną
echo "&zwracanazmienna=$wynik&";
?>

  </body>
</html>


utworzyć 7 pól tekstowych (dynamicznych) o nazwach:
nameError
emailError
trescError
userName
userEmail
userTresc
dynamTekst

i 1 przycisk o nazwie:
btnwyslij

wszystko jest tutaj po polsku (link podawałem wyżej):
http://flashblog.swish.pl...unikacja-z-php/

mielu - Pon 26 Mar, 2012 10:18

po pierwsze sprawdź spam maile wysyłane za pomocą php (funkcji mali), najczęściej lądują w spamie

Powered by phpBB modified by Przemo © 2003 phpBB Group