Autor | Zpráva | ||
---|---|---|---|
janomajka Profil |
#1 · Zasláno: 10. 2. 2013, 11:41:34
Ahoj,
vytvořil jsem si objednávkový formulář, který sčítá a násobí položky a nakonec celou objednávku odešle mailem. Na hostingu Web Zdarma to funguje tak jak by mělo: http://ridera.wz.cz/mail5.php Ale když celý zdrojový kód vložím na stránku Wordpressu, tak formulář nepočítá zadané položky: http://ridepal.ridera.eu/balena-paliva-pytlovane-uhli-ridepal-obchod/ok-objednavka/ A ještě řeším jeden problém. Když soubory s formulářem a skript na odeslání vložím na jiný hosting (třeba C4), tak formulář položky sice sčítá, ale neodešle je: http://ridepal.ridera.eu/mail.php . Změnil sem práva obou souborů na 777 a přesto ten druhý skript hlásí že nejsou všechna pole vyplněna, i když sou vyplněné. Chtěl bych aby to ve WP fungovalo tak jako na tady http://ridera.wz.cz/mail5.php Nebo nenapadá někoho, proč na webzdarma ten skript odesílá mail a na jiném placeném hostingu ne ? Zkoušel sem dva placené hostingy C4 a Leemon. Děkuji předem za každou radu Přikládám Zdrojový kód prvního souboru s formulářem <html> <head> <title>Objednávka</title> <meta HTTP-AQUIV="Content-Type" CONTENT="text/html; charset=windows-1250"> </head> <body> </form> <script type="text/javascript"> <!-- function Recount(theform) { var a = 4199 //Cena Ridepal automatic var b = 6199 //Cena Ridepal Power automatic var c = 4599 //Cena Ridepal Optimal Power var d = 5799 //Cena Ridepal Extra Power var sleva_a = 3 //Sleva A v procentech var sleva_b = 5 //Sleva B v procentech var doprava_a = 20 // Doprava A var doprava_b = 24 // Doprava B var doprava_c = 30 // Doprava C var doprava_d = 35 // Doprava D var q = 0 var kmdoprava = 0 var dopravakm = 0 //Proměnná dopravy var z = 0 //Proměnná druhu zboží var cenazatunu = 0 // Proměnná ceny za tunu var x= 0 //Proměnná slevy var cenaposleve = 0 //Proměnná ceny po slevě var vyseslevy = 0 var celkcena = 0 var cenazadopravu = 0 var komplet = 0 var floop = true for( var i=1; floop; i++ ) { kusu = eval("theform.ks" + i) kamion = eval("theform.km" + i) druh = eval("theform.produkt" + i) if(kusu) { if(isNaN(parseInt(kusu.value))) { kusu.value = "" } else { kusu.value = parseInt(kusu.value) kamion.value = parseInt(kamion.value) druh.value = parseInt(druh.value) if(kusu.value<5) {kmdoprava += doprava_a} else if(kusu.value<12) {kmdoprava += doprava_b} else if(kusu.value<28) {kmdoprava += doprava_c} else if(kusu.value<36) {kmdoprava += doprava_d} z += (0 + druh.value) if(z==1) { cenazatunu += (a+0) celkcena += (a * kusu.value)} if(z==2) { cenazatunu += (b+0) celkcena += (b * kusu.value)} if(z==3) { cenazatunu += (c+0) celkcena += (c * kusu.value)} if(z==4) { cenazatunu += (d+0) celkcena += (d * kusu.value)} if(kusu.value<5) {x=sleva_a} else{x=sleva_b} vyseslevy += (celkcena / 100 * x) cenaposleve += (celkcena - vyseslevy) cenazadopravu += (kmdoprava * kamion.value) komplet += (cenaposleve + cenazadopravu) } } else { floop = false } } theform.cena.value = celkcena doprava.value = cenazadopravu cenacelkem.value = komplet sleva.value = x prdel.value = vyseslevy savo.value = cenaposleve kozy.value = cenazatunu dopravazakm.value = kmdoprava } // --> </script> <align="center"> <form action="poslat.php" method="post" > <table border="0" cellpadding="5" cellspacing="2"><tbody> <tr><td> Firma: </td><td> <input name="firma" size="20"></td><tr> <tr><td> PIN: </td><td> <input name="pin" size="20"></td><tr> <tr><td>Váš mail: </td><td> <input name="mail_odesilatele" size="20"> </td></tr> <tr><td><hr style="width: 100%; height: 2px;"></td></tr> <tr><td> Zákazník: </td><td> <input name="jmeno_a_prijmeni" size="20" type="text"> </td></tr> <tr><td>Telefon:</td><td> <input name="telefon" size="20"></td></tr> <tr><td>Město: </td><td> <input name="mesto" size="20"> </td></tr> <tr><td> Ulice:</td><td> <input name="Ulice" size="20"> </td></tr> <tr><td>Číslo:</td><td> <input name="cp" size="20"></td></tr> <tr><td> PSČ:</td><td> <input name="psc" size="20"></td></tr> <tr><td><hr style="width: 100%; height: 2px;"></td></tr> <tr><td><select name="produkt1" id="produkt1" size="1" onchange="Recount(this.form)"> <option value="0" selected>- Vyberte produkt -</option> <option value="1">Ridepal automatik</option> <option value="2">Ridepal psower automatik</option> <option value="3">Ridepal optimal power</option> <option value="4">Ridepal extra power</option> </select></td> <td><input type="text" name="kozy" id="kozy" size="20" value="0" readonly /> Kč </td></tr> <tr><td>Počet tun</td><td> <select name="ks1" id="ks1" onchange="Recount(this.form)"> <option value="0" selected>0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> <option value="32">32</option> <option value="33">33</option> <option value="34">34</option> <option value="35">35</option> </select></td></tr> <tr><td>Sleva </td><td> <input type="text" name="sleva" id="sleva" size="20" value="0" readonly /> %</td></tr> <tr><td>Výše slevy</td><td> <input type="text" name="prdel" id="prdel" size="20" value="0" readonly /> Kč </td></tr> <tr><td>Cena za zboží </td><td> <input type="text" name="cena" id="cena" size="20" value="0" readonly /> Kč </td></tr> <tr><td>Cena po slevě </td><td> <input type="text" name="savo" id="savo" size="20" value="0" readonly /> Kč </td></tr> <tr><td>Vzdálenost</td><td> <select name="km1" id="km" onchange="Recount(this.form)"> <option value="0" selected>0</option> <option value="5">5</option> <option value="10">10</option> <option value="15">15</option> <option value="20">20</option> <option value="25">25</option> <option value="30">30</option> <option value="35">35</option> <option value="40">40</option> <option value="45">45</option> <option value="50">50</option> <option value="55">55</option> <option value="60">60</option> </select> km</td></tr> <tr><td> Cena za km </td><td> <input type="text" name="dopravazakm" id="dopravazakm" size="20" value="0" readonly /> Kč </td></tr> <tr><td> Cena za dopravu </td><td> <input type="text" name="doprava" id="doprava" size="20" value="0" readonly /> Kč </td></tr> <tr><td>Celková cena </td><td><input type="text" name="cenacelkem" id="cenacelkem" size="20" value="0" readonly /> Kč </td></tr> <tr><td>Poznámka: </td><td><textarea name="poznamka" rows="4" cols="30"></textarea></td></tr> <tr><td width="50"><strong>N</strong>apište číslo tisíc:</td><td><input name="spam" size="20" type="text"> Anti-spamová ochrana</td><tr> <tr><td></td><td> <input type="submit" value="Odeslat objednávku"><input type="reset" value="Vymazat"></td></tr> </tbody></table> </form> </body> </html> |
||
Davex Profil |
#2 · Zasláno: 10. 2. 2013, 12:00:03
janomajka:
„ten druhý skript hlásí že nejsou všechna pole vyplněna, i když sou vyplněné“ Tipnu si, že spoléháš na zapnuté register_globals, které je ale vypnuté, a proto to nefunguje. Viz Nejčastější potíže s PHP (FAQ) » Nefungují proměnné z formuláře nebo z URL (vypnuté register globals). |
||
janomajka Profil |
#3 · Zasláno: 10. 2. 2013, 12:42:23
Davex:
Ano, bylo to tím, přidal sem do souboru .htaccess řádek: php_flag register_globals on - a odesílaní funguje jak má. Ale jen na hostingu Leemon, protože ještě asi nepřešli na php5.4 . Ale na C4, kde už na php5.4 přešli to nefunguje. http://automatickeprevodovky.cz/objednavka/mail5.php . Já to potřebuju hlavně na tom Leemon, aby to šlo a taky to tam jde, ale není nějaké jiné řešení ? Když Leemon přejdou na php5.4 tak mi to přestane fungovat i tam, a to by byl problem, kteremu bych chtěl nějak předejít. |
||
Davex Profil |
janomajka:
Tak to přepiš, aby se nepoužívaly globální proměnné. |
||
janomajka Profil |
#5 · Zasláno: 10. 2. 2013, 12:55:33
Napovíš mi prosím trošku jak je nepoužívat, nebo jak je mám přepsat ? Ja jsem v tomhle naprostý začátečník, pracuju s tím ani ne týden. :)
Díky |
||
Davex Profil |
#6 · Zasláno: 10. 2. 2013, 13:09:14
Čemu konkrétně nerozumíš? Popis v PHP FAQ mi připadá dostatečný.
|
||
janomajka Profil |
Už to mám, mě zmátlo že v sestavení toho mailu to mám správně s $_POST[`nazev`] ale v podmínkach sem měl jen $nazev, ale už mi to funguje, díky moc :)
Teď už jen zustáva otázka, proč když to vložím do wordpressu, proč mi to nepočítá. http://ridepal.ridera.eu/balena-paliva-pytlovane-uhli-ridepal-obchod/ok-objednavka/ Díky Honza |
||
Prochy Profil |
#8 · Zasláno: 10. 2. 2013, 19:33:35
<script type="text/javascript"></p> <p><!-- function Recount(theform) { Tag </p> nemůžeš mít psaný v tagu <script></script>, druhá věc je, že to máš zakomentovaný. |
||
janomajka Profil |
#9 · Zasláno: 10. 2. 2013, 19:53:10
Dík za všimnutí, ale to vypadá, že si tam to </p> dal až samotný Wordpress, a je jich tam víc, já je v kódu nemám a nedával jsem je tam. Myslíš že by to mohlo být tím ? A čím je to zakomentované ? tím <!-- ? Ale mě ten samý script jede na jiné adrese bez problému http://ridera.wz.cz/mail5.php
Děkuju |
||
Prochy Profil |
#10 · Zasláno: 10. 2. 2013, 20:08:07
„tím <!-- ?“
Ano tím. To je sice pěkný, že tam ti to funguje, ale tam nemáš uvnitř značky <p>, ani to nemáš zakomentované. Dokud tam budeš mít tagy <p> a jiné podobné značky, který nemají s JS nic společného, tak ti to nebude fungovat. S wordpressem nemám zkušenosti, takže víc ti neporadim. Mimo téma: Před otazníkem se nedělá mezera. |
||
janomajka Profil |
#11 · Zasláno: 10. 2. 2013, 20:08:38 · Upravil/a: Moderátor (editace znemožněna) 11. 2. 2013, 08:15:16
Omlouvám se jestli můj dotaz je stupidní a řešení je snadné, ale jsem vážně začátečník. Pracuji s formulářema i WP krátce.
Děkuji za odpověď, asi to vážně bude tím <p> v JS , ale nemám nejmenší tušení jak ho dát pryč, když si ho tam WP strčil sám, a na několika místech. Tak mě ale napadlo že tohle by mohl být nový dotaz a nové téma, tak snad se na mě zase moderátoři nebudou zlobit když ho založím. :) Jestli ano, tak se předem omlouvám, a za vytvoření tam toho tématu předtím se dodatečně omlouvám. A díky za pochopení, vážně už jsem zoufalý Moderátor jenikkozak: Téma navazuje, nezakládej jiné vlákno.
|
||
janomajka Profil |
Škoda že nemůžu dodatečně měnit název vlákna.
S vaší pomocí sem vyřešil odesílaní mailu z jiných serverů než jen webzdarma, to už je vyřešené. Ale stále mi nefunguje JS který vložím do stránky Wordpressu. WP si tam přidá značky jako <p> a </p>, tak asi proto to nefunguje, nebo možná že to je jen jeden z mnoha důvodů. Ale vygoogloval sem, nějakou diskuzi kde někdo řešil podobný problém, a prý pomohlo vypnout TinyMCE. Ale ja nemám nejmenší tušení co to je a už vůbec ne, jak to vypnout. Tam to je diskuze z r.2007, tak asi nemá cenu tam dávat nějaký dotaz. Stránku mám tady : ridepal.ridera.eu/balena-paliva-pytlovane-uhli-ridepal-obchod/ok-objednavka ( Řeším aby mi to počítalo ). Tak jestli někoho nenapadá jak to vyřešit, ... ? Tahle část dotazu se vážně víc hodí do redakčních systému, nemohl by to tam alespoň nějaký moderátor přemístit? :) Moderátor jenikkozak: Přesunuto. Děkuji za odpovědi, popř. i za to přemístění :)
|
||
Časová prodleva: 12 dní
|
|||
janomajka Profil |
#13 · Zasláno: 23. 2. 2013, 15:21:01
Tak jsem to částečně vyřešil. JS do stránky ve WP vložit nejde, protože si tam WP sám přidává znaky, které do JS nepatří. Všiml jsem si, že všechny JS ve WP jsou napsané na jednom řádku, také jsem zkusil a nepomohlo. Ale vyřešil sem to takhle. Nechal sem si zobrazit zdrojový kód stránky ve WP, ten jsem si vložil do jiné stránky kterou sem si vytvořil mimo WP, do kódu jsem pak zapsal svůj JS s formulářem. Výsledek: stránka sice není na WP ale jako z WP vypadá a funguje, JS funguje také, vše ve formuláři počítá jak má. Výsledek vypadá takto: http://automatickeprevodovky.cz/avenged-sevenfold/special
|
||
Micruss Profil |
#14 · Zasláno: 24. 2. 2013, 14:13:59
Ale jde, nesmíš tu stránku otevřít v tom Editoru ale pouze v html kódu, když to otevřeš v normálním jejich editoru tak ti sám zalomuje řádky a proti ti tam hází ty <p></p>
|
||
Časová prodleva: 11 let
|
0