Autor Zpráva
Tomson
Profil
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
Pokud ti to staci spojit, tak pouzij
$data = $text."\n".$text2;
Tomson
Profil
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
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
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
no a jak chces aby to zjistilo?? Cist myslenky od cloveka co sedi u pocitace compy neumi.
Tomson
Profil
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
IMHO jo
Tomson
Profil
Tak takhle to nefunguje :o))
Hugo
Profil
Tomson

Jak takhle?? Dej sem cely skript, takhle je to hadani z ruky.
Tomson
Profil
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
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
Tu hlavicku zkus upravit na tento tvar
"From: Tomáš Kunc <tomaskunc@centrum.cz>\r\n"

Treba to pomuze
Tomson
Profil
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
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
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
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
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
Tak zkus dat na zacatek skriptu
print_r($_POST);

To ti vypise obsah pole.
Tomson
Profil
nic nepomáhá, je to furt mrtvý, myslím, že je to asi od základu blbě
Hugo
Profil
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
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
Tomson

Asi to bude v tom flashi. Me to jede. Flashi bohuzel moc nerozumim, takze ti nepomuzu.
Hugo
Profil
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.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0