Autor | Zpráva | ||
---|---|---|---|
Camo Profil |
#1 · Zasláno: 3. 2. 2010, 16:45:06 · Upravil/a: Camo
Zdravým!
Skúšam funkciu mail(), ale mám s tým nenormálne problémy. Mám formulár: <form id="mail" action="mail.php5" method="post" enctype="text/plain"> adresa:<input name="adresa" type="text" value="vladimir.camaj@gmail.com" size="30" /> predmet:<input name="predmet" type="text" value="camo.tym.sk" size="30" /> správa:<textarea name="sprava" align="middle" cols="60" rows="7" /></textarea> <input type="submit" value="odoslať" size="10" /> </form> a script mail.php5: <? error_reporting(E_ALL); if(mail($_POST["adresa"], $_POST["predmet"], $_POST["sprava"])){ print "<HTML><BODY>Sparava bola odoslana!"; print "</BODY></HTML>"; } else{ print("<HTML><BODY>Error!!! Nepodarilo sa odoslat spravu!"); print("</BODY></HTML>"); } ?> Vypisuje mi toto: Notice: Undefined index: adresa in /home/free/tym.sk/c/camo/root/www/mail.php5 on line 3 Notice: Undefined index: predmet in /home/free/tym.sk/c/camo/root/www/mail.php5 on line 3 Notice: Undefined index: sprava in /home/free/tym.sk/c/camo/root/www/mail.php5 on line 3 Sparava bola odoslana! Keď to zmením na method="get" tak normálne správu odošle, bez tých poznámok. S postom ani za nič. Ako to, že nebere ten POST(Undefined index......), ale Get funguje bez problémov? Vďaka za pomoc! |
||
JAAkub Profil |
#2 · Zasláno: 3. 2. 2010, 16:58:45 · Upravil/a: JAAkub
Camo:
Skus toto : $adress = $_POST["adresa"]; $predm = $_POST["predmet"]; $spr = $_POST["sprava"]; a potom zmen mail($_POST["adresa"], $_POST["predmet"], $_POST["sprava"]) Na : mail($adress, $predm, $spr) |
||
panther Profil |
#3 · Zasláno: 3. 2. 2010, 17:00:47
JAAkub:
„Daj $_POST prec alebo urob“ prosím? Dát pryč $_POST, je nesmysl. Vytvářet nové proměnné je zbytečné. |
||
Camo Profil |
#4 · Zasláno: 3. 2. 2010, 17:01:51 · Upravil/a: Camo
No dobre, ale potrebujem pochopiť, prečo to nebere tak ako to je. Nejde mi o posielanie mailov, potrebujem to pochopiť a teda nedáva to žiadny zmysel.
Ako to, že$_GET funguje a $_POST nie? Ale pozriem sa pre zaujímavosť aj na túto možnosť. Ináč tiež si myslím, že nové premenné sú tam zbytočné. |
||
JAAkub Profil |
#5 · Zasláno: 3. 2. 2010, 17:07:32
Camo:
To veru neviem :D. Mne tiez vselico neslo a cudujem sa tomu :D Premenne mam ja tak nastavenie v mojom mail()-e. Preto som to sem písal; mne to funguje |
||
Camo Profil |
#6 · Zasláno: 3. 2. 2010, 17:09:59
JAAkub:
Skúšal som to, ale žiadna zmena. Tá istá chyba. |
||
JAAkub Profil |
#7 · Zasláno: 3. 2. 2010, 17:13:32
Camo:
Ja som tiez na IC.cz skusim to ja :D an mojom servere |
||
AM_ Profil |
#8 · Zasláno: 3. 2. 2010, 17:17:44
Co třeba nejdřív ověřit, jestli vůbec byl vyplněn formulář?
if (isset($_POST['adresa'])) { mail($_POST["adresa"], $_POST["predmet"], $_POST["sprava"]); } |
||
JAAkub Profil |
#9 · Zasláno: 3. 2. 2010, 17:32:56 · Upravil/a: JAAkub
TOTO JE ZLE POZRI TOTO : 14-ty príspevok
Camo: Dosiel som na to Podla mna chyba bola v tomto : error_reporting(E_ALL); Ak som spravne pochopil tento prikaz vypisal vsetky chyby, poznamky, warning-y A preto pisalo toto: Notice: Undefined index: adresa in /home/free/tym.sk/c/camo/root/www/mail.php5 on line 3 Notice: Undefined index: predmet in /home/free/tym.sk/c/camo/root/www/mail.php5 on line 3 Notice: Undefined index: sprava in /home/free/tym.sk/c/camo/root/www/mail.php5 on line 3 Sice neviem preco to islo s GET ale toto fungovalo :D Script: <? if (isset($_POST['adresa'])) { if(mail($_POST["adresa"], $_POST["predmet"], $_POST["sprava"])){ echo "<HTML><BODY>Sparava bola odoslana!"; echo "</BODY></HTML>"; } else{ echo "<HTML><BODY>Error!!! Nepodarilo sa odoslat spravu!"; echo "</BODY></HTML>"; };} ?> |
||
panther Profil |
#10 · Zasláno: 3. 2. 2010, 17:35:08
JAAkub:
„Podla mna chyba bola v tomto :“ ne, to je naprosto správná cesta. Chyby se mají řešit, ne se schovávat nebo je potlačovat. |
||
JAAkub Profil |
#11 · Zasláno: 3. 2. 2010, 17:38:37 · Upravil/a: JAAkub
panther:
„Chyby se mají řešit, ne se schovávat nebo je potlačovat.“ Tak prečo neporadíte aj vy, len opravujete čo ja napíšem; Možno som sa mýlil ale funguje to |
||
panther Profil |
#12 · Zasláno: 3. 2. 2010, 17:46:09
JAAkub:
„Možno som sa mýlil ale funguje to“ funguje to stejně, jako s těmi varováními. Jen jsi je potlačil. „Tak prečo neporadíte aj vy“ však to AM napsal. |
||
Nox Profil |
#13 · Zasláno: 3. 2. 2010, 17:57:16
„Tak prečo neporadíte aj vy, len opravujete čo ja napíšem; Možno som sa mýlil ale funguje to“
Bohužel tvoje rada kromě toho že nepomůže spíš naopak uškodí, proto je dobrý na to upozornit Camo: Ten entype...teoreticky by měl být správně ale kupodivu mi to (pokud si dobře pamatuju) dělalo neplechu ...sice by to pomoct nemělo, ale zkus to zkusit bez něj <? => <?php ...sice neřeší současný problém, ale je lepší používat toto +určitě přidej co psal AM |
||
JAAkub Profil |
#14 · Zasláno: 3. 2. 2010, 17:59:14 · Upravil/a: JAAkub
UŽ TO MÁM
Odstran z formularu : <form ... enctype="text/plain"> A takto prerob Script: <?php error_reporting(E_ALL); if (isset($_POST['adresa'])) { if(mail($_POST["adresa"], $_POST["predmet"], $_POST["sprava"])){ echo "<HTML><BODY>Sparava bola odoslana!"; echo "</BODY></HTML>"; } else{ echo "<HTML><BODY>Error!!! Nepodarilo sa odoslat spravu!"; echo "</BODY></HTML>"; }}else echo "<!-- error -->" ; ?> Nox: Ta druha uvaha bola správna enctype="text/plain" pomohla ... Viem zmýlil som sa... však sme len ľudia :D... |
||
Camo Profil |
#15 · Zasláno: 3. 2. 2010, 19:14:35
To all:
Formular je vyplnený správne. Napísal som predsa, že keď to posielam cez GET tak to normálne odošle ani error_reporting(E_ALL) nič nevypisuje. Idem sa teda pozrieť na to enctype... Som zvedavý, lebo mi to teda poriadne zamútilo v tekvici. Dúfam, že to bude ono. |
||
Camo Profil |
#16 · Zasláno: 3. 2. 2010, 19:20:51 · Upravil/a: Camo
Výborne, bolo to v tom enctype!
Moc díky Noxi!!! Jaakub:Snaha sa cení aj som sa pobavil.... |
||
Časová prodleva: 14 let
|
0