Avatar billede rotco Juniormester
25. oktober 2008 - 18:16 Der er 15 kommentarer og
1 løsning

PHP & MYSQL problem.

Hejsa,

Jeg har lavet et script. Jeg har derudover lavet et samarbejde med et firma som gør man kan betale med dankort, det er rent faktisk et membership script.

Problemet er at når man har købt det, vil man komme til en side der ser sådan her ud:

http://www.xxx.dk?ordernumber=hda5&name=john+johnsen etc.

Dette var blot et eksempel. Men på den side vil den smide $_GET[odernumber] og $_GET[name] ind i min database... Problemet er bare det at hvis man bruger lidt logisk sans vil man selv kunne lave ordernumber mm. om.

Så man automatisk vil kunne "købe" flere memberships uden at betale for det. Så det jeg vil er at man kun kan tilføje 1 gang, men jeg har ærligt talt ingen anelse om hvordan jeg skal fikse det.

Det er jo lidt skod at man kan købe membership i 30 dage, men man selv kan lave flere koder så man kan aktivere alle de dage man vil.

Nogen idéer?
Avatar billede Slettet bruger
25. oktober 2008 - 18:26 #1
Dit link virker ikke:
http://www.xxx.dk?ordernumber=hda5&name=john+johnsen

For at det skal virke, må du sætte aprostroffer omkring tekst:
http://www.xxx.dk?ordernumber='hda5'&name='john+johnsen'

Det var ikke ligefrem svaret på dit spørgsmål, men jeg ville lige nævne det.

  // Steeven
Avatar billede rotco Juniormester
25. oktober 2008 - 18:31 #2
Det er fordi det er et eksempel på hvordan linket ser ud :)

Men tak alligevel :)

Bare for at fortælle at der bliver smidt en række ind på baggrund af $_GET
Avatar billede leif Seniormester
25. oktober 2008 - 18:46 #3
1. Lav en Orde (Tildel Ordrenummer osv) og gem det i databasen
2. Henvis til betaling
3. Opdater Ordre med OK fra gateway, hvis odren er opdateret i forvejen
Avatar billede leif Seniormester
25. oktober 2008 - 18:47 #4
3. Opdater Ordre med OK fra gateway, hvis odren er opdateret i forvejen

skulle være

3. Opdater Ordre med OK fra gateway, hvis ordren er oprettet i forvejen
Avatar billede rotco Juniormester
25. oktober 2008 - 19:11 #5
Avatar billede leif Seniormester
25. oktober 2008 - 19:33 #6
Din Partner laver Ordrenummeret ? Ikke forstået, du sender vil nogen data til din partner/betalingsgateway ?
Avatar billede coderdk Praktikant
25. oktober 2008 - 20:52 #7
steeven, Hvorfor tror du at der skal apostroffer omkring?

rotco, Du er ude efter noget sikkerhed, evt en signatur for parametrene. Et eksempel. På din partners side, når der skal overføres til dig:

$checksum = md5( md5( $ordernumber . ":" . $name ) . "en fælles hemmelig kode" );
$url = "http://www.xxx.dk/?ordernumber=" . $ordernumber . "&name=" . $name . "&checksum=" . $checksum;

På sin side kan du validere at data passer, og der ikke er pillet ved dem:

if ( $_GET['checksum'] != md5( md5( $_GET['ordernumber'] . ":" . $_GET['name'] ) . "en fælles hemmelig kode" ) )
{
  die("Forkerte data.");
}
Avatar billede Slettet bruger
25. oktober 2008 - 21:33 #8
Skal der ikke apostroffer omkring? Jeg har måske taget fejl af noget?

  // Steeven
Avatar billede coderdk Praktikant
25. oktober 2008 - 21:39 #9
steeven, Du behøver ikke smide apostroffer i parametrene... En bedre måde at gøre det på, er f.eks. sådan:

$sql = sprintf( "SELECT * FROM tabel WHERE navn = '%s'", mysql_real_escape_string( $_GET['name'] ) );
Avatar billede Slettet bruger
25. oktober 2008 - 21:54 #10
Der er måske forskel på det punkt mellem PHP og ASP?

  // Steeven
Avatar billede coderdk Praktikant
25. oktober 2008 - 21:57 #11
Det er heller ikke nødvendigt i ASP ;P
Avatar billede Slettet bruger
26. oktober 2008 - 17:43 #12
!!?

Okay, jeg har virkelig taget fejl af noget!
Undskyld ulejligheden.

  // Steeven
Avatar billede Slettet bruger
28. oktober 2008 - 14:48 #13
CoderDK !

Se her: http://www.eksperten.dk/spm/850302
Vi har her haft en lille snak omkring det med apostrofferne...

  // Steeven
Avatar billede coderdk Praktikant
28. oktober 2008 - 15:07 #14
steeven, Ja, men du skal ikke overføre apostroffer i URL'en! Du skal sikre dine queries ;)

Hvis du kigger på min kommentar fra 25/10-2008 21:39:53, ser du navn = '%s' - altså bruger jeg selv apostroffer, men jeg sætter dem selv - de skal ikke med i URL'en, af sikkerhedsmæssige grunde :)
Avatar billede Slettet bruger
28. oktober 2008 - 15:44 #15
Nå sådan!

Så lærte jeg også noget :)
Tak for det.

  // Steeven
Avatar billede rotco Juniormester
24. januar 2009 - 15:53 #16
I fik desværre lidt mere ud af den end jeg selv gjorde :) Jeg har fundet en løsning siden, men tak.
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