Avatar billede blaatand Nybegynder
25. december 2009 - 21:41 Der er 5 kommentarer og
1 løsning

"Request" Form Problem

Hejsa.

Jeg sider og roder lidt med en færdiglavet webshop, hvor jeg opfordrer til bankoverførsel. Det har jeg også fået fint skrevet på ordrebekræftigelses siden, med reg og kontonummer, jeg mangler bare at skrive totalbeløbet på, så kunden ikke selv skal printe ordresiden ud eller lignende.

Så jeg forsøger at lave et request på en forms værdi, for at se om jeg kan få totalbeløbet ud på dette.

$lang['Order_finished'] = 'Din ordre er fuldført og vil blive sendt når din betaling er modtaget<br/><br/>Betaling for ordre bedes indbetalt til:<br/>reg. nr: xxx konto nr: xxxxx<br/><br/>Tak for ordren !';

Det jeg havde tænkt mig var noget ala:

$lang['Order_finished'] = 'Din ordre er fuldført og vil blive sendt når din betaling er modtaget<br/><br/>Betaling for ordre bedes indbetalt til:<br/>reg. nr: xxx konto nr: xxxxx<br/><br/>Tak for ordren ! $_POST["summaryCost"]';

Men det får jeg ikke rigtig til. Er der nogle der kan give mig et bud på hvordan man kan gøre dette?
Avatar billede tjens Nybegynder
25. december 2009 - 22:19 #1
Det er svært at bedømme udfra fejlbeskrivelsen Men det får jeg ikke rigtig til.

Hvad skriver den?

Ved første øjekast ser det ud som om du har php-variable inde i en streng med enkelt apostrof omkring.
Så bliver variable ikke fortolket og der vil stå teksten $_POST["summaryCost"] på brugerens skærm.

Prøv at ændre slutningen til
....Tak for ordren ! ' . $_POST["summaryCost"];
Avatar billede erikjacobsen Ekspert
25. december 2009 - 22:19 #2
$pris=$_POST["summaryCost"];
$lang['Order_finished'] = "Din ordre er fuldført og vil blive sendt når din betaling er modtaget<br/><br/>Betaling for ordre bedes indbetalt til:<br/>reg. nr: xxx konto nr: xxxxx<br/><br/>Tak for ordren ! $pris";
Avatar billede blaatand Nybegynder
25. december 2009 - 22:27 #3
Jeg har prøvet det du forslog erik, men får fejlen øverst på siden:
Notice: Undefined index: summaryCost in /usr/home/web/web383224/mallen.dk/lang/da.php on line 39

Og hvis jeg aligevel putter noget i kurven og går videre, så får jeg denne:

Warning: Cannot modify header information - headers already sent by (output started at /usr/home/web/web383224/mallen.dk/lang/da.php:39) in /usr/home/web/web383224/mallen.dk/plugins/productAttributes/actions_client.php on line 22

---

Kan det tænkes at jeg requester en forkert form / id på formen?

Det jeg ligesom har skrabet ud af filen, hvor jeg tror den får det totale beløb fra, ser umiddelbart sådan her ud:

    <tr class='order_table_footer'>
      <td colspan='3' style='text-align: right;' class='order_table_footer'>
        $lang[Summary_cost]
      </td>
      <td style='border: 0px; font-weight: bold;' class='order_table_footer' id='summaryCost'>
        $aBasket[fSummary]
      </td>
      <td style='text-align: left;'>
        $config[currency_symbol]
      </td>
    </tr>
    <tr>
      <td colspan='5' style='padding: 5px; text-align: right;'>
        <input type='hidden' name='fSummary' value='' />
        <input type='submit' value='$lang[send]' class='submit' />
      </td>
    </tr>
  </table>
