Autor | Zpráva | ||
---|---|---|---|
rhulek Profil |
Dobry den,
jelikoz pracuji poprve s PHP tak s tim mam trochu problemy... Na nize uvedenem odkaze mam odeslani formulare na email, ten mi sice prijde v pohode, ale presto se mi v prohlizeci po odeslani zobrazi ze nemam vyplnenyho odesilatele, misto toho aby se mi to zase vratilo na tu stranku jak chci. Odkaz: http://www.rhdesign.xf.cz/cenik.html Diky predem za odpovedi |
||
Alphard Profil |
#2 · Zasláno: 26. 10. 2007, 10:06:42
je pěkné, že uvádíš odkaz, ale my se k PHP kódu nedostaneme
a chválím výstižný nadpis :-) |
||
uNo Profil |
#3 · Zasláno: 26. 10. 2007, 10:09:31
:D xD
|
||
rhulek Profil |
#4 · Zasláno: 26. 10. 2007, 10:11:20
|
||
Str4wberry Profil |
#5 · Zasláno: 26. 10. 2007, 10:12:43 · Upravil/a: Str4wberry
Odpovídám rhulkovi:
Vlož sem kód toho zpracovávajícího skriptu. Nicméně na první pohled vidím, že <input name="Jmeno a prijmeni"> není to pravé. |
||
rhulek Profil |
#6 · Zasláno: 26. 10. 2007, 10:14:43
Dobra, tada vkladam script...
<?php // formulář by musí obsahovat vstupní prvky s těmito jmény: // odesilatel - email odesilatele // transfer - URL stránky, kterou chcete zobrazit po odeslání emailu // zde zadejte svůj vlastní email $prijemce = 'robert.hulek@centrum.cz'; // další změny nejsou zapotřebí $odesilatel = $_POST['odesilatel']; $subjekt = $_POST['subjekt']; $transfer = $_POST['transfer']; $datum = date("j/m/Y"); $cas = date("H:i:s"); if (!validace ($prijemce, $odesilatel, $transfer)) exit("<P><B>Formulář obsahuje chyby. "); $teloZpravy = vytvorTelo ($_POST); if (!odeslat ($prijemce, $odesilatel, $subjekt, $datum, $cas, $teloZpravy)) exit("<P><B>Zpráva nebyla odeslána.</B> "); ?> <META http-equiv='refresh' content='0; URL=<?php echo "$transfer"; ?>'> <?php exit; //////////////////////////////// VYTVOŘ TĚLO ZPRÁVY ///////////////////////// function vytvorTelo ($_POST) { $teloZpravy = ""; while (list($name, $value) = each($_POST)) { if ($name != 'subjekt' && $name != 'transfer' && $name != 'submit' && $name != 'odesilatel') { if (gettype($value) == 'array') { // TAG SELECT MULTIPLE $cnt = count($value); for ($i=0; $i < $cnt; $i++) { $teloZpravy .= "$name: $value[$i]r\n"; } } else { // JINÉ VSTUPNÍ PRVKY $teloZpravy .= "$name: $value "; } } } return $teloZpravy; } // end func //////////////////////////// ODEŠLI PLATNOU ZPRÁVU ///////////////////////////////// function odeslat ($prijemce, $odesilatel, $subjekt, $datum, $cas, $teloZpravy){ $zprava = "------------------------------------------------------------------"; $zprava .= " Komu: $prijemce"; $zprava .= " Od koho: $odesilatel"; $zprava .= " Vec: $subjekt"; $zprava .= " Odesláno: $datum $cas"; $zprava .= " ------------------------------------------------------------------" ; $zprava .= " $teloZpravy"; $hlavicka = "MIME-Version: 1.0 "; $hlavicka .= "Content-Type: text/plain; charset=" . $charset . " "; $hlavicka .= "From: $odesilatel "; $hlavicka .= "To: $prijemce "; $hlavicka .= "Reply-To: $odesilatel "; $hlavicka .= "X-Mailer: muj_server "; $odeslano = mail($prijemce, $subjekt, $zprava, $hlavicka); if ($odeslano == false) { exit ("<P>Zprávu nelze odeslat. Klikněte zpět a zkuste znovu.</B> "); } return $odeslano; } // end function //////////////////////////////// KONTROLA FORMULÁŘE //////////////////////////// function validace ($prijemce, $odesilatel, $transfer) { $valid = true; if (!$prijemce) { $valid = false; exit ("<P><B>Chyba. Vyplňte příjemce. Klikněte zpět a zkuste znovu.</B> "); } if (!$odesilatel) { $valid = false; exit ("<P><B>Chyba. Vyplňte odesilatele. Klikněte zpět a zkuste znovu.</B> "); } if(!eregi( "^" . "[_a-z0-9-]+(.[_a-z0-9-]+)*" . "@" . "[_a-z0-9-]+(.[a-z0-9-]+)*" . "$", $odesilatel, $regs)) { $valid = false; exit ("<P><B>Chyba. Neplatný odesílatel. Klikněte zpět a zkuste znovu.</B> "); } if(!eregi( "^" . "[_a-z0-9-]+(.[_a-z0-9-]+)*" . "@" . "[_a-z0-9-]+(.[a-z0-9-]+)*" . "$", $prijemce, $regs)) { $valid = false; exit ("<P><B>Chyba. Neplatný příjemce. Klikněte zpět a zkuste znovu.</B> "); } if (!transfer) { $valid = false; $transfer = 'http://www.rhdesign.xf.cz/cenik.html'; exit ("<P><B>Chyba. Zadejte URL následné stránky do pole transfer.</B> "); } return $valid; } // end func ?> |
||
Alphard Profil |
#7 · Zasláno: 26. 10. 2007, 10:16:39
// transfer - URL stránky, kterou chcete zobrazit po odeslání emailu
nikde to na tvé stránce nevidím |
||
rhulek Profil |
#8 · Zasláno: 26. 10. 2007, 10:18:10
je to uplne dole v kontrole formulare
|
||
Alphard Profil |
#9 · Zasláno: 26. 10. 2007, 10:19:42 · Upravil/a: Alphard
jo, už to vidím :-) věřil jsem tomu // další změny nejsou zapotřebí
ale pořád tam je $valid = false a exit |
||
rhulek Profil |
#10 · Zasláno: 26. 10. 2007, 10:21:50
a co s tim? vubec nevim o co de, jelikoz to je muj prvni pokus o PHP
|
||
Mastodont Profil |
#11 · Zasláno: 26. 10. 2007, 10:30:59
Pokud chceš aby se mi to zase vratilo na tu stranku jak chci, tak tam někde musí proběhnout přesměrování, a to tedy nevidím ...
|
||
rhulek Profil |
#12 · Zasláno: 26. 10. 2007, 10:42:23
a co ten transfer? to neni ono?
|
||
Alphard Profil |
#13 · Zasláno: 26. 10. 2007, 10:56:54
přesměrování má být zajištěno tím <META http-equiv='refresh' content='0; URL=<?php echo "$transfer"; ?>'>
zkus tohle (nechce se mi studovat celý script :-) ) místo $transfer = $_POST['transfer']; dej $transfer = 'http://www.rhdesign.xf.cz/cenik.html'; a tohle celé smaž if (!transfer) { $valid = false; $transfer = 'http://www.rhdesign.xf.cz/cenik.html'; exit ("<P><B>Chyba. Zadejte URL následné stránky do pole transfer.</B> "); } |
||
rhulek Profil |
#14 · Zasláno: 26. 10. 2007, 11:05:17
supr, uz mi to funguje jak ma...
Diky moc |
||
djlj Profil |
#15 · Zasláno: 26. 10. 2007, 11:07:37
|
||
Alphard Profil |
#16 · Zasláno: 26. 10. 2007, 11:17:44
djlj
proč se obracíš proti mně? já jsem jenom zkopíroval část scriptu jako reakci na tak tam někde musí proběhnout přesměrování, a to tedy nevidím já ten script nepsal :-) |
||
djlj Profil |
#17 · Zasláno: 26. 10. 2007, 11:18:52
Alphard
Aha, promiň ;). |
||
Časová prodleva: 16 let
|
0