ساخت فرم html

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
سلام چطور میتونم یه فرم بسازم دکمه رادیویی بزارم که وقت طرف دکمه رادیویی 1 رو انتخاب کزد بعد از سابمیت بره لینک 1 . رادیویی 2 لینک 2 و الی اخر

مثل سایت زیر



 

zegersot

کاربر عضو
برای چه سی ام اسی میخوای؟

اگه فقط فرم html میخوای باید php در کنارش استفاده کنی که اطلاعات رو بفرسته و تحلیل کنه و بفرسته به لینک مورد نظر

یا با استفاده از جاوا این کارو بکنی !

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
تشکر

اچ تی ام بشه چه بهتر.

زیاد بلد نیستم

واسه سی ام اس خاصی همچین چیزی وجود داره؟

 

zegersot

کاربر عضو
با html که نمیشه دوست عزیز !

html و php در کنار هم مشکلتونو حل میکنن

اگه میخواید یه صفحه مینویسم به عنوان نمونه که بتونید استفاده کنید

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
اگه این کارو کنین که عالی میشه

واقعا ممنون

 

MAYRAN

کاربر عضو
درود اگر مثل این صفحه


کد:
http://hitsmgroup.tk/payonline.php
که درگاه پرداخت کاربر انتخاب می کنه لازم دارید که فقط کافی هست این قسمت کد.


کد:
[TABLE]
[TR]
[TD="class: webkit-line-content"]<p>درگاه پرداخت<br />[/TD]
[/TR]
[TR]
[TD="class: webkit-line-number"][/TD]
[TD="class: webkit-line-content"]<input type="radio" checked name="PG" value="ZG"> بانک سامان<br />[/TD]
[/TR]
[TR]
[TD="class: webkit-line-number"][/TD]
[TD="class: webkit-line-content"]<input type="radio" name="PG" value="WG"> زرین پال<br />[/TD]
[/TR]
[TR]
[TD="class: webkit-line-number"][/TD]
[TD="class: webkit-line-content"]<input type="radio" name="PG" value="ML"> بانک ملت</p>[/TD]
[/TR]
[/TABLE]
کمی روش فکر کنید.

مثال:


کد:
<?php if($_post['PG']=='ZG'){?> <form method="POST" action="لینک ارجا بانک سامان"> <input name="jamekol" type="hidden" value="<?php echo $_post['Amount']; ?>"/> <input type="submit" value=" پرداخت " /> </form> <?php}?>
البته شما باید کل تغییرات خود را در صفحه


کد:
[COLOR=#1A1AA6][FONT=monospace]http://ubanner.ir/pay.php
[/FONT][/COLOR]
انجام دهید.

اگر خواستید من انجام بدن که البته ساده است خود شما می توانید انجام دهید.

پ.خ بدید.

 
آخرین ویرایش توسط مدیر:

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
من یه فایل ساختم index.html

یه فایلم ساختم pay.php

محتویات index


کد:
<html dir="rtl" lang="fa-IR">
<head>
<meta charset="UTF-8" />


<form id="TransactionAddForm" action="pay.php" method="post">مبلغ خرید (تومان)<br />
<input id="TransactionAmount" type="text" maxlength="9" name="Amount" /></p>
<p>ایمیل<br />
<input id="TransactionAmount" type="text" name="Email" /></p>
<p>توضیحات خرید ( آدرس سایت یا … )<br />
<input id="TransactionDesc" type="text"  required pattern="\S{2,50}" name="Description" /></p>
<p>درگاه پرداخت<br />
<input type="radio" checked name="PG" value="ZG"> بانک سامان<br />
<input type="radio" name="PG" value="WG"> زرین پال<br />
<input type="radio" name="PG" value="ML"> بانک ملت</p>
<p><input style="font-family: Tahoma; font-size: 9pt;" type="submit" name="submit" value="پـرداخـت " /></p>
</form>


</head>

<body class="rtl page page-id-38 page-template-default">
</html>
محتویات pay.php


کد:
<?php if($_post['PG']=='ZG'){?> 
<form method="POST" action="google.com"> 
<input name="jamekol" type="hidden" value="<?php echo $_post['Amount']; ?>"/> 
<input type="submit" value=" پرداخت " /> </form> 
<?php
}
?>
ولی به لینک نرفت

میشه یکم مثالتون رو مبتدی تر توضیح بدین؟

مرسی

 

zegersot

کاربر عضو
کد:
<?php if($_POST['PG']=='ZG'){?> 
<form method="POST" action="google.com"> 
<input name="jamekol" type="hidden" value="<?php echo $_POST['Amount']; ?>"/> 
<input type="submit" value=" پرداخت " /> </form> 
<?php
}
?>
 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
شرمنده

ولی منم که تو pay.php که عینا همینو نوشتم

 

zegersot

کاربر عضو
شما کد رو بزارید متوجه میشید :) که کد شما اشتباه بوده ...

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
خیلی لطف کردین

فقط یه چیز دیگه

کد زیر چرا ارور میده تو pay.php خط 36


کد:
<html dir="rtl" lang="fa-IR">
<head>
<meta charset="UTF-8" />


<?php if($_POST['PG']=='ZG'){?> 

<?php

    require_once('lib/nusoap.php');

    $MerchantID = '52ceb4f9-d118-450d-bba2-3e1f55e8a9d4';  //Required
    $Amount = 1000; //Amount will be based on Toman  - Required
    $Description = 'توضیحات تراکنش تستی';  // Required
    $CallbackURL = 'verify.php';  // Required


    // URL also Can be https://ir.zarinpal.com/pg/services/WebGate/wsdl
    $client = new nusoap_client('https://de.zarinpal.com/pg/services/WebGate/wsdl', 'wsdl'); 
    $client->soap_defencoding = 'UTF-8';
    $result = $client->call('PaymentRequest', array(
                                                    array(
                                                            'MerchantID'     => $MerchantID,
                                                            'Amount'         => $Amount,
                                                            'Description'     => $Description,
                                                            'Email'         => $Email,
                                                            'Mobile'         => $Mobile,
                                                            'CallbackURL'     => $CallbackURL
                                                        )
                                                    )
    );

    //Redirect to URL You can do it also by creating a form
    if($result['Status'] == 100)
    {
        Header('Location: https://www.zarinpal.com/pg/StartPay/'.$result['Authority']);
    } else {
        echo'ERR: '.$result['Status'];
    }
?>



<?php
}
?> 

</head>

<body class="rtl page page-id-38 page-template-default">
</html>
 

zegersot

کاربر عضو
برنامه nodpad++ نصب کنید و فایل رو با اون برنامهخ بالا بیارید و از منو encod گزینه ای utf-8 bom اسنتخاب کنید مشکل حل میشه

درضمن callback اشتباه ! آدرس رو باید کامل بزارید ...

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
به شکل زیر تغییر دادم کامل کار کرد

واقعا مرسی

فقط پرشین اسکرییییییپت


کد:
<?php

if($_POST['PG']=='ZG'){

    require_once('lib/nusoap.php');

    $MerchantID = '5255554f9-de48-450d-bba2-3e1f5ee8a9d4';  //Required
    $Amount = $_POST['Amount']; 
    $Description = $_POST['Description']; 
        $Email = $_POST['Email']; 
    $CallbackURL = 'verify.php';  // Required


    // URL also Can be https://ir.zarinpal.com/pg/services/WebGate/wsdl
    $client = new nusoap_client('https://de.zarinpal.com/pg/services/WebGate/wsdl', 'wsdl'); 
    $client->soap_defencoding = 'UTF-8';
    $result = $client->call('PaymentRequest', array(
                                                    array(
                                                            'MerchantID'     => $MerchantID,
                                                            'Amount'         => $Amount,
                                                            'Description'     => $Description,
                                                            'Email'         => $Email,
                                                            'Mobile'         => $Mobile,
                                                            'CallbackURL'     => $CallbackURL
                                                        )
                                                    )
    );

    //Redirect to URL You can do it also by creating a form
    if($result['Status'] == 100)
    {
        Header('Location: https://www.zarinpal.com/pg/StartPay/'.$result['Authority']);
    } else {
        echo'ERR: '.$result['Status'];
    }

}
?>
 

zegersot

کاربر عضو
باشه مشکلی نیست ، فقط یه لطفی بکن یه پرداختی انجام بده تا منظوره منو متوجه شی از صفحه بازگشت

موفق باشید

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
باشه مشکلی نیست ، فقط یه لطفی بکن یه پرداختی انجام بده تا منظوره منو متوجه شی از صفحه بازگشتموفق باشید
تشکر

گرفتم چی گفتین .

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
سلام

