PDA

View Full Version : سوال: مشکل با ارتباط با mysql در php



mojooriass
شنبه 10 آبان 1393, 18:21 عصر
سلام
دوستان من تازه نوشتن php شروع کردم و دارم یه سایت کوچیک طراحی میکنم برای این سایت بعد از ورود session های sid و username را در صفحه اطلاعات کاربری بررسی میکنه اگه session معتبر نیود برمیگرده به صفحه لاگین حالا مشکل اینه که تو این فایل ارور خطا در برقراری ارتباط با پایگاه داده میده در صورتی که من همین کد را در فایل ثبت نام و ورود وارد کردم و به درستی کار میکنه
فایل DBconnect:


<?php
$db_host="localhost";
$db_username="root";
$db_password="";
$db_link= mysql_connect($db_host,$db_username,$db_password);
$db_name="db_cdata";
mysql_select_db($db_name,$db_link)or die(mysql_error());
?>


فایل ChekSession:


<?php
$hassession=FALSE;
session_start();
if (isset($_SESSION["username"]) && isset($_SESSION["sid"])) {
$username = $_SESSION["username"];
$sid = $_SESSION["sid"];
$tbl_name = "table_datau";
include 'DBconnect.php';
$result = mysql_query("select * from $tbl_name where username='$username'", $db_link)or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
if ($row["sid"] == $sid) {
$hassession = TRUE;
}
}
}
?>

فایل usdata (اطلاعات کاربری):


<?php
include 'ChekSession.php';
if($hassession==FALSE){
header("location: login.php");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="assets/css/style-user.css"/>
<title>اطلاعات کابری</title>
</head>


<body>
<div id="form-a">
<div id="form-top">
<ul id="ul-form">
<li><a href="index.php">صفحه اصلی</a></li>
<li><a href="userpanel.php">پنل کاربری</a></li>
<li><a href="con.php">تماس با ما</a></li>
</ul>
</div>
<form role="form" action="chekdata.php" method="post">
<div id="form-table">


<table id="table" border="1" cellpadding="1">
&nbsp;&nbsp;&nbsp;
<tr>
<td><label>نام :</label></td>
<td><input id="name" name="name" type="text" placeholder="نام" /></td>
</tr>
<tr>
<td><label>نام خواندگی :</label></td>
<td><input name="family" type="text" placeholder="نام خواندگی" /></td>
</tr>
<tr>
<td><input type="submit" value="ثبت اطلاعات" /></td>
</tr>
</table>


</div>
</form>
</div>
</body>
</html>

کدی که در فایل login وارد شده و به درستی کار میکنه:


<?php
include 'ChekSession.php';
if($hassession==TRUE){
header("location: usdata.php");
}
?>
<!DOCTYPE html>
<head>
<title>Login One</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="http://fonts.googleapis.com/css?family=Open+Sans:300,400,700" rel="stylesheet" type="text/css">
<link href="assets/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<link href="assets/css/bootstrap.min.css" rel="stylesheet" type="text/css">
<link href="assets/css/bootstrap-theme.min.css" rel="stylesheet" type="text/css">
<link href="assets/css/templatemo_style.css" rel="stylesheet" type="text/css">
</head>
<body class="templatemo-bg-gray">
<div class="container">
<div class="col-md-12">
<h1 class="margin-bottom-15">ورود</h1>
<form class="form-horizontal templatemo-container templatemo-login-form-1 margin-bottom-30" role="form" action="cheklogin.php" method="post">
<div class="form-group">
<div class="col-xs-12">
<div class="control-wrapper">
<label for="username" class="control-label fa-label"><i class="fa fa-user fa-medium"></i></label>
<input type="text" class="form-control" id="username" name="email" placeholder="ایمیل">
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-12">
<div class="control-wrapper">
<label for="password" class="control-label fa-label"><i class="fa fa-lock fa-medium"></i></label>
<input type="password" class="form-control" id="password" name="password" placeholder="کلمه عبور">
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-12">
<div class="checkbox control-wrapper">
<label>
<input type="checkbox" type="checkbox" name="staylogin" value="true"> مرا به خاطر داشته باش
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-12">
<div class="control-wrapper">
<input type="submit" value="Log in" class="btn btn-info">
<a href="forgot-password.html" class="text-right pull-right">کلمه عبور خود را فراموش کرداید؟</a>
</div>
</div>
</div>
<hr>
<div class="form-group">
<div class="col-md-12">
<div class="inline-block">
<?php
$type = "aa";
if (isset($_GET["type"])) {
$type = $_GET["type"];
if ($type == "wrongwuse") {
echo "نام کاربری یا کلمه عبور اشتباه است .";
}elseif ($type=="nulluse") {
echo "نام کاربری و کلمه عبور نمیتواند خالی باشد . ";
}elseif ($type=="notsuc") {
echo "ورود موفقیت آمیز نبود";
}
}
?>
</div>
</div>
</div>
</form>
<div class="text-center">
<a href="register.php" class="templatemo-create-new">ساخت اکانت جدید <i class="fa fa-arrow-circle-o-right"></i></a>
</div>
</div>
</div>
</body>
</html>


ارور که موقع اجرا میده اینه :


Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp\www\submit\DBconnect.php on line 5

ممنون.

hamedarian2009
شنبه 10 آبان 1393, 18:49 عصر
ارورت که مربوط به اینه که توابع اتصال به دیتابیس php با پیشوند mysql دیگه جذف شدند و باید از mysqli یا PDO استفاده کنید که اگه نمیخای زیاد وارد تغییرات بشی همون mysqli بهتره یاد بگیری
http://www.w3schools.com/php/php_mysql_connect.asp