私はthisソリューションを使用して、フォームデータを暗号化してデータベースに投稿しています。別のページでは、そのデータを復号化し、複数行のCSVファイルにすべて保存する必要があります。MYSQLデータを復号化してCSVを作成
私のコードでは、$ responseをエコーすると、すべての正しいデータがページに出力されますが、CSVに読み込むことはできません。このコードはCSVを作成しますが、各フィールドはランダムな場所にあり、奇数の文字が読み込まれます。私は運がない下のコード(配列にロードすることを含む)のバリエーションを試しました。
$theresults = $wpdb->get_results(
"
SELECT *
FROM my_table
"
);
foreach ($theresults as $result) {
$iv = $result->iv;
$responses = openssl_decrypt($result->title,'AES-256-CBC',$encryption_key,0,$iv).",".
openssl_decrypt($result->fname,'AES-256-CBC',$encryption_key,0,$iv).",".
openssl_decrypt($result->lname,'AES-256-CBC',$encryption_key,0,$iv).",".
openssl_decrypt($result->address,'AES-256-CBC',$encryption_key,0,$iv).",".
openssl_decrypt($result->emailadd,'AES-256-CBC',$encryption_key,0,$iv).",".
openssl_decrypt($result->who,'AES-256-CBC',$encryption_key,0,$iv);
fputcsv($output, explode(',',$responses));
}
UPDATE
だから私はそうのように私のアレイを作成後、変数への私のデータを渡すことによって、この作業を得た:
$responses = array($title,$fname,$lname,$address,$age,$emailadd,$who);
fputcsv($output, $responses);
これは、CSVへの正しい行を挿入ファイル。
私が今問題になっているのは、ダイヤモンドの形、音楽記号、線、ボックスなどの奇妙な文字が付いたデータですか?それらの中に。誰もがこれを引き起こす原因を知っていますか?
$応答に*正しい* csvがありますが、ディスクに正しく書き込むことができません。 – JLB
* "各フィールドはランダムな場所にあります" * - あなたが得るものはランダムな文字で構成されていると言いますか?そうであれば、間違った暗号化方法、間違ったキーまたは間違ったエンコーディングを使用しました。これはどのように暗号化されますか?コードを見せてくれますか? –
'$ output'とは何ですか?あなたのコードのどこにでも定義されているとは思えません。 – Chris