Autor | Zpráva | ||
---|---|---|---|
Tomson Profil |
#1 · Zasláno: 25. 7. 2005, 11:38:27
Ahoj všichni,
prosím o pomoc. Mám jakýsi poptávkový formulář udělaný ve flashi a potřebuju ho odeslat na mail. S flashem si rady vím, ale nevím si rady s PHP, je to pro mě španělská vesnice, resp. tenhle vlak mi trošku ujel. No ale teď k věci. Z netu jsem si stáhl jakýsi e-mailový formulář, který jsem předělal, ale tam se data čerpají jenom z jednoho textového pole. Nejsem schopný k tomu přidat ještě to druhé, příp. třeti... Je to určitě triviální věc, pouze otázka zapsání syntaxe, ale já na to nemůžu přijít. V tom scriptu je kromě všeho ostatního: $data = $text.' to odkazuje na pole , které je ve flashi nazvané jako text, potřebuju ale, aby se v tom mailu objevil i text v poli s názvem text2. A pak ještě jedna věc, jak udělat, abych viděl v mailu (v kolonce od), adresu odesílatele. Díky moc za všechny rady, či odkazy, kde bych to našel Tomson |
||
Hugo Profil |
#2 · Zasláno: 25. 7. 2005, 12:32:27
Pokud ti to staci spojit, tak pouzij
$data = $text."\n".$text2; |
||
Tomson Profil |
#3 · Zasláno: 25. 7. 2005, 13:16:42
spojit? Mě se to hodilo na druhý řádek. Ale musel jsem to upravit, protože takhle to nefungovalo. Místo toho středníků jsem dal . a apostrof
$data = $text."\n".$text2.' tak to tam původně bylo. Nerozumím tomu, ale těď to funguje. A když už jsi mluvil o tom spojení, dá se to teda spojit i na jeden řádek? A s tou druhou otázkou bys mi taky dovedl poradit? Ohledně toho mailu odesílatele? Díky |
||
Hugo Profil |
#4 · Zasláno: 25. 7. 2005, 13:19:27
Pokud to nechces na druhy radek, tak s tama vyhod to \n
cili $data=$text.text2.' ta tecka a apostrof tam je proto, ze se jeste dal neco vklada to te promenne. Pokud chces adresu odesilatele, tak dej do hlavicky mailu From: Nekdo <nekdo@server.cz> |
||
Tomson Profil |
#5 · Zasláno: 25. 7. 2005, 13:59:39
Jo tak tohle je perfektní.
Co se týče toho mailu, na tohle jsem taky přišel, ale já potřebuju, aby to tu adresu odesílatele zjišťovalo samo. Pokud to jde. Samozřejmě to jde vyřešit i tak, že tam do toho formuláře prsknu kolonku kontaktní e-mail, ale chtěl bych, aby to bylo co možná pro uživatele nejjednodušší, a hlavně neumím dělat povinné položky, takže by se mohlo stát, že mi to někdo nevyplní a já nebudu vědět, od koho to přišlo |
||
Hugo Profil |
#6 · Zasláno: 25. 7. 2005, 14:04:02
no a jak chces aby to zjistilo?? Cist myslenky od cloveka co sedi u pocitace compy neumi.
|
||
Tomson Profil |
#7 · Zasláno: 25. 7. 2005, 14:18:24
No já nevim, proto se ptám. Takže se to dá vyřešit jen tak, jak jsem popisoval? Kolonka kontaktní e-mail? A jak teda udělat, aby byl povinná?
|
||
Hugo Profil |
#8 · Zasláno: 25. 7. 2005, 14:18:51
IMHO jo
|
||
Tomson Profil |
#9 · Zasláno: 25. 7. 2005, 14:21:50
Tak takhle to nefunguje :o))
|
||
Hugo Profil |
#10 · Zasláno: 25. 7. 2005, 15:05:41
Tomson
Jak takhle?? Dej sem cely skript, takhle je to hadani z ruky. |
||
Tomson Profil |
#11 · Zasláno: 25. 7. 2005, 15:14:29
Tak takhle to vypadá
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD><TITLE>Dressed In Black</TITLE> <META http-equiv=content-type content="text/html; charset=windows-1250"> <HEAD> <? $datum = date( "d.M.Y H:i:s"); $info = "Informácie o odosielatelovi. Jazyk : $HTTP_ACCEPT_LANGUAGE IP: $REMOTE_ADDR Prehliadač: $HTTP_USER_AGENT Stránka: $HTTP_REFERER"; $data = $text.$text2.' '.$info.' Dátum a čas poslania: '.$datum.' Tato zpráva je zkušební'; mail($email, $predmet, $data,"From: Tomáš Kunc <tomaskunc@centrum.cz>"); echo $data; ?> Možná je to nepřesný a je v tom spousta zbytečnejch nesmyslů, ale jak říkám, tenhle vlak mi trošku ujel a nemám času ho dohonit Díky |
||
Hugo Profil |
#12 · Zasláno: 25. 7. 2005, 15:24:31
A co to dela nebo nedela??
Pokud je zprava prazdna, tak nepouzivej promennou $text, ale $_POST['text'] (apod. pro vsechny data z formulare). |
||
Hugo Profil |
#13 · Zasláno: 25. 7. 2005, 15:26:43
Tu hlavicku zkus upravit na tento tvar
"From: Tomáš Kunc <tomaskunc@centrum.cz>\r\n" Treba to pomuze |
||
Tomson Profil |
#14 · Zasláno: 25. 7. 2005, 15:29:43
ale jo, funguje to, jen jsem se chtěl dozvědět, jak se dělá povinná položka pro vyplnění. Např. bych chtěl, aby pole "text2" bylo povinné, tzn. aby formulář nešel odeslat, dokud tam někdo něco nenapíše. Jenže nevím, jestli to jde v kombinaci s formulářem ve flashi nějak udělat.
|
||
Hugo Profil |
#15 · Zasláno: 25. 7. 2005, 15:31:43
Tak dej na zacatek skriptu podminku
<?php if ($_POST['text2'] == '') { print 'Musite zadat Vas email'; // TADY TO SAMOZREJME MUZES OBALIT POMOCI HTML exit; } ?> Pak to bez zadaneho emailu neodesle zpravu. |
||
Tomson Profil |
#16 · Zasláno: 25. 7. 2005, 15:49:01
Mám to teď takhle
<? if ($_POST['text2'] == '') { print 'Musite zadat Vas email'; exit; } $datum = date( "d.M.Y H:i:s"); $info = "Informácie o odosielatelovi. Jazyk : $HTTP_ACCEPT_LANGUAGE IP: $REMOTE_ADDR Prehliadač: $HTTP_USER_AGENT Stránka: $HTTP_REFERER"; $data = $_POST['text'].$_POST['text2'].' '.$info.' Dátum a čas poslania: '.$datum.' '; mail($email, $predmet, $data,"From: Tomáš Kunc <tomaskunc@centrum.cz>\r\n"); echo $data; ?> ale pořád to nefunguje a zkoušel už jsem všechno, co mě napadlo. Asi na to nemám buňky |
||
Hugo Profil |
#17 · Zasláno: 25. 7. 2005, 15:55:09
Kdyz pises, ze to nefunguje, tak napis presne co to nedela (nebo dela).
Pokud ti to nebere $_POST['text'], tak zkontroluj jak odesilas data (post nebo get), prip. pouzij pole $_REQUEST, tzn. $_REQUEST['text'] |
||
Tomson Profil |
#18 · Zasláno: 25. 7. 2005, 15:58:55
Pole jsou odesílána jako POST. Přepsal jsem taky dle tvojí rady $text na $_POST['text'] a teď mi nepřichází vůbec nic. Prostě nevyplním nic, odešlu a nevyskočí žádná hláška, abych do pole text2 doplnil e-mail, ani mi vůbec ze serveru nepřijde na mail. Prostě je to mrtvý
|
||
Hugo Profil |
#19 · Zasláno: 25. 7. 2005, 16:01:14
Tak zkus dat na zacatek skriptu
print_r($_POST); To ti vypise obsah pole. |
||
Tomson Profil |
#20 · Zasláno: 25. 7. 2005, 16:09:43 · Upravil/a: Tomson
nic nepomáhá, je to furt mrtvý, myslím, že je to asi od základu blbě
|
||
Hugo Profil |
#21 · Zasláno: 25. 7. 2005, 16:12:36
Ale neco to musi vypsat. If ne, tak tam nekde bude chyba a sekne se to na tom. Ja sem skopcil ten skript a funguje to. Takze tam je iMHO nekde preklep.
|
||
Tomson Profil |
#22 · Zasláno: 25. 7. 2005, 16:21:37 · Upravil/a: Tomson
Tohle je celý script, který mám v souboru *.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD><TITLE>Dressed In Black</TITLE> <META http-equiv=content-type content="text/html; charset=windows-1250"> <HEAD> <? if ($text2 == '') { print 'Musite zadat Vas email'; // TADY TO SAMOZREJME MUZES OBALIT POMOCI HTML exit; } $datum = date( "d.M.Y H:i:s"); $info = "Informácie o odosielatelovi. Jazyk : $HTTP_ACCEPT_LANGUAGE IP: $REMOTE_ADDR Prehliadač: $HTTP_USER_AGENT Stránka: $HTTP_REFERER"; $data = $text.$text2.' '.$info.' Dátum a čas poslania: '.$datum.' '; mail($email, $predmet, $data,"From: Tomáš Kunc <tomaskunc@centrum.cz>\r\n"); echo $data; ?> hodím ho na server, spustím si stránky a když dám odeslat, tak se to tváří jako odeslané a nic mi nepřijde. Problém je asi ještě v tom flashi nebo už fakt nevím. Zkusím se v tom ještě porochňat a uvidím. Jinak moc díky za ochotu a trpělivost |
||
Hugo Profil |
#23 · Zasláno: 25. 7. 2005, 16:32:19
Tomson
Asi to bude v tom flashi. Me to jede. Flashi bohuzel moc nerozumim, takze ti nepomuzu. |
||
Hugo Profil |
#24 · Zasláno: 25. 7. 2005, 16:38:37
Jeste zkus dat na zacatek skriptu
print_r($_REQUEST); tak uvidis obsah vsech superglobalnich poli, ktere obsahuji data odeslana ze stranky. Treba se tam ukaze neco zajimaveho. |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0