</form>
Avatar billede erikjacobsen Ekspert
25. december 2009 - 22:36 #4
Det betyder at du ikke har et felt med det navn fra en forms POST - i hvert fald på den side. Hvorfor står det iøvrigt i et form-felt?
Avatar billede blaatand Nybegynder
25. december 2009 - 22:44 #5
Jeg har ingen anelse om hvorfor tingene er bygget som de er, siden er bygget ud fra noget der heder SRC shop... Det kræver ikke database, hvilket gør at den er nem at have med at gøre, og den fungerer også rigtig godt, men kan være lidt svær at redigere i når man sider med det, men det meste har jeg nu fået til på nær lige dette. Jeg tror den skriver det totale beløb til en variabel, men desværre har jeg ingen anelse om hvad den variabel heder, hvis jeg gjorde så havde jeg skrevet den ud i stedet for at prøve og hente det fra formen. Jeg kan få totalprisen ud, men ikke pris + leveringsomkostninger desværre, jeg vil tro det er fordi at den pris varierer, alt efter hvad kunden vælger ud fra drop down menuen i leveringsbetingelser...

Her er en copy/paste af indholdet i hele orders_delivery.php filen:


<!-- BEGIN FORM -->
<script type='text/javascript' src='$config[dir_js]checkForm.js'> </script>
<script type='text/javascript' src='$config[dir_js]ordersCouriers.js'> </script>

<form action='?p=$p' method='post' enctype='multipart/form-data' onsubmit='return checkForm( this,
  Array(
    Array( "sFirstName" )
    ,Array( "sLastName" )
    ,Array( "sStreet" )
    ,Array( "sZipCode" )
    ,Array( "sCity" )
    ,Array( "sTelephone", "tel" )
    ,Array( "sEmail", "email" )
    ,Array( "iCourier", "simple", "$lang[Choose_courier]" )
  )
);' name='form'>
  <input type='hidden' name='option' value="send" />
  <table cellspacing='0' style='width: 100%; margin-left: 3px; padding: 1px; border: 0px;' class='tekst'>
    <tr>
      <td colspan='2' style='padding: 5px;' class='h1'>
        $lang[Order] - $lang[delivery_addres]
      </td>
    </tr>
    <tr>
      <td class='form_desc_data'>
        <table cellspacing='0' style='width: 100%; margin-left: 3px; padding: 2px; border: 0px;' class='tekst'>
          <tr>
            <td class='form_desc'>
              $lang[First_name]:&nbsp;
            </td>
            <td class='form_desc_data'>
              <input type='text' name='sFirstName' size='30' maxlength='20' class='input' />
            </td>
          </tr>
          <tr>
            <td class='form_desc'>
              $lang[Last_name]:&nbsp;
            </td>
            <td class='form_desc_data'>
              <input type='text' name='sLastName' size='30' maxlength='20' class='input' />
            </td>
          </tr>
          <tr>
            <td class='form_desc'>
              $lang[Company]:&nbsp;
            </td>
            <td class='form_desc_data'>
              <input type='text' name='sCompanyName' size='30' maxlength='100' class='input' />
            </td>
          </tr>
          <tr>
            <td class='form_desc'>
              $lang[Street]:&nbsp;
            </td>
            <td class='form_desc_data'>
              <input type='text' name='sStreet' size='30' maxlength='40' class='input' />
            </td>
          </tr>
          <tr>
            <td class='form_desc'>
              $lang[Zip_code]:&nbsp;
            </td>
            <td class='form_desc_data'>
              <input type='text' name='sZipCode' size='30' maxlength='20' class='input' />
            </td>
          </tr>
          <tr>
            <td class='form_desc'>
              $lang[City]:&nbsp;
            </td>
            <td class='form_desc_data'>
              <input type='text' name='sCity' size='30' maxlength='40' class='input' />
            </td>
          </tr>
          <tr>
            <td class='form_desc'>
              $lang[Telephone]:&nbsp;
            </td>
            <td class='form_desc_data'>
              <input type='text' name='sTelephone' size='30' maxlength='20' class='input' />
            </td>
          </tr>
          <tr>
            <td class='form_desc'>
              $lang[Email]:&nbsp;
            </td>
            <td class='form_desc_data'>
              <input type='text' name='sEmail' size='30' maxlength='40' class='input' />
            </td>
          </tr>
          <tr>
            <td class='form_desc'>
              $lang[Courier]:&nbsp;
            </td>
            <td class='form_desc_data'>
              <select name='iCourier' class='input' onChange='ordersCouriers( this );'>
                <option value=''>$lang[choose]</option>
                $sSelectCourier
              </select>
            </td>
          </tr>
        </table>
      </td>
      <td class='form_desc_data' style='vertical-align: top; padding-top: 2px;'>
        $lang[Comment_order]:
        <br />
        <textarea cols='45' name='sComment' rows='7' class='input'></textarea>
      </td>
    </tr>
  </table>
<!-- END FORM -->

<!-- BEGIN LIST_HEAD -->
<br />
  <table style='width: 100%; margin-left: 3px; padding: 1px; border: 0px;' cellspacing='0' class='tekst'>
    <tr  class='order_table_head'>
      <td  class='order_table_head'>
        <b>$lang[Name]</b>
      </td>
      <td  class='order_table_head'>
        $lang[Price]
      </td>
      <td  class='order_table_head'>
        $lang[Quantity]
      </td>
      <td class='order_table_head' colspan='2'>
        $lang[Summary]
      </td>
    </tr>
<!-- END LIST_HEAD -->

<!-- BEGIN LIST_LIST -->
    <tr class='$aBasket[style]'>
      <td style='text-align: left;' class='order_table_data'>
        $aBasket[sName]
      </td>
      <td class='order_table_data'>
        $aBasket[fPrice]
      </td>
      <td class='order_table_data'>
        $aBasket[iQuantity]
      </td>
      <td style='border: 0px' class='order_table_data'>
        $aBasket[fSummary]
      </td>
      <td>
        $config[currency_symbol]
      </td>
    </tr>
<!-- END LIST_LIST -->
<!-- BEGIN LIST_FOOTER -->
    <tr class='order_table_footer'>
      <td colspan='3'  class='order_table_footer'>
        $lang[Summary_basket]
      </td>
      <td style='font-weight: bold;'  class='order_table_footer' id='orderCost'>
        $aBasket[fSummary]
      </td>
      <td style='text-align: left; padding: 2px;'>
        $config[currency_symbol]
      </td>
    </tr>
<!-- END LIST_FOOTER -->

<!-- BEGIN COURIER -->
    <tr class='order_table_footer_light'>
      <td colspan='3' style='text-align: right;' class='order_table_footer_light'>
        $lang[Delivery_cost]
      </td>
      <td style='text-align: right; font-weight: bold;' class='order_table_footer_light' id='deliveryCost'>
        0.00
      </td>
      <td style='text-align: left;'>
        $config[currency_symbol]
      </td>
    </tr>
    <tr class='order_table_footer'>
      <td colspan='3' style='text-align: right;' class='order_table_footer'>
        $lang[Summary_cost]
      </td>
      <td style='border: 0px; font-weight: bold;' class='order_table_footer' id='summaryCost'>
        $aBasket[fSummary]
      </td>
      <td style='text-align: left;'>
        $config[currency_symbol]
      </td>
    </tr>
    <tr>
      <td colspan='5' style='padding: 5px; text-align: right;'>
        <input type='hidden' name='fSummary' value='' />
        <input type='submit' value='$lang[send]' class='submit' />
      </td>
    </tr>
  </table>
</form>
<!-- END COURIER -->


<!-- BEGIN NOT_FOUND -->
<br />
<br />
<table class='operation_table' cellspacing='0'>
  <tr>
    <td class='alert'>
      $lang[basket_is_empty]
      <br /><br />
      <a href='java script:history.back()'>$lang[go_back]</a>
      <br /><br />
    </td>
  </tr>
</table>
<!-- END NOT_FOUND -->
Avatar billede blaatand Nybegynder
25. december 2009 - 22:53 #6
Tror sgu jeg fandt svaret selv ved at rode i en anden fil der heder orders_print!

Her er en variabel der er sat til $fSummary, og den giver det rigtige beløb sådan som jeg lige ser det!

Tro mig, jeg har nok brugt mere end 5 timer på at finde denne værdi ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester