PDA

View Full Version : سوال: اخطار براي كدهاي mysql



ravand
چهارشنبه 28 مهر 1389, 18:18 عصر
من كدهاي زير رو اجرا مي كنم اين اخطار رو ميده علتش چيه؟
Warning: mysql_connect() [function.mysql-connect]: Unknown MySQL server host 'loacalhost' (11004) in F:\xampp\xampp\htdocs\loginSample\user.php on line 31

<?php
include_once("config.php");
if(!isset($_SESSION['user']))
{
header("location: index.php");
}

$username = $_SESSION['user'];
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body dir="rtl">
<label>خوش آمدید <b><?php echo $username; ?></b></label>
<br /><br />

<a href="logout.php">خروج</a>
</body>
</html>
<?php
$Host="loacalhost";
$User="root";
$Password="";
$conn=mysql_connect("localhost","root","");
$db=mysql_select_db("fani");
$target_path="";
$dbresult=mysql_query("SELECT * FROM 'form'");
$Link=mysql_connect($Host,$User,$Password);
$getDocuments = mysql_query("SELECT * FROM form");
while($row = mysql_fetch_array($getDocuments,$dbresult))
{
echo ($row["tfname"]."<br>"."Download:<a href='".$row['URL'] . "'>".$row['URL']."</a><br><br><br>");
}
?>
من مي خواستم براي قسمت خواندن مطالب از بانك اطلاعاتي اين قسمت رو رمز گذاري كنم كه اين اتفاق افتاد .
لطفا راهنماييم كنيد.

shahriyar3
چهارشنبه 28 مهر 1389, 18:29 عصر
اشتباه تايپي داري دوست عزيز. كد هاتون مشكلي نداره
دستور انتصاب متغير هاست را دوباره چك كنيد!!!!

binyaft
چهارشنبه 28 مهر 1389, 18:52 عصر
$Host="loacalhost";
loacalhost نداریم که
بنویسید

localhost

ravand
پنج شنبه 29 مهر 1389, 10:44 صبح
بله اين اشتباه تايپي بود كه من دچار شدم ولي مشكل اصلي من اين نيست . مشكل من اينه كه من وقتي وارد اين قسمت يعني قسمت مديريت ميشم و وقتي كه روي دكمه ي خروج كليك مي كنم و به صفحه ي ورود بر مي گردم با زدن دكمه ي بك مرورگر باز هم به همين صفحه ي مديريت بر مي گردم چطوري مي تونم اين مشكل رو حل كنم؟ من در واقع روي اين صفحه يك پسورد گذاشته بود.

binyaft
پنج شنبه 29 مهر 1389, 13:17 عصر
اگر از سشن استفاده کنید و پس از خورج اونرو session_destroy کنید ، چنین مشکلی نباید باشه

ravand
پنج شنبه 29 مهر 1389, 19:45 عصر
ببخشيد من چون كاربر حرفه اي نيستم نمي دونم چجوري بايد اين session_destroy(); رو در كد بالا قرار بدم و دقيقا كجاي اون ، چون هر جا گذاشتم نشد ميشه شما توي كد بالا قرارش بديد؟
راستي فكر كنم mysql رو هم با اين كد بايد ببندم درسته ؟

mysql_close();

xoogle.ir
پنج شنبه 29 مهر 1389, 21:23 عصر
توی فایل logout.php تون قبل از اینکه با تابع header کاربر رو یه صفحه لاگین بفرستید بنویسید :



session_destroy();


البته این کد زمانی به دردتون میخوره که شما برای ورود کاربر از سشن استفاده کرده باشید.

ravand
جمعه 30 مهر 1389, 10:21 صبح
ببخشيد ولي من اين فايل رو كه توي نت پيدا كردم ديدم قبلا اين كار شده. و بازم كار نكرد.
logout.php

<?php
include_once("config.php");
session_destroy();
header("location: index.php");
?>

اينم كد صفحه ي اول : index.php



