PDA

View Full Version : ورود به سایت



jalaladdin
پنج شنبه 01 مهر 1389, 11:30 صبح
برای فرم ورود به سایت این کد را نوشتم قبل از اینکه ویندوز را پاک کنم این فرم کار میکرد بعد از نصب ویندوز این خطا را میدهد که نام کاربری وکلمه عبور اشتباه است

<?php

if(isset($_POST['username']))
{
$con = mysql_connect("localhost","root","");
if(!$con)
{
die('could not connect');
}

mysql_select_db("register",$con);

$username = addslashes($_POST['username']);
$password = md5($_POST['password']);
$result = mysql_query("SELECT COUNT(*) FROM `users` WHERE `username`='$username' AND `password`='$password';");


if(!$result)
{
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);

if($row[0] > 0)
{
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;

echo $_SESSION['username']." خوش آمدی";

printf('<form action="logout.php" method="post" class=" dir">

<br/>
<a href="" ><div class="dir">ارسال مطلب </a></div>
<a href="change password.html" ><div class="dir">تغییر رمز عبور </a></div>
<div align ="center"> <input type="submit" value="خروج" class="textbox" /></div>'); exit;
}
elseif (empty($username )) {
printf('<div class=" bg-text1" >نام کاربری و کلمه عبور را وارد کنید</div>');
printf('<form action="login.php" method="post" class=" " >


<div class="dir"> نام کاربری:<input type="text" name="username" value="" size="20" class="textbox" /></div>

<div class="dir">رمز عبور: <input type="password" name="password" value="" size="20" class="textbox" /></div>

<div align="center"> <input type="submit" value="ورود" class="button" /></div>
<a href="register.html" ><div class="dir">ثبت نام کاربر جدید </a></div>
<a href="forgetpassword.php" ><div class="dir">کلمه عبور را فراموش کرده ام </a></div>
</form>');


}
else
{
printf('<div class=" bg-text1" >نام کاربری یا کلمه عبور اشتباه می باشد</div>');
}


}?>

sama01
پنج شنبه 01 مهر 1389, 11:43 صبح
آیا شما اطلاعات db را هم از سیستم قبلی به سیستم جدید منتقل کرده‌اید؟

jalaladdin
پنج شنبه 01 مهر 1389, 21:22 عصر
بعد از نصب ویندوز برنامهwamp را نصب کردم و از طریق phpmyadmin دیتابیس ساختم واز دیتابیسم بک آپ نگرفتم

sama01
پنج شنبه 01 مهر 1389, 21:58 عصر
خوب دیگه.
اطلاعات شما از بین رفته.

شما بایستی غیر از فایل‌ها، از اطلاعات db هم پشتیبان تهیه می‌کردید.

jalaladdin
جمعه 02 مهر 1389, 09:39 صبح
ببینید من یک یک فرم ثبت نام براب سایتم ساختم و از این طریق ثبت نام میکنم اما در فرم لاگین سایت اطلاعات کاربری (نام کاربری و رمز عبور صحیح وارد میکنم ) اما این پیغام را مید هد که نام کاربری یا کلمه عبور اشتباه است

sama01
جمعه 02 مهر 1389, 11:22 صبح
یعنی اطلاعات جدید وارد می‌کنید و باز هم این پیام رو نشون می‌ده؟
با phpMyAdmin چک کنید ببینید اصلا اطلاعات وارد db می‌شوند یا خیر.

jalaladdin
جمعه 02 مهر 1389, 18:52 عصر
بعد از نصب برنامهwampاز طریق phpmyadminیک دیتابیس ساختم ودر سایتم ثبت نام میکنم اطلاعات وارد دیتابیس میشود اما وقتی که میخواهم وارد سایتم شوم با وجود اینکه اطلاعات کاربری را صحیح وارد میکنم این خطا را میدهد(نام کاربری یا کلمه عبور اشتباه است)از طریق سیستم دیگری امتحان کردم فرم لاگین کار میکنه میتوانم وارد سایتم شوم اما روی سیستم خودم بعد از نصب ویندوز چنین مشکلی برام پیش آمده

sama01
جمعه 02 مهر 1389, 19:17 عصر
خوب؛
این خط‌ها را به این شکل تغییر بده تا ببینی در کدام یک، مشکل وجود داره.
$con = mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("register",$con) or die(mysql_error());
$result = mysql_query("...") or die(mysql_error());

jalaladdin
شنبه 03 مهر 1389, 06:47 صبح
باز همان مشکل وجود داره

funpatogh
شنبه 03 مهر 1389, 21:08 عصر
باز همان مشکل وجود داره
بعد از نوشتن این کد ها


$con = mysql_connect("localhost","root","") or die(mysql_error()); mysql_select_db("register",$con) or die(mysql_error()); $result = mysql_query("...") or die(mysql_error());

پیغام خطایی که PHP داد چی بود؟
اگه خطایی نداد یعنی همه چیز درست هست کانکت میشه به MYSQL و دیتبایست هم سلکت میشه
حالا tABLE موجود هست؟ و رکوردی که حاوی USER و PASS باشه هم مجود هست؟

jalaladdin
یک شنبه 04 مهر 1389, 18:58 عصر
از طریق phpmyadminیک دیتا بیس ساختم هم tableوهم رکورد usernameوpasswordوجود دارد
اما وقتی اطلاعات کاربری را صیحیح وارد میکنم مروگر این خطا میدهد که نام کاربری وکلمه عبور اشتباه است
قبل از اینکه ویندوز را پاک کنم فرم لاگین کارمیکرد

ftmotlagh
یک شنبه 04 مهر 1389, 20:57 عصر
اگه قبلا کار می کرده یعنی اینکه مشکل از دیتابیس جون تنها تو اونجا تغییراتی دادی.
اکسپورت دیتابیس جدید رو که ساختی اینجا بزار.

jalaladdin
دوشنبه 05 مهر 1389, 12:21 عصر
این هم exportپایگاه داده ام است
--
-- Database: `register`
--

-- --------------------------------------------------------

--
-- Table structure for table `users`
--

CREATE TABLE `users` (
`username` varchar(30) character set utf8 collate utf8_persian_ci NOT NULL,
`email` varchar(30) NOT NULL,
`password` varchar(30) NOT NULL,
`repassword` varchar(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `users`
--

INSERT INTO `users` (`username`, `email`, `password`, `repassword`) VALUES
('admin', 'admin@admin.com', '84cdd6969b7eadcb5ae41e9e8508a4', '84cdd6969b7eadcb5ae41e9e8508a4'),

sama01
دوشنبه 05 مهر 1389, 12:54 عصر
1.
خوب اگر به جای این همه سوال کردن، یک بار چک می‌کردید که آیا password ذخیره شده در db با password داده شده در کوئری مطابقت دارند، رسیدن به پاسخ این قدر طول نمی‌کشید.
md5 رشته‌های 32 کاراکتری تولید می‌کنه. ولی رمزی که در db ذخیره کرده‌اید 30 کاراکتره.
خوب معلومه که match نمی‌شن.
روی چه حسابی طول فیلد password رو 30 گذاشته‌اید؟؟؟

2.
چرا repassword رو هم ذخیره می‌کنید؟ چه کاربردی دارد؟ البته مشکل شما ربطی به این ندارد. ولی کلا کار غیر منطقی‌ای به نظر می‌رسه.

3.
به چشم ما رحم کنید. کدها را بسته به نوع‌شان، بین تگ‌های کد، html یا php بگذارید که خوانا شوند. لطفا

ftmotlagh
دوشنبه 05 مهر 1389, 20:34 عصر
دوستان نکات رو گفتن
لطفا قبل اینکه اینچا پست بدید اول همه چیز رو چک کنید
ما اینجا دی باگر نیستم که:قهقهه: