Autor | Zpráva | ||
---|---|---|---|
raymoriss Profil |
#1 · Zasláno: 16. 7. 2007, 20:23:43
Nenašla by se nějaká dobrá duše, která by mi pomohla s mým problémem, jsem v tomto docela amatér. Ctěl jsem si na web stránky přidat on-line formulár, takže jsem si vyhledal toto:
EMAIL.PHP <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <title>Odesílání emailu</title> </head> <body> <h1>Odesílání emailu</h1> <form action="posli.php" method="post"> <input name="email" size="25" value="Váš@mail"><br> <input name="predmet" size="25" value="Předmět"><br> <input name="spam" size="25"> <strong>= 1 + 1</strong><br> <textarea name="zprava" rows="6" cols="55">Zpráva...</textarea><br> <input type="submit" value="Odeslat"> </form> </body> </html> POSLI.PHP <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <title>Odesílání emailu</title> </head> <body> <h1>Odesílání emailu</h1> <? $predmet = $_POST['predmet']; $email = $_POST['email']; $spam = $_POST['spam']; $zprava = $_POST['zprava']; if ($predmet!="" and $email!="" and $zprava!="" and $spam=="2") { Mail("vase@adresa.com", $predmet, $zprava, "From: " . $email); echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>"; } else { echo "<p>Váš e-mail se <strong>nepodařilo odeslat</strong> pravděpodobně jste nevyplnili všechny údaje, nebo nevíte kolik je 1 + 1.</p>"; } ?> </body> </html> Vše by bylo v naprostém pořádku, jen mi jde o jednu věc - potřeboval bych, aby polí typu "zpráva" bylo více, tzn. aby políček pro napsání čekoholi bylo více, protože když jsem "<textarea name="zprava" rows="6" cols="55">Zpráva...</textarea><br>" nakopíroval vícekrát (a na webu se to objevilo),tak mi vždy přijde pouze text z prvního pole. ZA JAKOUKOLI POMOC BUDU MOC VDĚČNÝ. |
||
djlj Profil |
#2 · Zasláno: 16. 7. 2007, 20:28:19
Dej každé textarei jiné name. A pak použij $_POST['nejakynazev'].
|
||
Harkonnen Profil * |
#3 · Zasláno: 16. 7. 2007, 20:34:04
Normalne si dej poli kolik chces, ale kazde musi mit svuj unikatni atribut name, tedy napriklad budes mit zprava1, zprava2, zprava3 atd. A pak uz staci dat treba neco takoveho: $zprava = $zprava1."<br />druhá část:".$zprava2."<br />třetí část:".$zprava3;
|
||
raymoriss Profil |
#4 · Zasláno: 16. 7. 2007, 21:14:37
Děkuji Vám za pomoc, udělal jsem (snad) vše co bylo napsáno, ale stále nefunguje, opravil jsem to takto:
<B>EMAIL.PHP</B> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <title>On-line formulář</title> </head> <body> <div align="center"> <h1><u>On-line formulář</u></h1> <font size=2>Po vyplnění a odeslání formuláře Vás budeme automaticky kontaktovat buď na e-mail nebo telefonicky. </font> <form action="posli.php" method="post"> <input name="email" size="25" value="Váš e-mail"><br> <input name="predmet" size="25" value="Jeméno a přijímení"><br> Antismapová ochrana, prosím napište zde číslici dvě: <input name="spam" size="25"> <strong>= 1 + 1</strong><br> Zpráva1: <textarea name="zprava" rows="1" cols="70">neco</textarea><br> Zpráva2: <textarea name="zprava2" rows="1" cols="70">neco</textarea><br> Zpráva3: <textarea name="zprava3" rows="1" cols="70">neco</textarea><br> Zpráva4: <textarea name="zprava4" rows="1" cols="70">neco</textarea><br> Zpráva5: <textarea name="zprava5" rows="1" cols="70">neco</textarea><br> <input type="submit" value="Odeslat"> </form> </body> </html> <b>POSLI.PHP</B> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <title>On-line formulář</title> </head> <body> <div align="center"> <h1><u>On-line formulář</u></h1> <font size=2>Po vyplnění a odeslání formuláře Vás budeme automaticky kontaktovat buď na e-mail nebo telefonicky. </font> <form action="posli.php" method="post"> <input name="email" size="25" value="Váš e-mail"><br> <input name="predmet" size="25" value="Jeméno a přijímení"><br> Antismapová ochrana, prosím napište zde číslici dvě: <input name="spam" size="25"> <strong>= 1 + 1</strong><br> Zpráva1: <textarea name="zprava" rows="1" cols="70">neco</textarea><br> Zpráva2: <textarea name="zprava2" rows="1" cols="70">neco</textarea><br> Zpráva3: <textarea name="zprava3" rows="1" cols="70">neco</textarea><br> Zpráva4: <textarea name="zprava4" rows="1" cols="70">neco</textarea><br> Zpráva5: <textarea name="zprava5" rows="1" cols="70">neco</textarea><br> <input type="submit" value="Odeslat"> </form> </body> </html> NEBYLA BY PROSÍM JEŠTĚ NĚJAKÁ RADA? DĚKUJI. |
||
Harkonnen Profil * |
#5 · Zasláno: 16. 7. 2007, 21:20:47
Nějak nevidím ten odesílací skript. To posli.php ted vypada jak?
|
||
raymoriss Profil |
#6 · Zasláno: 16. 7. 2007, 21:24:18
POSLI.PHP JE V DRUHÉ POLOVINĚ PŘEDCHÁZEJÍCÍHO PŘÍSPĚVKU, ALE ZDE:
POSLI.PHP <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <title>On-line formulář</title> </head> <body> <div align="center"> <h1><u>On-line formulář</u></h1> <font size=2>Po vyplnění a odeslání formuláře Vás budeme automaticky kontaktovat buď na e-mail nebo telefonicky. </font> <form action="posli.php" method="post"> <input name="email" size="25" value="Váš e-mail"><br> <input name="predmet" size="25" value="Jeméno a přijímení"><br> Antismapová ochrana, prosím napište zde číslici dvě: <input name="spam" size="25"> <strong>= 1 + 1</strong><br> Zpráva1: <textarea name="zprava" rows="1" cols="70">neco</textarea><br> Zpráva2: <textarea name="zprava2" rows="1" cols="70">neco</textarea><br> Zpráva3: <textarea name="zprava3" rows="1" cols="70">neco</textarea><br> Zpráva4: <textarea name="zprava4" rows="1" cols="70">neco</textarea><br> Zpráva5: <textarea name="zprava5" rows="1" cols="70">neco</textarea><br> <input type="submit" value="Odeslat"> </form> </body> </html> |
||
Harkonnen Profil * |
#7 · Zasláno: 16. 7. 2007, 21:31:20
No jo, ale přetím si měl tohle:
POSLI.PHP <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <title>Odesílání emailu</title> </head> <body> <h1>Odesílání emailu</h1> <? $predmet = $_POST['predmet']; $email = $_POST['email']; $spam = $_POST['spam']; $zprava = $_POST['zprava']; if ($predmet!="" and $email!="" and $zprava!="" and $spam=="2") { Mail("vase@adresa.com", $predmet, $zprava, "From: " . $email); echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>"; } else { echo "<p>Váš e-mail se <strong>nepodařilo odeslat</strong> pravděpodobně jste nevyplnili všechny údaje, nebo nevíte kolik je 1 + 1.</p>"; } ?> A ted mas uplne neco jineho. Neni tam zadny skript na odesilani, tak je chyba treba prave tam. |
||
raymoriss Profil |
#8 · Zasláno: 16. 7. 2007, 21:35:45
No teď jsem to právě předělal "snad" dle toho, co mi bylo razeno. Jak jsem již řekl, jsem opravdu amatér. Ale moc díky za rady. Nevíš tedy konkrétně, co bych tam měl přidat nebo předělat. Ono ten formulář na mail přijde, ale mám tam pět kolonek a textem (textarea), ale v mailu se mi vždy objeví text jen té první :(.
|
||
Harkonnen Profil * |
#9 · Zasláno: 16. 7. 2007, 21:39:18
OK, tak já se ti na to zkusím podívat, ale hoď sem kód toho odesílacího skriptu. To co si poslal nemůže odeslat ani mail, když tam není funkce mail(). Dej to sem přesně jak to máš a dáme do toho ty ostatní políčka.
|
||
raymoriss Profil |
#10 · Zasláno: 16. 7. 2007, 21:47:45
TOHLETO MÁM JAKO INDEX.HTM:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <title>On-line formulář</title> </head> <body> <div align="center"> <h1><u>On-line formulář</u></h1> <font size=2>Po vyplnění a odeslání formuláře Vás budeme automaticky kontaktovat buď na e-mail nebo telefonicky. </font> <form action="posli.php" method="post"> <input name="email" size="25" value="Váš e-mail"><br> <input name="predmet" size="25" value="Jeméno a přijímení"><br> Antismapová ochrana, prosím napište zde číslici dvě: <input name="spam" size="25"> <strong>= 1 + 1</strong><br> Zpráva1: <textarea name="zprava" rows="1" cols="70">neco</textarea><br> Zpráva2: <textarea name="zprava2" rows="1" cols="70">neco</textarea><br> Zpráva3: <textarea name="zprava3" rows="1" cols="70">neco</textarea><br> Zpráva4: <textarea name="zprava4" rows="1" cols="70">neco</textarea><br> Zpráva5: <textarea name="zprava5" rows="1" cols="70">neco</textarea><br> <input type="submit" value="Odeslat"> </form> </body> </html> A TOHLE JAKO POSLI.PHP: (asi ten odesílací skript): <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <title>Odesílání emailu</title> </head> <body> <h1>Odesílání emailu</h1> <? $predmet = $_POST['predmet']; $email = $_POST['email']; $smap = $_POST['spam']; $zprava = $_POST['zprava']; $zprava2 = $_POST['zprava2']; $zprava3 = $_POST['zprava3']; $zprava4 = $_POST['zprava4']; $zprava5 = $_POST['zprava5']; if ($predmet!="" and $email!="" and $zprava!="" and $spam=="2") { Mail("aq.amlife@seznam.cz", $predmet, $zprava, "From: " . $email); echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>"; } else { echo "<p>Váš e-mail se <strong>nepodařilo odeslat</strong> pravděpodobně jste nevyplnili všechny údaje, nebo nevíte kolik je 1 + 1.</p>"; } ?> </body> </html> ---------------------------------------------------- EMAIL PŘIJDE, ALE OPRAVDU JEN S TEXTEM PRVNÍHO POLE. |
||
Harkonnen Profil * |
#11 · Zasláno: 16. 7. 2007, 22:00:52
To je přesně to, co jsem chtěl vidět. Takže chyba je naštěstí viditelná. :-) Přijde ti jen to první pole proto, že jen to první pole odesíláš. Zkus toto:
<? $predmet = $_POST['predmet']; $email = $_POST['email']; $smap = $_POST['spam']; $zprava = $_POST['zprava']; $zprava2 = $_POST['zprava2']; $zprava3 = $_POST['zprava3']; $zprava4 = $_POST['zprava4']; $zprava5 = $_POST['zprava5']; if ($predmet!="" and $email!="" and $zprava!="" and $spam=="2") { $odesilana_zprava = $zprava."<br />druhá část:".$zprava2."<br />třetí část:".$zprava3."<br />čtvrtá část:".$zprava4."<br />pátá část:".$zprava5; Mail("aq.amlife@seznam.cz", $predmet, $odesilana_zprava, "From: " . $email); echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>"; } else { echo "<p>Váš e-mail se <strong>nepodařilo odeslat</strong> pravděpodobně jste nevyplnili všechny údaje, nebo nevíte kolik je 1 + 1.</p>"; } ?> To co je změněno je tučně. Mělo by to jít, tak to vyzkoušej. :) |
||
raymoriss Profil |
#12 · Zasláno: 16. 7. 2007, 22:10:40
SUPER, DÍKY MOC! NEČEKAL JSEM, ŽE TU BUDE NĚKDO NATOLIK OCHOTNÝ. MOCKRÁT DÍKY :).
|
||
Harkonnen Profil |
#13 · Zasláno: 16. 7. 2007, 22:23:16
Jsem tu nový a dneska jsem byl stejně překvapen jako ty, když mi tady dva lidé rychle pomohli. Takže jsem se rozhodl pomoct ti, když rozumím tomu, na co ses ptal. :-)
Nemáš zač ;) |
||
Časová prodleva: 3 měsíce
|
|||
petrsvetr Profil |
#14 · Zasláno: 18. 10. 2007, 13:42:16
Ahojte lidi, myslim, ze tohle by mohl byt nazorny priklad sikovneho formulare, ovsem, proc mi to vypsiuje tohle?
: Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable to relay for jeh@seznam.cz in C:xampphtdocsposli.php on line 21 prosim o radu? |
||
Madenio Profil |
#15 · Zasláno: 18. 10. 2007, 15:41:05
Ako stvorene pre spamovacich robotov / spam injection :)
|
||
Časová prodleva: 6 dní
|
|||
Bill Profil * |
#16 · Zasláno: 24. 10. 2007, 16:48:47
potreboval bych radu, udelal jsem si formular v php a nejak posila ve spatnem kodovani, muzete poradit?
soubor: rezervace.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>Přihláška</title> </head> <body> <form action="rezervace/posli.php" method="POST"> <table id="formular"> <tr> <td><b>Vaše údaje pro rezervaci:</b></td> </tr> <td></td> <tr> <td>Jméno a příjmení:</td> <td class="form"><input type="text" name="jmeno" size="30" value=""></td> </tr> <tr> <td>Telefon:</td> <td class="form"><input type="text" name="telefon" size="30" value=""></td> </tr> <tr> <td>E-mail:</td> <td class="form"><input type="text" name="email" size="30" value=""></td> </tr> <td></td> <tr> <td><b>Rezervuji:</b></td> </tr> <td></td> <tr> <td class="popis">Datum příjezdu:</td> <td class="form"><input type="text" name="termin_od" size="30" value=""></td> </tr> <tr> <td class="popis">Datum odjezdu:</td> <td class="form"><input type="text" name="termin_do" size="30" value=""></td> </tr> <tr> <td>Počet osob:</td> <td class="form"><input name="pocet_osob" size="30" value=""></td> </tr> <tr> <td>Počet nocí:</td> <td class="form"><input name="pocet_noci" size="30" value=""></td> </tr> <tr> <td>Další požadavky:</td> <td class="form"><textarea rows="8" cols="40" name="dalsi_pozadavky"></textarea></td> </tr> <tr> <td><input type="submit" value="Odeslat rezervaci" name="odeslat"></td> </tr> </table> </form> </body> </html> soubor: posli.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>Přihláška - odeslání</title> </head> <body> <? $jmeno = $_POST['jmeno']; $telefon = $_POST['telefon']; $email = $_POST['email']; $termin_od = $_POST['termin_od']; $termin_do = $_POST['termin_do']; $pocet_osob = $_POST['pocet_osob']; $pocet_noci = $_POST['pocet_noci']; $dalsi_pozadavky = $_POST['dalsi_pozadavky']; if ($jmeno!="" and $telefon!="" and $email!="" and $termin_od!="" and $termin_do!="" and $pocet_osob!="" and $pocet_noci!="" and dalsi_pozadavky!="") { $odesilana_zprava = "Jméno a příjmení:".$jmeno. "<br />Telefón:".$telefon. "<br />Datum příjezdu:".$termin_od. "<br />Datum odjezdu:".$termin_do. "<br />Počet osob:".$pocet_osob. "<br />Počet nocí:".$pocet_noci. "<br />Další požadavky:".$dalsi_pozadavky; Mail("b-gates@seznam.cz", "REZERVACE" , $odesilana_zprava, "From: " .$email, ); echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>"; } else { echo "<p>Váš e-mail se <strong>nepodařilo odeslat</strong>.</p>"; } ?> </body> </html> a na mail mi dojde tohle: JmĂŠno a pĹĂjmenĂ:Ivo DostĂĄl<br />TelefĂłn:603603603<br />Datum pĹĂjezdu:10.12.2007<br />Datum odjezdu:15.12.2007<br />PoÄet osob:8<br />PoÄet nocĂ:4<br />DalĹĄĂ poĹžadavky:+ÄĹĄÄĹŞýåĂĂŠ muzete poradit dva dny hledam reseni a nic mi nefunguje diky |
||
Chamurappi Profil |
#17 · Zasláno: 24. 10. 2007, 17:09:31
Reaguji na Billa:
Tvůj problém nijak nesouvisí s původním dotazem. Založ si vlastní vlákno. |
||
Časová prodleva: 27 dní
|
|||
Béďa Profil * |
#18 · Zasláno: 20. 11. 2007, 12:37:51
Vše není kompatibilní s XHTML Validatorem
|
||
Chamurappi Profil |
#19 · Zasláno: 20. 11. 2007, 13:59:06
Reaguji na Béďu:
To reaguješ na co? Proč záleží na kompatibilitě s XHTML validátorem? |
||
Časová prodleva: 5 měsíců
|
|||
Bones Profil |
#20 · Zasláno: 25. 4. 2008, 12:52:32
To je přesně to, co jsem chtěl vidět. Takže chyba je naštěstí viditelná. :-) Přijde ti jen to první pole proto, že jen to první pole odesíláš. Zkus toto:
<? $predmet = $_POST['predmet']; $email = $_POST['email']; $smap = $_POST['spam']; $zprava = $_POST['zprava']; $zprava2 = $_POST['zprava2']; $zprava3 = $_POST['zprava3']; $zprava4 = $_POST['zprava4']; $zprava5 = $_POST['zprava5']; if ($predmet!="" and $email!="" and $zprava!="" and $spam=="2") { $odesilana_zprava = $zprava."<br />druhá část:".$zprava2."<br />třetí část:".$zprava3."<br />čtvrtá část:".$zprava4."<br />pátá část:".$zprava5; Mail("aq.amlife@seznam.cz", $predmet, $odesilana_zprava, "From: " . $email); echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>"; } else { echo "<p>Váš e-mail se <strong>nepodařilo odeslat</strong> pravděpodobně jste nevyplnili všechny údaje, nebo nevíte kolik je 1 + 1.</p>"; } ?> aj tu je chyba: $smap = $_POST['spam']; niei SMAP ale SPAM |
||
Časová prodleva: 16 let
|
0