Autor | Zpráva | ||
---|---|---|---|
Stalker Profil |
Hoj,
snazim se prijit na kloub odesilani formulare v php, pouze to tak testuji a hraju si, ale vubec se mi nedari. Opsal jsem si z netu jednoduchy formular: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs"> <head><!-- ščřžýŠČŘŽÝ --> <meta name="generator" content="PSPad editor, www.pspad.com" /> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <form action="druhy.php"> Váš mail: <input name="mail_odesilatele"><br> Předmět: <input name="predmet"><br> Zpráva: <textarea name="zprava"></textarea><br> <input type=submit value="Odeslat"> </form> </form> </body> </html> a k tomu opsal php skript s názvem druhy.php: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs"> <head><!-- ščřžýŠČŘŽÝ --> <meta name="generator" content="PSPad editor, www.pspad.com" /> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <?php if ( Mail("marekcernak90@gmail.com", $predmet, $zprava, "From: " . $mail_odesilatele) ) echo "Mail byl odeslán"; else echo "Mail se nepodařilo odeslat"; ?> </body> </html> ale pri odeslani pres server mi to napise tuto chybu: Co ta chyba vlastně znamená? Mám chybu v kódu, nebo na domácím serveru? Je to na mě moc pokročilé učivo, jen jsem si chtěl otestovat dva opsaný kódy z netu jeslti to funguje a nedá mi spát, že to nejede. |
||
ALLSSA Profil |
#2 · Zasláno: 24. 11. 2012, 15:42:28
Stalker:
Máš chybu na řádce 13. Konkrétně nemáš definované proměnnné mail_odesilatele, zprava a predmet - to jsou ty první tři zprávy. To vyřešíš tím, že přidáš do form method get/post a v souboru druhy.php to vytáhneš z předchozího souboru metodou $_GET['jmeno inputu']/$_POST['jmeno inputu']. Abych to vysvětlil, v souboru druhy.php neexistují ty tři proměnné. Ty jsou v jen v tom prvním. Co se týče 4-té zprávy, tak se obávám, že selhal port 25 (zřejmě to nemáš nastavené v php.ini). Zkus hodit do googlu celou tu hlášku nebo počkej, až se ti ozve někdo, kdo s tím má zkušenosti. |
||
panther Profil |
#3 · Zasláno: 24. 11. 2012, 15:43:39
Stalker:
„Mám chybu v kódu, nebo na domácím serveru?“ nepodařilo se ti připojení k mailserveru, v kódu chyba (funkce mail) není. Předtím máš nějaké nedefinované proměnné, ty budou v GET['name_formularoveho_pole']
|
||
panther Profil |
#4 · Zasláno: 24. 11. 2012, 15:47:21
ALLSSA:
„že přidáš do form method get/post“ není nezbytné, method=get je defaultní.
„v souboru druhy.php neexistují ty tři proměnné.“ po odeslání formuláře existují. Vidíš to i na přiloženém screenu, že je máš v URL. |
||
Stalker Profil |
#5 · Zasláno: 24. 11. 2012, 15:50:48
ALLSSA, panther:
ALLSSA: Děkuji za odpovědi, ale koukám, že to je pro mě víceméně španělská vesnice. Je asi zbytečný si zkoušet něco, co je na netu, když tomu nerozumím, ale děkuji za ochotu. Soustředím se na php od nejlehčích úkonů. |
||
panther Profil |
#6 · Zasláno: 24. 11. 2012, 15:56:02
Stalker:
„Soustředím se na php od nejlehčích úkonů.“ ano, to bude rozumné. Chápat pokročilejší věci (nastavení SMTP serveru) bez jakýchkoliv základních znalostí není jednoduché. Když budeš u základů jazyka, definici proměnných (a eleminování těch třech varování) potkáš někde hned na začátku. |
||
ALLSSA Profil |
#7 · Zasláno: 24. 11. 2012, 16:08:08
panther:
Tak aspoň nové info: „není nezbytné, method=get je defaultní.“ „po odeslání formuláře existují. Vidíš to i na přiloženém screenu, že je máš v URL.“ To sice jo, ale musíš je vytáhnout přes $_GET ne? Stalker: To rozhodně. Já osobně si s ním hraju rok a pořád se jen učím. |
||
panther Profil |
#8 · Zasláno: 24. 11. 2012, 16:19:03
ALLSSA:
„ale musíš je vytáhnout přes $_GET ne?“ záleží podle nastavení serveru, ale ano, je to tak. Vlastně jsem to i psal, tedy aspoň to, že ty GET proměnné (resp. naplněné pole GET, nejsou to proměnné, ale pole) po odeslání formuláře existuje a bez odeslání formuláře bych se na tu stránku dostat neměl. Ošetřit by se to ještě dalo podmínkou, zda GET není prázdné, aby to ani teoreticky nemohlo noticky vypisovat. |
||
ALLSSA Profil |
#9 · Zasláno: 24. 11. 2012, 18:01:35
panther:
Takže vlastně tohle vlákno pomohlo mě. Děkuji. |
||
Časová prodleva: 11 let
|
0