Autor Zpráva
janomajka
Profil
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
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
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
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
Č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
<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
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
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
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í :)
janomajka
Profil
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
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>

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: