Reputation: 103
I'm having problems with sending the information to the php. Help pls:) Such an error on all post variables
Notice: Undefined index: Inn in D:\xampp\htdocs\wa\plugins\generator\ini.php on line 46
JS:
function create_ini()
{
var ininame = document.getElementsByName('ininame')[0].value;
var Inn = document.getElementsByName('Inn')[0].value;
var SndrTel = document.getElementsByName('SndrTel')[0].value;
var SendCtg = document.getElementsByName('SendCtg')[0].value;
var SendDate = document.getElementsByName('SendDate')[0].value;
var ListNum = document.getElementsByName('ListNum')[0].value;
var MailType = document.getElementsByName('MailType')[0].value;
var MailCtg = document.getElementsByName('MailCtg')[0].value;
var DirectCtg = document.getElementsByName('DirectCtg')[0].value;
var PayType = document.getElementsByName('PayType')[0].value;
var TransType = document.getElementsByName('TransType')[0].value;
var PostMark = document.getElementsByName('PostMark')[0].value;
var MailRank = document.getElementsByName('MailRank')[0].value;
var NumContract = document.getElementsByName('NumContract')[0].value;
var MailCount = document.getElementsByName('MailCount')[0].value;
var ValueSum = document.getElementsByName('ValueSum')[0].value;
var DeliveryRateSum = document.getElementsByName('DeliveryRateSum')[0].value;
var DeliveryRateVAT = document.getElementsByName('DeliveryRateVAT')[0].value;
var DeliveryRateTotal = document.getElementsByName('DeliveryRateTotal')[0].value;
var ValueSumRateTotal = document.getElementsByName('ValueSumRateTotal')[0].value;
var ValueSumRateVAT = document.getElementsByName('ValueSumRateVAT')[0].value;
var NoticeRateTotal = document.getElementsByName('NoticeRateTotal')[0].value;
var NoticeRateVAT = document.getElementsByName('NoticeRateVAT')[0].value;
var TotalRate = document.getElementsByName('TotalRate')[0].value;
var TatalRateVAT = document.getElementsByName('TatalRateVAT')[0].value;
var DocVersion = document.getElementsByName('DocVersion')[0].value;
$.ajax({
type: "POST",
url:"ini.php",
data: "Inn"+Inn+"SndrTel"+SndrTel+"SendCtg"+SendCtg+"SendDate"+SendDate+"ListNum"+ListNum+"MailType"+MailType+"MailCtg"+MailCtg+"DirectCtg"+DirectCtg+"PayType"+PayType+"TransType"+TransType+"PostMark"+PostMark+"MailRank"+MailRank+"NumContract"+NumContract+"MailCount"+MailCount+"ValueSum"+ValueSum+"DeliveryRateSum"+DeliveryRateSum+"DeliveryRateVAT"+DeliveryRateVAT+"DeliveryRateTotal"+DeliveryRateTotal+"ValueSumRateTotal"+ValueSumRateTotal+"ValueSumRateVAT"+ValueSumRateVAT+"NoticeRateTotal"+NoticeRateTotal+" NoticeRateVAT"+NoticeRateVAT+"TotalRate"+TotalRate+"TatalRateVAT"+TatalRateVAT+"DocVersion"+DocVersio n+"ininame"+ininame,
success: function(data){
$("#mod-result").empty();
$("#mod-result").append(data);
/* location.reload(true); */
}});
};
PHP:
$sampleData = array(
'Main' => array(
'Inn' => $_POST['Inn'],
'SndrTel' => $_POST['SndrTel'],
'SendCtg' => $_POST['SendCtg'],
'SendDate' => $_POST['SendDate'],
'ListNum' => $_POST['ListNum'],
'MailType' => $_POST['MailType'],
'MailCtg' => $_POST['MailCtg'],
'DirectCtg' => $_POST['DirectCtg'],
'PayType' => $_POST['PayType'],
'TransType' => $_POST['TransType'],
'PostMark' => $_POST['PostMark'],
'MailRank' => $_POST['MailRank'],
'NumContract' => $_POST['NumContract'],
),
'Summary' => array(
'MailCount' => $_POST['MailCount'],
'ValueSum' => $_POST['ValueSum'],
'DeliveryRateSum' => $_POST['DeliveryRateSum'],
'DeliveryRateVAT' => $_POST['DeliveryRateVAT'],
'DeliveryRateTotal' => $_POST['DeliveryRateTotal'],
'ValueSumRateTotal' => $_POST['ValueSumRateTotal'],
'ValueSumRateVAT' => $_POST['ValueSumRateVAT'],
'NoticeRateTotal' => $_POST['NoticeRateTotal'],
'NoticeRateVAT' => $_POST['NoticeRateVAT'],
'TotalRate' => $_POST['TotalRate'],
'TatalRateVAT' => $_POST['TatalRateVAT'],
),
'DocVersion' => array(
'DocVersion' => $_POST['DocVersion'],
));
write_ini_file($sampleData, $_POST['ininame'].'.ini', true);
echo $_POST['Inn'];
Upvotes: 0
Views: 145
Reputation: 182
The data must contain a valid query string or object. Like :
data : "Inn="+Inn+"&SndrTel="+SndrTel+....
or
data : { inn:inn, SndrTel:SndrTel....}
Upvotes: -2
Reputation: 72947
The reason you're getting that error, id because your data isn't being posted properly.
data
should preferably be an object, instead of a string like that*.
Replace:
data: "Inn"+Inn+"SndrTel"+SndrTel+"SendCtg"+SendCtg+"SendDate"+SendDate+"ListNum"+ListNum+"MailType"+MailType+"MailCtg"+MailCtg+"DirectCtg"+DirectCtg+"PayType"+PayType+"TransType"+TransType+"PostMark"+PostMark+"MailRank"+MailRank+"NumContract"+NumContract+"MailCount"+MailCount+"ValueSum"+ValueSum+"DeliveryRateSum"+DeliveryRateSum+"DeliveryRateVAT"+DeliveryRateVAT+"DeliveryRateTotal"+DeliveryRateTotal+"ValueSumRateTotal"+ValueSumRateTotal+"ValueSumRateVAT"+ValueSumRateVAT+"NoticeRateTotal"+NoticeRateTotal+" NoticeRateVAT"+NoticeRateVAT+"TotalRate"+TotalRate+"TatalRateVAT"+TatalRateVAT+"DocVersion"+DocVersio n+"ininame"+ininame,
With:
data: {
Inn: Inn,
SndrTel: SndrTel,
SendCtg: SendCtg,
SendDate: SendDate,
ListNum: ListNum,
MailType: MailType,
MailCtg: MailCtg,
DirectCtg: DirectCtg,
PayType: PayType,
TransType: TransType,
PostMark: PostMark,
MailRank: MailRank,
NumContract: NumContract,
MailCount: MailCount,
ValueSum: ValueSum,
DeliveryRateSum: DeliveryRateSum,
DeliveryRateVAT: DeliveryRateVAT,
DeliveryRateTotal: DeliveryRateTotal,
ValueSumRateTotal: ValueSumRateTotal,
ValueSumRateVAT: ValueSumRateVAT,
NoticeRateTotal: NoticeRateTotal,
NoticeRateVAT: NoticeRateVAT,
TotalRate: TotalRate,
TatalRateVAT: TatalRateVAT,
DocVersion: DocVersion,
ininame: ininame
}
* With "A string like that", I mean it's improperly formatted. Sure, a query string works, too.
Upvotes: 3
Reputation: 12391
Your query string is malformed. You need to use =
and &
to separate them between keys and values. Inn=' + Inn + '&SndrTel='+SndrTel...
But the best way is, if you send $(form).serialize()
Upvotes: 1
Reputation: 15593
You data string is not correct. It should be:
data: {
'Inn': Inn,
'SndrTel': SndrTel,
'SendCtg': SendCtg,
'SendDate': SendDate,
'ListNum': ListNum,
'MailType': MailType,
'MailCtg': MailCtg,
'DirectCtg': DirectCtg,
'PayType': PayType,
'TransType': TransType,
'PostMark': PostMark,
'MailRank': MailRank,
'NumContract': NumContract,
'MailCount': MailCount,
'ValueSum': ValueSum,
'DeliveryRateSum': DeliveryRateSum,
'DeliveryRateVAT': DeliveryRateVAT,
'DeliveryRateTotal': DeliveryRateTotal,
'ValueSumRateTotal': ValueSumRateTotal,
'ValueSumRateVAT': ValueSumRateVAT,
'NoticeRateTotal': NoticeRateTotal,
'NoticeRateVAT': NoticeRateVAT,
'TotalRate': TotalRate,
'TatalRateVAT': TatalRateVAT,
'DocVersion': DocVersion,
'ininame': ininame
}
In your case the data variable will contains a single string.
Upvotes: 1