خواستم سوالم رو تو یک تاپیک دیگه بپرسم ولی احساس کردم همینجا بهترین جاست .

عزیز گفتن که باید آدرس verify.php رو کامل وارد کنم . کامل وارد کردم و درست شد . فقط به مشکلی دارم .

من تو فایل index.php از طریق فرمی که گذاشتم قیمیت رو از کاربر میگیرم . مثل فرم زیر :


کد:
<form id="TransactionAddForm" action="pay.php" method="post">مبلغ خرید (تومان)<br />
<input id="TransactionAmount" type="text" maxlength="9" name="Amount" /></p>
حالا این مقداری که از کاربر گرفته میشه داخل فایل pay.php مقدارش میره داخل متغیر Amount .


کد:
<?php

if($_POST['PG']=='ZG'){

    require_once('lib/nusoap.php');

    $MerchantID = '5255554f9-de48-450d-bba2-3e1f5ee8a9d4';  //Required
    $Amount = $_POST['Amount']; 
    $Description = $_POST['Description']; 
        $Email = $_POST['Email']; 
    $CallbackURL = 'verify.php';  // Required


    // URL also Can be https://ir.zarinpal.com/pg/services/WebGate/wsdl
    $client = new nusoap_client('https://de.zarinpal.com/pg/services/WebGate/wsdl', 'wsdl'); 
    $client->soap_defencoding = 'UTF-8';
    $result = $client->call('PaymentRequest', array(
                                                    array(
                                                            'MerchantID'     => $MerchantID,
                                                            'Amount'         => $Amount,
                                                            'Description'     => $Description,
                                                            'Email'         => $Email,
                                                            'Mobile'         => $Mobile,
                                                            'CallbackURL'     => $CallbackURL
                                                        )
                                                    )
    );

    //Redirect to URL You can do it also by creating a form
    if($result['Status'] == 100)
    {
        Header('Location: https://www.zarinpal.com/pg/StartPay/'.$result['Authority']);
    } else {
        echo'ERR: '.$result['Status'];
    }

}
?>
تا اینجا مشکلی نیست .

طرف وارد صفحه بانک میشه و بعد از پرداخت میره به آدرسی که بهش دادم .

من هم آدرس sitekhodam.ir/zarin/verify.php رو بهش دادم

الان گیر کار من رو همین کدهای داخل verify.php هست .

کد verify.php به صورت زیر است


کد:
<?php

    require_once('nusoap.php');
        require_once('ZarinMerchent.php');
    $Amount = 100; 
    $Authority = $_GET['Authority'];

    if($_GET['Status'] == 'OK'){
        // URL also Can be https://ir.zarinpal.com/pg/services/WebGate/wsdl
        $client = new nusoap_client('https://de.zarinpal.com/pg/services/WebGate/wsdl', 'wsdl'); 
        $client->soap_defencoding = 'UTF-8';
        $result = $client->call('PaymentVerification', array(
                                                            array(
                                                                    'MerchantID'     => $MerchantID,
                                                                    'Authority'      => $Authority,
                                                                    'Amount'          => $Amount
                                                                )
                                                            )
        );

        if($result['Status'] == 100){
            echo 'Transation success. RefID:'. $result['RefID'];
        } else {
            echo 'Transation failed. Status:'. $result['Status'];
        }

    } else {
        echo 'Transaction canceled by user';
    }


?>
خب اصل مطلب اینه که بعد از پرداخت وقتی پیغام پرداخت موفق میده که مقدار متغیر Amount توی فایل pay.php و فایل verify.php یکی باشه .

اما توی pay.php مقدار Amount از طریق فرم index.php داده میده ولی توی verify.php مقدار Amount به صورت پیشفرض 100 تومان است .

سوال اینجاست من چطور میتونم مقدار Amount داخل verify.php رو از طریق index.php یا pay.php فراخونی کنم ؟

یعنی اون 100 تومن داخل verify.php بشه همون مقداری که کاربر توی index.php وارد میکنه ؟

 
آخرین ویرایش توسط مدیر:

zegersot

کاربر عضو
باید به بانک اطلاعاتی متصلش کنید

ولی یه راه هست با استفاده از


کد:
@session_start();
//zakhire
$_SESSION["amount"]=100;
//namayesh
echo $_SESSION["amount"];
 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
تشکر

جایگزین $Amount = 100; کنم؟

 
بالا