0

jotform.com を使用してフォームを作成し、$_POST クエリの action="" を .php ファイルに変更しただけで何も調整しませんでした。同じファイルに $_POST 配列を出力して、すべての値が html から受信されていることを確認するので、html コードは含めません。以下に .php を含め、フォーム送信後に .php が次の配列を出力して、すべてが投稿されたことを確認します。

successArray ( [formID] => 32750985631157 [q1_referral] => John Doe [q12_contactType] => Array ( [0] => Array ( [0] => Prospect ) ) [q3_companyNameindividual] => John Doe\'s Company [q4_dba] => John Doe\'s D.B.A [q15_mainofficePhone] => Array ( [area] => 305 [phone] => 8654565 ) [q28_mainContact] => Array ( [first] => John [last] => Doe ) [q8_address] => Array ( [addr_line1] => 1223 Cedar Ave [addr_line2] => N/A [city] => Miami [state] => Florida [postal] => 33054 [country] => United States ) [q32_email32] => johndoe@email.com [q11_website11] => johndoe@johndoe.com [q29_secondaryContact] => Array ( [first] => [last] => ) [q10_mainofficePhone10] => Array ( [area] => [phone] => ) [q13_mobilePhone13] => Array ( [area] => [phone] => ) [q14_fax14] => Array ( [area] => [phone] => ) [q20_homePhone20] => Array ( [area] => [phone] => ) [q26_otherPhone] => Array ( [area] => [phone] => ) [q30_email2] => [q31_email3] => [q27_secondaryAddress] => Array ( [addr_line1] => [addr_line2] => [city] => [state] => [postal] => [country] => ) [q23_notes] => [website] => [simple_spc] => 32750985631157-32750985631157 )

もちろん、mysqlテーブルのすべての列は、id以外に255の制限でvarcharに設定されています。mysql テーブルに表示されない値は次のとおりです。

main_contact     varchar(255)           
main_phone   varchar(255)           
main_address     varchar(255)           
Main_address2    varchar(255)           
main_city    varchar(255)           
main_state   varchar(255)           
main_postcode    varchar(255)           
main_country     varchar(255)   

私はphpを正しく書いたことを確認するために何時間も頭を悩ませてきました。誰も解決策を持っていない場合は、他のコードを投稿します。前もって感謝します。

<?php
require_once('info.php');

mysqli_query($con,"INSERT INTO contacts(referral,name,dba,main_contact,main_phone,main_address,main_address2,main_city,main_state,main_postcode,main_country,main_email,website_address)VALUES('".$_POST['q1_referral']."','".$_POST['q3_companyNameindividual']."','".$_POST['q4_dba']."','".$_POST['q28_mainContact[first]']."','".$_POST['q15_mainofficePhone[phone]']."','".$_POST['q8_address[addr_line1]']."','".$_POST['q8_address[addr_line2]']."','".$_POST['q8_address[city]']."','".$_POST['q8_address[state]']."','".$_POST['q8_address[postal]']."','".$_POST['q8_address[country]']."','".$_POST['q32_email32']."','".$_POST['q11_website11']."')");

echo "success";
print_r($_POST);
?>
4

2 に答える 2

1

下付き文字の使い方が間違っています。

たとえば、次のことを指しています。

$_POST['q28_mainContact[first]']

しかし実際には、あなたは見ているべきです

$_POST['q28_mainContact']['first']

他のフィールドも同様に正しくありません。

于 2013-10-03T20:26:24.013 に答える
0

さて、値を挿入する場所、つまりここで連結演算子を使用しました

('".$_POST['q1_referral']."','".$_POST['q3_companyNameindividual']."','".$_POST['q4_dba']."','".$_POST['q28_mainContact[first]']."','".$_POST['q15_mainofficePhone[phone]']."','".$_POST['q8_address[addr_line1]']."','".$_POST['q8_address[addr_line2]']."','".$_POST['q8_address[city]']."','".$_POST['q8_address[state]']."','".$_POST['q8_address[postal]']."','".$_POST['q8_address[country]']."','".$_POST['q32_email32']."','".$_POST['q11_website11']."')"

次に、二重引用符を削除して、次のようになります

('$_POST[q1_referral]','$_POST[q3_companyNameindividual]',

PS: 最初の 2 人のメンバーにアイデアを提供するためだけに作成しました。

于 2013-10-03T20:31:01.740 に答える