<?php
include_once("config.php");
if(isset($_POST['username']))
{
$db_link = mysql_connect($db_host, $db_user, $db_pass) or die("خطا در اتصال به پایگاه داده");
mysql_select_db($db_name, $db_link) or die("خطا در انتخاب پایگاه داده");

$username = trim($_POST['username']);
$password = trim($_POST['password']);

if(empty($username) || empty($password))
{
$error = "نوشتن نام کاربری و گذرواژه الزامی ست.";
}
else
{
$sql = "SELECT * FROM `users` WHERE `user_name` = '".$username."' AND `user_pass` = '".$password."'";
$result = mysql_query($sql) or die("خطا در انجام درخواست");
$userExist = mysql_num_rows($result);
if($userExist > 0)
{
$_SESSION['user'] = $username;
header("location: user.php");
}
else
{
$error = "نام کاربری یا گذرواژه اشتباه است.";
}
}
}

?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login Sample - http://Minerva-se.com/</title>
</head>

<body>
<br /><br /><br />

<form action="" method="post">
<table width="400" border="0" align="center" cellpadding="10" cellspacing="0" style="border:1px solid C#‎CC;">
<tr>
<td colspan="2" align="center" dir="rtl">
<!-- محل نمایش خطای ورود -->
<?php
if(isset($error))
{
echo '<font color="#FF0000">'.$error.'</font>';
}
?>
</td>
</tr>
<tr>
<td width="192" align="right"><input type="text" name="username" id="username" /></td>
<td width="188" align="left" dir="rtl"><label>نام کاربری :</label>&nbsp;</td>
</tr>
<tr>
<td align="right"><input type="password" name="password" id="password" /></td>
<td align="left" dir="rtl"><label>گذرواژه :</label>
&nbsp;</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="button" id="button" value=" ورود " /></td>
</tr>
</table>

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




اينم فايل config.php




<?php
@session_start();

$db_host = "localhost";
$db_name = "fani";
$db_user = "root";
$db_pass = "";

?>




يك فايل xml هم باهاش بود :
اينم آدرسش : loginSample\_notes\dwsync.xml


<?xml version="1.0" encoding="utf-8" ?>
<dwsync>
<file name="index.php" server="P:/wamp/www/loginSample/" local="129085472309531250" remote="129085472300000000" />
</dwsync>


اينم كدهاي ديتابيسش كه البته يه مشكلي هم داره كه حلش كردم تا كار كرد . شما به كدهاش دقت نكن فقط بدون كه اين چند فيلد رو داره .


CREATE TABLE IF NOT EXISTS `users` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`user_name` varchar(255) CHARACTER SET latin1 NOT NULL,
`user_pass` varchar(255) CHARACTER SET latin1 NOT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci AUTO_INCREMENT=1 ;
اين ها كل فايل ها بود.

xoogle.ir
جمعه 30 مهر 1389, 11:05 صبح
خب پس مشکل شما توی صفحه user.php هست اونجا احتمالا اصلا چک نمیکنید که کاربر لاگین کرده یا نه.
توی صفحه user.php این کد رو بنویسید :



if(!$_SESSION['user']){
header('location: index.php');
exit;
}

در این صورت کاربر فقط در صورتی به این صفحه دسترسی پیدا میکنه که لاگین کرده باشه.
خوب نیست تعداد تشکر هاتون صفر باشه :لبخند:

ravand
جمعه 30 مهر 1389, 14:53 عصر
خيلي ممنون از لطفتون ، من از يه چيزي تعجب مي كنم اينكه من قبلا اين كارها رو كرده بودم نمي دونم چرا قبلا كار نمي كرد الان كار مي كنه. كد اولي رو كه بهتون دادم در اولين سوالم همون كد user.php هست.



<?php
include_once("config.php");
if(!isset($_SESSION['user']))
{
header("location: index.php");
exit;
}
$username = $_SESSION['user'];
$Host="localhost";
$User = "root";
$Password = "";
$conn = mysql_connect("localhost","root","");
$db = mysql_select_db("fani");
$target_path = "";
$dbresult = mysql_query("SELECT * FROM 'form'");
$Link= mysql_connect($Host,$User,$Password);
// Displays all current files
$getDocuments = mysql_query("SELECT * FROM form");
while($row = mysql_fetch_array($getDocuments,$dbresult))
{
echo ($row["tfname"]."<br>"."Download: <a href='" . $row['URL'] . "'>" . $row['URL'] . "</a><br><br><br>");
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body dir="rtl">
<label>خوش آمدید <b><?php echo $username; ?></b></label>
<br /><br />
<a href="logout.php">خروج</a>
</body>
</html>

بازم از لطفتون متشكرم .:تشویق: