2015-10-18 74 views
-5

嗨,大家好我想寫一些代碼的登錄,我已經得到它,但只要我嘗試登錄它說無法選擇數據庫。我無法弄清楚,我已經與One.com託管,當我進入PHP設置時,它說數據庫名稱是「c343_co_uk」,這是我在下面的代碼中使用的:無法選擇數據庫

更新:它檢測數據庫中,但每當我嘗試和使用完全相同的用戶名和密碼對MySQL的登錄,它說無效登錄

這裏是我的Connection.php

<?php 
$username = "c343_co_uk"; 
$password = "abc"; 
$hostname = "c343.co.uk.mysql"; 

//connection to the database 
$connection = mysql_connect($hostname, $username, $password) 
    or die("Unable to connect to MySQL"); 


$selected = mysql_select_db("c343_co_uk",$dbhandle) 
    or die("Could not select Database"); 

?> 

Loginform.php

<!DOCTYPE html> 

<html> 

<a href="index.html" title="back to home">Home</a> 
</font> 
    <head> 

     <style> 
      body { 
       font-size: 14px; 
      } 

     </style> 
     <link rel="stylesheet" type="text/css" href="website.css" /> 
    </head> 
    <body> 


    <div id="loginform" style="font-family: 'ClearSans-Thin'; color: Black"> 


     Please enter your login details<br /><br /> 
     Username:<br /> 
     <form method="post" action="loginsubmit.php"> 
      <input type="text" name="username" /> 
      <br /> 
      Password:<br /> 
      <input type="password" name="password" /> 
      <br /> 
      <input type="submit" name="submit" value="Submit" /> 
     </form> 
     </center> 
</div> 
</body> 
</html> 

Loginsubmit.php

<?php 
session_start(); 
?> 
<font face="ClearSans-Thin"> 
<font color="lightgray"> 

<?php 

include 'connection.php'; 
include 'loginform.php'; 
?> 
<center> 
<?php 
if (isset($_POST['submit'])) 
    { 
    $user = $_POST['username']; 

    $pass = $_POST['password']; 
    //Counts up how many matches there are in the database 
    $query = "SELECT COUNT(*) AS cnt FROM users WHERE Username='" . mysqli_real_escape_string($connection, $user) . "' && Password='" . mysqli_real_escape_string($connection, $pass). "'"; 
    $result = mysqli_query($connection, $query); 
    $row = mysqli_fetch_assoc($result); 

    $queryadmin = "SELECT COUNT(*) AS cnt FROM admin WHERE Username='" . mysqli_real_escape_string($connection, $user) . "' && Password='" . mysqli_real_escape_string($connection, $pass). "'"; 
    $resultadmin = mysqli_query($connection, $queryadmin); 
    $rowadmin = mysqli_fetch_assoc($resultadmin); 
    //If count is more than 0, log user in. 
    if ($row["cnt"] > 0) 
    { 
     $_SESSION["userlogged"] = $user; 
     echo "Logged in - Press the home button to return to the homepage"; 
    } 
    //count for user table is 0, if there are more than 0 matches in the admin database, start admin session 
    else if ($rowadmin["cnt"] > 0) 
     { 
      $_SESSION["adminlogged"] = $user; 
      echo "Logged in - Press the home button to return to the homepage"; 
     } 
    else 
    { 
     echo 'Not a valid login'; 
    } 
} 
?> 
</center> 
+1

你在哪裏定義'$ dbhandle'? – David

+1

試着'echo mysql_error()'看看實際的錯誤信息是什麼。 – andrewsi

+0

我交換dbhandle連接,現在它連接,我的壞!但是它不能識別表中的憑證,所以說無效登錄。 –

回答

0

嘗試更換

$selected = mysql_select_db("c343_co_uk",$dbhandle) 
    or die("Could not select Database"); 

$selected = mysql_select_db("c343_co_uk",$connection) 
    or die("Could not select Database"); 
+0

不幸的是仍然有相同的錯誤! –

+0

其實它現在是一個新的錯誤,說它不是一個有效的登錄名,我會複製並粘貼loginsubmit php代碼和登錄表單,一秒鐘:) –

0

使用此連接: -

$username = "c343_co_uk"; 

$password = "abc"; 

$hostname = "c343.co.uk.mysql"; 

$connection = mysql_connect($hostname, $username, $password); 

@mysql_select_db("c343_co_uk",$connection); 
0

您可以通過這種方式

<?php 
define("DB_HOST", "c343.co.uk.mysql"); 
define("DB_USER", "c343_co_uk"); 
define("DB_PASSWORD", "abc"); 
define("DB_DATABASE", "c343_co_uk"); 
$conn = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD,DB_DATABASE); 

?> 
+1

爲什麼?這將解決什麼問題..? Plesae解釋。 – MaggsWeb

1

嘗試這些嘗試:

$dbname = "c343_co_uk" 
$username = "c343_co_uk"; 
$password = "abc"; 
$hostname = "c343.co.uk.mysql"; 

並更換

$selected = mysql_select_db("c343_co_uk",$connection) 
    or die("Could not select Database"); 

這樣:

$selected = mysql_select_db($dbname,$connect) 
    or die("Could not select Database"); 

我希望工作!祝你今天愉快!

0

你還沒有做主機與MySQL,只是做c343.co.uk:

<?php 
$username = "c343_co_uk"; 
$password = "abc"; 
$hostname = "c343.co.uk"; 

//connection to the database 
$connection = mysql_connect($hostname, $username, $password) 
    or die("Unable to connect to MySQL"); 


$selected = mysql_select_db("c343_co_uk",$dbhandle) 
    or die("Could not select Database"); 

?> 

我希望這項工作!其他我會再看看