chyba při odesilani formulaře
9 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
prosím mam dostaz chci odesilat formular prs tenhle script <?php $to = "obchod@vyrobabanneru.cz"; $extra = "From:['email']\r\nReply-To:['email']\r\n"; $subject = "Objednavka od ['email']"; $mess =email =$_POST['email'] $cenova_hladina = $_POST["cenova_hladina"]; echo "cenova_hladina" .$cenova_hladina; $email = $_POST["email"]; echo "email" .$email; $velikost_banneru = $_POST["velikost_banneru"]; echo "velikost_banneru" .$velikost_banneru; $format_banneru = $_POST["format_banneru"]; echo "format_banneru" .$format_banneru; $text_banneru = $_POST["text_banneru"]; echo "text_banneru" .$text_banneru; $odkaz_banneru = $_POST["odkaz_banneru"]; echo "odkaz_banneru" .$odkaz_banneru; $nazev_firmy = $_POST["nazev_firmy"]; echo "nazev_firmy" .$nazev_firmy; $adresa_firmy = $_POST["adresa_firmy"]; echo "adresa_firmy" .$adresa_firmy; $ico = $_POST["ico"]; echo "ico" .$ico; $dic = $_POST["dic"]; echo "dic" .$dic; $poznamky = .$_POST["poznamky"]; echo "poznamky" .$poznamky; \n'; mail ($to, $subject, $mess, $extra); ?> jenže to vipsuej hlašku:Parse error: parse error in /3w/czweb.org/b/beta/send.php on line 2 poradíte ni nekdo co tím.děkuju
-
Mas totalne prekopany. Pokud jde o tu chybu, tak tu jsem ani necetl, ale stacilo se podivat do zdrojaku. S mim se zeptat co je toto? $extra = "From:['email']\r\nReply-To:['email']\r\n"; $subject = "Objednavka od ['email']"; Presneji ['email']?
-
Hm, jenom sem se na to podival, trochu me zaujal radek $mess =email =$_POST['email'] (neni mi jasne co tam dela to " =email " a navic ti chybi na konci radku strednik ... ) a nebude ta chyba treba timhle: $extra = "From:['email']\r\nReply-To:['email']\r\n"; radkem? Co je to " ['email'] " nemelo by to být $_POST['email'] ? oprav tohle a pak se ptej na chyby .... p.s: vubec mi neni jasne proc ty hodnoty ktere jsi ziskal z POSTu predavas do nejakych promenych kdyz s nima stejne nijak nepracujes, jenom je vypsises... tak proc nevypsises rovnou promene z POSTu? akorat alokujes zbytecne! dalsi promenne ...
-
Řekl bych, že tenhle skript porušuje snad všechny zásady "správného" kódu. 1) zdvojování proměnných? 2) apostrofy nic? 3) $poznamky = .$_POST["poznamky"]; :) 4) $extra = "From:['email']\r\nReply-To:['email']\r\n"; =) 5) $subject = "Objednavka od ['email']"; =D 6) echo "poznamky" .$poznamky; \n'; 7) kde jsou další hlavičky? 8) Žádný antispam? Takže: ad 1) nezdvojovat proměnné, pracovat přímo s polem $_POST. ad 2) začít používat místo uvozovek apostrofy (aspoň někde) ad 3) hned jedna chyba, neznám žádný operátor "= ." ad 4+5) chci vidět, jak se budeš tvářit, až ti začnou chodit emaily od ['email'] ad 6) další chyba: ; \n'; ad 7) Bude ti to chodit s rozhozeným kódováním. Předej ještě hlavičky určující kódování emailu ad 8) Bál bych se SPAMu, přidej si antispam
-
hej lidi na php jsem ulná lama takže se na to asi vyprdnu protože to už řešim tři dny a pořád nic takovej chyb co už jsem se naopravoval takže už vubec nevim co stim.a nákej antispam vubec nevim jak nakoduju.proste dostavam odpovedi 5 přes 9 každej říka něco jinýho už ani nevím co si o tom mám myslet
-
No ne, všichni říkáme to samé, jenom každý trochu jinak: pokud seš (t)lama, tak si kup knížku, nebo nastuduj tutoriály na webu. To, o co se pokoušíš jsou úplné, ale úplné základy. Malé vysvětlení: 1) zdvojování proměnných ($dic = $_POST["dic"];) proč zbytečně přepisovat hodnotu z $_POST['dic'] do nové proměnné, když můžeš pracovat přímo s $_POST['dic']? 2) echo "bla ble $_GET['var'] bla bla..." ti nikdy nebude fungovat. pro vypsání obsahu $_GET['var'] musíš použít: echo "bla ble ".$_GET['var']." bla bla..." 3) "= ." není žádný operátor. http://www.php.net/manual/cs/language.operators.php 4+5) $extra = "From:['email']\r\nReply-To:['email']\r\n"; možná že se budeš divit, ale hodnota této proměnné bude přesně taková, jako jí vidíš zde. To "['email']" se ti na email nikdy nepřepíše.
-
no tak děkuji za vaše rady myslím že ta poslední mi dost pomohla fakt dík. si koupim něco od koska asi.
-
jakub (beta.czweb.org) koska nebrat. Literaturu max do 100 stranek, nejlepsi je i s priklady na cz.php.net Samozrejme to neni dobre popsane, ale lze to velice slusne pouzit proti te knizce o 500 stranach, co mi lezi na stole a prasi se na ni :) http://www.volny.cz/peter.mlich/www.htm#msub11 mailform ke kodu: line2: $extra = "From:['email']\r\nReply-To:['email']\r\n"; je totez jako: $promenna = "text"; ['email'] je jen text, ti tam schazi asi $_POST? , tj. $_POST['email'] jenze pak musis ukoncit text $promenna = "text".$promenna."text"; $extra = "From:".$_POST['email']."\r\nReply-To:['email']\r\n"; a totez s tim druhym email Co kdybys pouzil script z cz.php.net ? foreach ($_POST as $key=>$value) {$$key=$value;} ktery udela presne toto: $cenova_hladina = $_POST["cenova_hladina"]; $email = $_POST["email"]; $velikost_banneru = $_POST["velikost_banneru"]; $format_banneru = $_POST["format_banneru"]; $text_banneru = $_POST["text_banneru"]; $odkaz_banneru = $_POST["odkaz_banneru"]; $nazev_firmy = $_POST["nazev_firmy"]; $adresa_firmy = $_POST["adresa_firmy"]; ... jenze to provede pro vsechny polozku v POST. Pokud neco neodeslel, pak bys to musel resit pres pole povinnych polozek. $pole = array("jmeno","email"); foreach ($pole as $key=>$value) {$$key=isset($_POST[$value])?$_POST[$value]:"";} foreach ($_POST as $key=>$value) {$$key=$value;} tj, pokud neniv post, tak nastavi alespon prazdny retezec. A pak tam presune cely post, jeste. A jeste by to slo udelat... (vsechny policka budou povinne) $pole = array('jmeno','email','adresa'); $user = array('Tonda','mail@mail.cz','praha 12'); foreach ($pole as $key=>$value) {$$key=(isset($_POST[$value])&&($_POST[$value]!="")?$_POST[$value]:$user[$key];} ... nastavis tam preddefinovanou promennou, pokud neni vyplnene policko $pole = array( 'jmeno'=>"aaa", 'email'=>"bbb", 'adresa'=>"ccc" ); foreach ($pole as $key=>$value) {$$key=(isset($_POST[$key])&&($_POST[$key]!="")?$_POST[$key]:$value;} totez jiny zpusob
-
tak díky za tip.a za pomoc už to snad vyřeším.