我在使用重力形式创建的表单时遇到问题。此表单的目的是获取表单的输入、加密密码并将该数据直接写入数据库。我已经验证了数据库的用户名、密码和 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 文件的函数吗?万一我无法完成这项工作....