Jag ska implementera en betaltjänst åt en kund som valt Samport. Jag har fått ok hjälp från supporten men nu har jag kört fast på en ganska väsentlig del, nämligen hur jag får över produkterna till php-filen där hela ordern räknas samman....
1. Det finns en html fil där besökare fyller i sina personuppgifter samt kryssar i vad han/hon beställer. T.ex. ett medlemskap i en månad för 200kr.
2. Via en php-fil skickas kunden till Samports betal-sida där uppgifterna kunden fyllde i html-filen syns. Jag har lyckats med medlemsnummer, namn, adress o.s.v. men inte med i det här fallet medlemskapet.
Nån som gjort detta och som hajar vad jag pratar om?
All annan info som jag fört över har jag använt:
$Name = $_GET["realname"];
När det gäller produkterna har jag i html-filen ett formulär där man väljer med radioknappar. I php-filen har jag gjort som ovan med Name men även enligt Samports instruktioner:
"Sedan ser du till att "produkterna" ser ut enligt följande:
Artikelnr:Description:Quantity:Price;
1:Middag:1:250;
Om man har flera produkter separeras dessa med kommatecken.
Nu har min kund inte så många produkter (tjänster) men om man har en webbshop med flera hundra produkter kan väl inte meningen vara att man ska fylla i alla? Dessutom funkar det inte när jag gör det eftersom alla produkter visas hela tiden.... Det registreras inte att jag väljer en produkt.
Så här har jag gjort i min php-fil och det är här jag förstår att det är något fel:
Jag blir snart galen... hoppas verkligen någon här på forumet har klurat ut hur man gör detta.... Det enda jag ska få att fungera nu är att när kunden gör ett val i formuläret så ska det valet registreras som en order i orderlistan.
Nu drar jag upp den här tråden igen då jag behöver ändra förutsättningarna. Som koden är idag kan kunden välja ett alternativ (en artikel , description) men hur ändrar jag om kunden ska kunna välja flera?
Jag drar all kod tror jag för när jag inte själv förstår så är det svårt att veta exakt vilka utdrag ni som förstår behöver se...
(fick ingen hjälp av Samport, förstår inte varför vi fick infon att man inte behöver kunna PHP för att få igång betaltjänsten...)
Jag vill alltså att kunden ska kunna välja mer än ett alternativ i formuläret och sedan ska detta plockas upp i php-filen. Som det är nu kan man fylla i flera alternativ men det är bara det sista som förs över till php-filen.
Tack för hjälpen men tyvärr får jag felmeddelande. Den känner inte av att jag har gjort något artikelval alls nu...
Jag förstår inte heller riktigt koden kan jag ju säga då jag är otroligt novis på just PHP men de har vissa kriterier på hur det ska se ut och ett är ang. just beställningen av artiklar att det ska vara:
Nja, så blir koden om du bara har en artikel. Men om du har flera artiklar så ska alla komma efter varandra, separerade med kommatecken (om jag förstår dina tidigare inlägg rätt). Min kod borde göra så att $Data-variabeln innehåller alla produkter som valts, separerade med just kommatecken.
Vad exakt får du för felmeddelande? Och hur ser ändringarna i PHP-koden ut?
Felmeddelandet lyder:
Format Error, missing product name, please try again or contact shop administrator
Men om man måste separera de olika artiklarna med kommatecken, kan jag inte på något sätt göra det i
$Data = $artikelnummer.":".$description[$artikelnummer].":1:".$price[$artikelnummer];
Innehåller $Data bara en artikel alltså? Och alla checkboxar heter artikelnummer[] i HTML-koden, så det ligger inte kvar någon/några som heter artikelnummer (utan [] på slutet)?
Nu har jag gått igenomn koden supernoga och alla checkboxar heter verkligen bara artikelnummer[]
(är bara 6 artiklar så det är inte så svårt att kolla heller)
När jag väljer betala så kommer felmeddelandet upp. när jag tar bort [] så det bara står artikelnummer kommer endast en artikel upp oavsett hur många jag har klickat i.
Jo, namnet måste sluta med [], annars tar PHP bara emot ett värde. Men varför det blir fel vet jag inte riktigt då.
Testade du att lägga till die($Data); ? Och vad exakt skrevs i så fall ut av programmet?
Så här skrev supporten om det kan hjälpa till, jag förstod inte vad hon menade:
"Du kan tex ha en variabel som heter Producter. Sedan får du ha en if-sats eller liknande som gör så att om ett fält eller en radiobutton inte är ifylld så ska inte denna tas med, men om det är något i fältet ska denna data läggas i variablen. Du får lägga in kolon emellan produktnummer och beskrivning precis som innan och separera de olika produkterna med kommatecken. Tillslut kommer strängen att se ut precis som du ”hårdkodade” i php-filen och du skickar iväg denna sträng till php-filen (…. + "&strProducter=" + Producter +) och hämtar den med hjälp av tex Request.QueryString("strProducter")"
Skrivs det där felmeddelandet verkligen ut om du lägger till die($Data); direkt efter raden med implode..? Det låter väldigt konstigt... Det borde skrivas ut vad variabeln i sig innehåller.
275 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25