Конвертирайте .NET в php. Отговор.Пренасочване

Добре, целта ми е да получа тази страница:

http://www.orchidfilmcompany.co.uk/Payment.aspx

за работа в моята php wordpress страница.

Наистина не знам откъде да започна, целият ми сайт е готов за работа, с изключение на тази нова страница за плащане онлайн.

Човекът, който създаде .NET страницата, ми предостави кода Response.Redirect, който съдържа URL адреса на търговеца с instID и т.н. Потребителят ще бъде пренасочен към този URL адрес, за да завърши плащането

Търсих наоколо онлайн и открих, че еквивалентният код в php за това е:

Header("Location: $url");

Проблемът ми е, че не знам какво да правя с това?

Това е всичко, от което се нуждая, е полето за въвеждане, където потребителят може да въведе сумата, която иска да плати, натиска изпращане и го пренасочва към URL адреса, който имам в кода Response.Redirect. Използва сумата, която е въвел в полето, и може да завърши плащането.

Ако някой може да помогне, ще съм много благодарен.

Благодаря предварително.


person Dan Davies    schedule 07.08.2012    source източник


Отговори (3)


Функцията header() се използва за пренасочване на браузъра към конкретно местоположение.

Ако вече имате URL адреса, към който трябва да пренасочите клиента и трябва само да добавите някаква сума, която идва от вход .. трябва да добавите тази сума в URL адреса за пренасочване

eg:

purchase.html - включете този формуляр на страницата си

<form method="post action="/redirect.php">
    <input type="text" name="amount" value="" />
    <input type="submit" name="sumbit" value="Purchase" />
</form>

redirect.php - поставете този файл до вашия html файл

<?php
     $amount = (int) $_POST['amount'];
     $urlToRedirect = 'https://secure.wp3.rbsworldpay.com/wcc/purchase?instId=XXX&cartId=OFMaterial&currency=GBP&amount='.$amount;
     header('Location: '.$urlToRedirect);
     exit;
?>
person Mihai Iorga    schedule 07.08.2012
comment
Добре, благодаря за това. но как да създам поле, което има тази сума, за да работи? ‹input type=text value=0.00 /›. Мисля, че всички отговори тук са малко извън мен. Не знам къде да търся, за да заработи страницата. Не знам какво да търся. Някакви идеи? - person Dan Davies; 08.08.2012
comment
Просто използвайте: <input type="text" name="amount value="" /> - person Mihai Iorga; 08.08.2012
comment
Добре, страхотно. Какво ще кажете за бутона - какъв код да използвам за бутона, за да го накарам действително да изпрати сумата на url? - Благодаря за това. - person Dan Davies; 09.08.2012
comment
Добре, наздраве - това изглежда прави нещо, но сега използвах това, което казахте, но когато щракна върху страницата, на която има формуляр, автоматично се пренасочвам към страницата на paymentgateway, така че дори не получавам възможност да въведа сума - някакви идеи? - Мисля, че не разбрах секцията redirect.php. - person Dan Davies; 10.08.2012
comment
Използвате този формуляр на първата страница, PHP кодът, който публикувах, е за междинна страница. - person Mihai Iorga; 10.08.2012
comment
Само за да можете да видите .Net кода, който може да ви помогне, е: Response.Redirect(secure.wp3.rbsworldpay.com/wcc/ & txtAmount.Text & &desc=Orchid%20Film%20Service\Material%20Online%20Payment&testMode=0) - премахнах техните instID, но XXX са всъщност числа, в които ще бъда. - person Dan Davies; 10.08.2012
comment
Опитах всичко, за да го накарам да се покаже. h t t p s://secure.wp3.rbsworldpay.com/wcc/purchase?instId=XXX&cartId=OFMaterial¤cy=GBP&amount= - person Dan Davies; 10.08.2012
comment
нека да продължим тази дискусия в чата - person Mihai Iorga; 10.08.2012

Формулярът трябва да има присвоен action, който е страницата, която ще анализира формуляра. На тази страница (или във вашия анализиращ бит от кода) се уверете, че пренасочването се случва там.

Изявлението на заглавката е правилно, напр.:

<?php
header('Location: http://www.example.com/');
exit;
?>

Ще пренасочи към example.com. Така че, създайте URL адреса, към който искате да пренасочите там. Моля, обърнете внимание: заглавката директно променя заглавките, върнати от вашия уеб сървър и следователно не може да бъде извикана, ако вече сте изпратили друг (HTML) изход към браузъра си. Вижте също документацията за заглавката тук: http://php.net/manual/en/function.header.php

person Oldskool    schedule 07.08.2012

Можете да опитате да имате формуляр, който се изпраща на PHP страница

След това PHP страницата може да вземе променливите на формуляра с помощта на $_POST['FORM_VAR']

Създайте променлива $url от изпратените променливи + URL адрес на .net страница

Накрая използвайте header("Location: $url");, за да вземете вградения url и пренасочете.

person Kevin Andrews    schedule 07.08.2012