Avatar billede sansalvador Nybegynder
19. april 2004 - 10:10 Der er 14 kommentarer

Mulighed for at videresende POST-data med PHP

Hejsa..

Jeg står i en situation, hvor jeg har en side med nogle post-formularer og bliver sendt hen til en side, som med header() fører brugeren hen til en trejde side.

Problemet er jo bare, at post ikke bliver sendt med (eller gør de? Har faktisk ikke testet det praktisk endnu, men går ikke ud fra det).


Forløbet:
sidemedpostdata.html -> redirect.php -> sidenderskalbrugepostdata.html

Hvordan får man postdataene videresendt i redirect.php til sidenderskalbrugepostdata.html?
Avatar billede htm Nybegynder
19. april 2004 - 10:15 #1
Du kan enten videresende de data du skal bruge via GET - sidenderskalbrugepostdata.php?var1=datafravar1&var2=datafravar2 osv. så henter du data med php fra $_GET['var1']

eller du kan kigge på curl fra php, som bruges til at simulere et post request til en side. http://dk2.php.net/curl

Du kan også eks. skrive det ind i en database og så overføre ID'et via GET og så hente det ud af databasen igen på den næste side ud fra det ID fra GET.
Avatar billede dennismp Nybegynder
19. april 2004 - 10:20 #2
Eller smide det i $_SESSION og så slette det igen i " sidenderskalbrugepostdata.html"
Avatar billede sansalvador Nybegynder
19. april 2004 - 10:20 #3
Ja, der har jeg så problemet.

sidenderskalbrugepostdata.html er en betalingsside hos dibs.dk, og kan ergo derfor ikke hente fra db eller bruge GET, da dibs strengt forbyder GET.

Man må kun bruge POST, til at videreføre oplysninger til deres SSL-side.
Avatar billede htm Nybegynder
19. april 2004 - 10:23 #4
Når det er betalingsside ville jeg foreslå at lade brugeren poste direkte selv... , evt. dele bestillingen op i standard informationer som adresse og navn etc. altså de data du skal bruge, og så foretage selve betalingen på næste side. Så det er helt delt op.

Ellers skal du have fat i noget med curl. Du skal dog være opmærksom på at det skal understøttes på serveren.
Avatar billede dennismp Nybegynder
19. april 2004 - 10:25 #5
Hmm tager jeg helt fejl, hvis jeg mener at kunne huske at DIBS også har et socket-interface, man kan snakke direkte med?

Jeg mener det var den løsning min kollega brugte, da vi integrerede mod DIBS
Avatar billede sansalvador Nybegynder
19. april 2004 - 10:26 #6
Hmm, jeg må indrømme jeg er lidt skuffet over PHP, hvis det virkelig ikke kan lade sig at gøre...
Avatar billede sansalvador Nybegynder
19. april 2004 - 10:27 #7
dennismp .. hvad mener du helt præcist? :)
Avatar billede htm Nybegynder
19. april 2004 - 10:29 #8
Det kan sagtnes lade sig gøre, du skal bare bruge curl - se det link jeg gav dig.
Avatar billede sansalvador Nybegynder
19. april 2004 - 10:32 #9
Oh .. jeg så det som "perl" og ikke "curl" .. min fejl :-)

Jeg vil prøve det, så snart jeg kommer hjem ... takker
Avatar billede htm Nybegynder
19. april 2004 - 10:35 #10
:o)
Avatar billede dennismp Nybegynder
19. april 2004 - 10:37 #11
sansalvador; de har et socket-interface, så du kan snakke direkte med en gateway og får svar med det samme uden at brugeren overhovedet bemærker at det går igennem dibs. Men det er mere besværligt end at post'e direkte til dem
Avatar billede coderdk Praktikant
19. april 2004 - 20:44 #12
Hvad med noget så simpelt som:

<html>
  <title>redirecting</title>
  <script type='text/javascript'>
    function doSub()
    {
      f = document.getElementById('formen');
      f.submit();
    }
  </script>
  <body onload='doSub()'>
    <h1>Vent venligst</h1>
    <form action='http://dibs.dk/sidenderskalmodtage.php' method='post'>
<?php

foreach ($_POST as $key => $val)
{
  echo "<input type='hidden' name='$key' value='$val'>";
}

?>
  </form>
</body>
</html>
Avatar billede coderdk Praktikant
19. april 2004 - 20:45 #13
Ja, formtagget skulle jo se sådan ud:

    <form id='formen' name='formen' action='http://dibs.dk/sidenderskalmodtage.php' method='post'>

:)
Avatar billede coderdk Praktikant
19. april 2004 - 20:46 #14
Eller hvad med bare lade kunden trykke på en knap? "Videre" eller sådan noget, og så skrive noget pæn prosa ;P
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