您應該能夠從主機到主機遠程訪問任何mysql數據庫。我個人知道我的問題,我要求他們提供遠程連接,他們要求我提供他們允許訪問的特定IP地址。
我已經敲了一些代碼,以防萬一您對如何實現所需的表單/用戶驗證感到困惑 - 因爲您聲明您的PHP知識有限。
假設您有類似這樣的一個
<form action="post" method="checklogin.php">
<input type="username" name="username_input" />
<input type="password" name="password_input" />
<input type="submit" value="Validate Login" name="do_validation" />
</form>
這裏登錄表單是爲checklogin.php一些PHP代碼,我已經與//意見一併扔進來引導你:
// Get the form data
if ($_POST['do_validation'])
{
// The correct form was posted, get the form data
$username = mysql_real_escape_string($_POST['username_input']);
$password = mysql_real_escape_string($_POST['password_input']);
// Connect to the database
mysql_connect ("http://91.0.0.1", "myUsername", "myPassword");
// Select database
mysql_select_db('remote_table_name');
// Check the username and password against database
$check_credentials = mysql_query("SELECT user_id FROM users WHERE username='$username' AND password='$password'");
// Check that user exists
if (mysql_num_rows($check_credentials) == 1)
{
$existing_user = mysql_fetch_assoc($check_credentials);
$existing_user_id = $existing_user_id['user_id'];
// The user exists, now get ID of posts from another table, using their 'user_id'
$check_posts = mysql_query("SELECT post_id FROM posts WHERE user_id='$existing_user_id'");
// Check the number of posts is at least 100
if ($check_posts >= 100)
{
// The user has 100 posts OR MORE
echo "You are a valid user";
// Here you could start a session for the user (logging them in), and then show the data that you want
session_start();
// Store the user_id of the user in a SESSION
$_SESSION['user_id'] = $existing_user_id;
}
}
}
上面的代碼沒有經過測試,幾乎沒有任何安全機制,也沒有驗證。
但它會符合您建議保護您的表單的標準。
而且,GRANT只是一個常規的SQL查詢,直接輸入數據庫? – Schwing
@Schwing是的,這是正確的。 –
非常感謝你,邁克爾。你的帖子非常有幫助! – Schwing