gravityforms で作成したフォームに問題があります。このフォームの目的は、フォームの入力を取得し、パスワードを暗号化し、そのデータをデータベースに直接書き込むことです。データベースのユーザー名、パスワード、IP を確認しました。問題は、フォームが送信されることです。エントリは表示されますが、データベースにデータが書き込まれません。送信ボタンの横にロードサークルが表示されているだけです。
functions.php ファイル内で使用するコードは次のとおりです。
add_action("gform_after_submission_1", "create_account", 10, 2);
function create_account($entry, $form) {
define('mySQL_hostname', '<ip>'); //database IP
define('mySQL_database', '<database name>'); //database name
define('mySQL_username', '<user>'); //database user
define('mySQL_password', '<pass>'); //database password
$db_link = mysql_pconnect( mySQL_hostname, mySQL_username, mySQL_password )
or die( 'Error connecting to mysql<br><br>'.mysql_error() );
function l2j_encrypt($password) {
return base64_encode(pack("H*", sha1(utf8_encode($password))));
}
$str = l2j_encrypt($entry["2"]);
$user = $entry["1"];
$currdate = date('Y-m-d H:i:s');
$email = $entry["3"];
$db_select = mysql_select_db( mySQL_database, $db_link )
or die( 'Error connecting to Database<br><br>'.mysql_error() );
if ($user == '') { print'Incorrect UserID'; mysql_close(); }
else {
$db_add = mysql_query( "INSERT INTO `accounts` VALUES ('$user', '$str', '0', '0', '', '1', '$email', '$currate')" )
or die( 'Error: '.mysql_error() );
}
mysql_close();
}
また、10,2 パラメーターとの取引は何ですか? それらを説明するものは何も見つかりませんでした...上記のコードは、別のphpファイルにある場合、htmlフォームと組み合わせて問題なく動作することに注意してください....
何か助けはありますか?
PS: このデータを外部の php ファイルに送信する関数を作成するのを手伝ってくれる人はいますか? この作業を行うことができない場合に備えて....