PDA

View Full Version : سوال: ارسال و گرفتن اطلاعات فرم از طریق json



hadoo_1986
سه شنبه 02 شهریور 1395, 15:20 عصر
سلام٫


من داخل وب سایتم از یک iframe استفاده کردم که داخل این iframe یک فرم قرار داره که اطلاعات برای وبسایت داخل ifarme فرستاده میشه.
من میخوام بعد از پر کردن و ارسال فرم توسط کاربر من هم یک نمونه از فرم پر شده رو داشته باشم.

و اگر این کار نشدنی است من چطور میتونم از طریق API code فرم داخل iframe که وبمستر همون سایت به من داده و از طریق json فرم پر شده رو برای اون سایت بفرستم و خودم هم یک نمونه از اون داشته باشم.
------------------------------------------------------------------------------------
اطلاعات اضافی:
وب سایت من وردپرس است.


با تشکر

مهرداد سیف زاده
سه شنبه 02 شهریور 1395, 18:30 عصر
این کار رو باید با jquery و js انجام بدید
وقتی کاربر iframe براش باز میشه با کد زیر کل داده های اون iframe رو میتونید بگیرید


var content = $('#iframeid').contents();

برای گرفتن مقدارهای پر شده کاربر باید داده های فرم رو بگیرید
که خب قطعا کاربر بعد از پر کردن فرم میخواد رو دکمه submit کلیک کنه
برای این کار یک بار iframe رو بررسی کنید و بعد id یا هر چیز دیگری که event دکمه submit رو بهتون بده رو جستجو کنید و بدست بیارید مثلا فرض کنیم توی iframe دکمه submit داره


<input type="submit" id="sendform" value="sndfrm">

و بعد کدی که event کلیک رو بگیره و دیتای form رو جمع کنه بده بهتون. در نهایت چیزی شبیه کد زیر. شاید دقیق کار نکنه ولی به همین شکل هست


var content = $('#iframeid').contents();
var submit =content.find('submit').attr('id');




$('#'+id).click(function() {
var form = content.find('form').serialize();
console.log(form);
});

hadoo_1986
چهارشنبه 10 شهریور 1395, 11:55 صبح
man ye form daram ke check out website woocommerce va mikham etelaat be ye form dige ferestade beshe, address websitamam ine http://www.ratenkauf-schufafrei.de/ ghabl az ezafe kardan if else kar mikard vali motasefane alan kar nemikone va man motmaenam ke ifelse eshtebas
mamnon misham age komak konid
inam code kameli ke be functionam ezafe krdam.


<?php

function theme_enqueue_styles() { wp_enqueue_style( 'avada-parent-stylesheet', get_template_directory_uri() . '/style.css' );}add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function hsf_lang_setup() { $lang = get_stylesheet_directory() . '/languages'; load_child_theme_textdomain( 'storex', $lang );}add_action( 'after_setup_theme', 'hsf_lang_setup' );


require_once( 'class-Maxda-API.php' );
add_action('woocommerce_checkout_process', 'maxda_order', 10, 1);function maxda_order() { /* $items = WC()->cart->get_items(); foreach ($items as $item) { // Do something clever } */

error_log( print_r( $items ,true) ); error_log( print_r( $_POST ,true) ); $fields = array(); if ( $_POST['billing_field_701'] == 'Herr' ) { $fields['gender'] = 'male'; } else { $fields['gender'] = 'female'; } $fields['firstname'] = $_POST['billing_first_name']; $fields['lastname'] = $_POST['billing_last_name']; $fields['address'] = $_POST['billing_field_362']; $fields['zipcode'] = $_POST['billing_field_372'];
$fields['city'] = $_POST['billing_field_628']; $fields['birthdate'] = $_POST['billing_field_828'] . '-' . $_POST['billing_field_776'] . '-' . $_POST['billing_field_76']; $fields['email'] = $_POST['billing_email']; $fields['phone'] = $_POST['billing_phone'];
$fields['phone_alt'] = $_POST['billing_field_192']; if ( $_POST['billing_field_259'] == 'Arbeitnehmer' ) { $fields['employed_as'] = 'employee'; } else if ( $_POST['billing_field_259'] == 'Beamter' ) { $fields['employed_as'] = 'official'; } else if ( $_POST['billing_field_259'] == 'Selbstständiger' ) { $fields['employed_as'] = 'freelancer'; } else if ( $_POST['billing_field_259'] == 'Arbeiter' ) { $fields['employed_as'] = 'worker'; } else if ( $_POST['billing_field_259'] == 'Rentner' ) { $fields['employed_as'] = 'pensioner'; } else if ( $_POST['billing_field_259'] == 'Arbeitsloser' ) { $fields['employed_as'] = 'unemployed'; } else if ( $_POST['billing_field_259'] == 'Auszubildender' ) { $fields['employed_as'] = 'trainee'; }endif; $fields['employer'] = $_POST['billing_field_431']; $fields['employed_since'] = $_POST['billing_field_766'] . '-' . $_POST['billing_field_143'];
$fields['net_income'] = $_POST['billing_field_970']; $fields['additional_income'] = $_POST['billing_field_573']; $fields['rent'] = $_POST['billing_field_232'];
if ( $_POST['billing_field_391'] == 'Ja' ) { $fields['realty'] = 'yes'; } else { $fields['realty'] = 'no'; }
if ( $_POST['billing_field_992'] == 'deutsch' ) { $fields['nationality'] = 'entweder'; } else { $fields['nationality'] = 'oder'; } $fields['marital_status'] = $_POST['billing_field_316']; if ( $_POST['billing_field_316'] == 'ledig' ) { $fields['marital_status'] = 'single'; } else if ( $_POST['billing_field_316'] == 'verheiratet' ) { $fields['marital_status'] = 'married'; } else if ( $_POST['billing_field_316'] == 'verwitwet' ) { $fields['marital_status'] = 'widowed'; } else if ( $_POST['billing_field_316'] == 'geschieden' ) { $fields['marital_status'] = 'divorced'; } else if( $_POST['billing_field_316'] == 'getrennt lebend' ) { $fields['marital_status'] = 'separated'; }end if;
$fields['children'] = $_POST['billing_field_834'];
// TODO all fields $response = MaxdaAPI::createRequestMaxda( $fields ); if ( is_wp_error( $response ) ) { error_log( print_r( $response, true ) ); throw new Exception( __( 'An error occurred, please try again later.', 'storex' ) ); }
$responseCode = wp_remote_retrieve_response_code( $response ); if ( $responseCode != 201 ) { error_log( print_r( $response, true ) ); throw new Exception( wp_remote_retrieve_response_message( $response ) ); }
$responseBody = json_decode( wp_remote_retrieve_body( $response ) );}






inam api oon sherkate ke be man dade ke baezi az fieldha ezafe boode va man vared nakardam.




• gender:Anrede(„male" für männlich oder „female" für weiblich)*
• firstname:Vorname*
• lastname:Nachname*
• birthdate:Geburtsdatum(im Format JJJJ-MM-TT)*
• address:Anschrift(Straße inkl.Hausnummer)*
• zipcode:Postleitzahl*
• city:Ort*
• resident_since:Wohnhaft an angegebener Adresse seit (Datum im Format JJJJ-MM-TT)
• email: E-Mail-Adresse*
• phone:Telefonnummer*
• phone_alt:AlternativeTelefonnummer
• credit_request:Gewünschter Kreditbetrag(numerisch)*
• employed_as:Anstellungsverhältnis („employee“ für Arbeitnehmer,„official“ für Beamter,„freelancer“ für Selbstständiger,„pensioner“ für Rentner,„unemployed“ für Arbeitsloser,„trainee“ für Auszubildender oder „worker“ für Arbeiter)
• employed_since:Beginn des Anstellungsverhältnis (Datum im Format JJJJ-MM-TT)
• employer:Name des Arbeitgebers
• net_income:Nettoeinkommen(numerisch)
• additional_income:Zusätzliches Einkommen(numerisch)
• rent:MonatlicheMiete(numerisch)
• nationality:Staatsangehörigkeit (entweder „deutsch“ oder „sonstige“)
• marital_status:Familienstand(„single“ für alleinstehend,„married“ für verheiratet,„widowed“ für verwitwet,„divorced“ für geschieden,„separated“ für getrennt lebend)
• children:AnzahlKinder(numerisch)
• realty:Grundbesitz vorhanden?(„yes“ für ja,„no“ für nein)
• realty_creditrate: mtl.Kreditabtrag/Hausrate(numerisch)
• realty_income: mtl.Mieteinnahmen(numerisch)
• accept_schufa:Schufa-Auskunft darf eingeholt werden („yes“ für ja,„no“ für nein)
• referrer: URL der Website von der aus der Kredit angefragt wurde

masalan ye nemoone ifelse ke niaz daram baraye in ghesmate

• marital_status:Familienstand(„single“ für alleinstehend,„married“ für verheiratet,„widowed“ für verwitwet,„divorced“ für geschieden,„separated“ für getrennt lebend)


ke mige agar alleinstehend ra ezafe kard yani single agr verheiratet yani married va ....

mamnoon misham agar komak konid http://forum.persianscript.ir/uploads/emoticons/default_25.gif

hadoo_1986
چهارشنبه 10 شهریور 1395, 11:56 صبح
<?php

function theme_enqueue_styles() {
wp_enqueue_style( 'avada-parent-stylesheet', get_template_directory_uri() . '/style.css' );
}
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );


function hsf_lang_setup() {
$lang = get_stylesheet_directory() . '/languages';
load_child_theme_textdomain( 'storex', $lang );
}
add_action( 'after_setup_theme', 'hsf_lang_setup' );






require_once( 'class-Maxda-API.php' );


add_action('woocommerce_checkout_process', 'maxda_order', 10, 1);
function maxda_order() {
/*
$items = WC()->cart->get_items();
foreach ($items as $item) {
// Do something clever
}
*/




error_log( print_r( $items ,true) );
error_log( print_r( $_POST ,true) );

$fields = array();
if ( $_POST['billing_field_701'] == 'Herr' ) {
$fields['gender'] = 'male';
} else {
$fields['gender'] = 'female';
}
$fields['firstname'] = $_POST['billing_first_name'];

$fields['lastname'] = $_POST['billing_last_name'];

$fields['address'] = $_POST['billing_field_362'];

$fields['zipcode'] = $_POST['billing_field_372'];


$fields['city'] = $_POST['billing_field_628'];

$fields['birthdate'] = $_POST['billing_field_828'] . '-' . $_POST['billing_field_776'] . '-' . $_POST['billing_field_76'];

$fields['email'] = $_POST['billing_email'];

$fields['phone'] = $_POST['billing_phone'];


$fields['phone_alt'] = $_POST['billing_field_192'];

if ( $_POST['billing_field_259'] == 'Arbeitnehmer' ) {
$fields['employed_as'] = 'employee';
} else if ( $_POST['billing_field_259'] == 'Beamter' ) {
$fields['employed_as'] = 'official';
} else if ( $_POST['billing_field_259'] == 'Selbstständiger' ) {
$fields['employed_as'] = 'freelancer';
} else if ( $_POST['billing_field_259'] == 'Arbeiter' ) {
$fields['employed_as'] = 'worker';
} else if ( $_POST['billing_field_259'] == 'Rentner' ) {
$fields['employed_as'] = 'pensioner';
} else if ( $_POST['billing_field_259'] == 'Arbeitsloser' ) {
$fields['employed_as'] = 'unemployed';
} else if ( $_POST['billing_field_259'] == 'Auszubildender' ) {
$fields['employed_as'] = 'trainee';
}endif;

$fields['employer'] = $_POST['billing_field_431'];

$fields['employed_since'] = $_POST['billing_field_766'] . '-' . $_POST['billing_field_143'];


$fields['net_income'] = $_POST['billing_field_970'];

$fields['additional_income'] = $_POST['billing_field_573'];

$fields['rent'] = $_POST['billing_field_232'];


if ( $_POST['billing_field_391'] == 'Ja' ) {
$fields['realty'] = 'yes';
} else {
$fields['realty'] = 'no';
}



if ( $_POST['billing_field_992'] == 'deutsch' ) {
$fields['nationality'] = 'entweder';
} else {
$fields['nationality'] = 'oder';
}

$fields['marital_status'] = $_POST['billing_field_316'];

if ( $_POST['billing_field_316'] == 'ledig' ) {
$fields['marital_status'] = 'single';

} else if ( $_POST['billing_field_316'] == 'verheiratet' ) {
$fields['marital_status'] = 'married';

} else if ( $_POST['billing_field_316'] == 'verwitwet' ) {
$fields['marital_status'] = 'widowed';

} else if ( $_POST['billing_field_316'] == 'geschieden' ) {
$fields['marital_status'] = 'divorced';

} else if( $_POST['billing_field_316'] == 'getrennt lebend' ) {
$fields['marital_status'] = 'separated';
}end if;




$fields['children'] = $_POST['billing_field_834'];






// TODO all fields

$response = MaxdaAPI::createRequestMaxda( $fields );
if ( is_wp_error( $response ) ) {
error_log( print_r( $response, true ) );
throw new Exception( __( 'An error occurred, please try again later.', 'storex' ) );
}


$responseCode = wp_remote_retrieve_response_code( $response );
if ( $responseCode != 201 ) {
error_log( print_r( $response, true ) );
throw new Exception( wp_remote_retrieve_response_message( $response ) );
}


$responseBody = json_decode( wp_remote_retrieve_body( $response ) );
}