PDA

View Full Version : مبتدی: حل مشکلات ساده php



siamat
پنج شنبه 19 اردیبهشت 1392, 18:13 عصر
این مشکلات ساده رو کی می تونه برای من مبتدی حل کنه؟

siamat
پنج شنبه 19 اردیبهشت 1392, 18:16 عصر
من یک کد نوشتم برای صفحه اول سایتم که فقط کاربرانی که من تعریف می کنم بتونن واردش بشن ولی error داره می گه که خط 41 و 42 و 43 قسمت ((بررسی معتبر بودن اطلاعات ارسالی کاربر)) از شاخص ناشناخته استفاده کردم می شه کمکم کنید اینم کل کد صفحه من


<?php session_start();?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="style.css" type="text/css" />
<title>Behzisty</title>
</head>

<body>
<form action="" method="post">
<table width="100%">
<tr>
<td id="td_head">
<a href='index.php'><span>صفحه اصلی</span></a>&nbsp;
<a href='Register.php'><span>ثبت نام کاربران</span></a>&nbsp;
<a href="#"><span>دانلود</span></a>&nbsp;
<a href="#"><span>ارتباط با ما</span></a>&nbsp;
<a href="#"><span>تماس با ما</span></a>&nbsp;
</td>
</tr>
<tr>
<td style="text-align:center;" id="td_center">
<br /><br /><br /><br />
نام کاربری :&nbsp;<input type="text" name="username" class="textbox" /><br /><br />
کلمه عبور :&nbsp;<input type="password" name="password" class="textbox" /><br /><br />
<input type="hidden" name="check" value="sended" />
<input type="submit" value="ورود" class="buttom"/>
<br /><br /><br /><br />
</td>
</tr>
<tr>
<td id="td_footer">
<p>کلیه حقوق این سایت برای خودم محفوظ می باشد</p>
</td>
</tr>
</table>
</form>
<?php
//بررسی معتبر بودن اطلاعات ارسالی کاربر
$username = $_POST['username'];
$password = $_POST['password'];
$check = $_POST['check'];]
//نام کاربری
if (!isset($username) || $username == ''){
echo "فیلد نام کاربری نباید خالی باشد!";
$check=1;
}
//کلمه عبور
elseif (!isset($password) || $password == ''){
echo "فیلد کلمه عبور نباید خالی باشد!";
$check=1;
}
//اطلاعات اتصال به پایگاه داده
mysql_connect("localhost", "root", "")
or die(mysql_error());
//نام دیتابیس
mysql_select_db("behzisty")
or die(mysql_error());
//جلوگیری از نفوذ به دیتابیس
$username = mysql_real_escape_string($username);
$password = md5($password);
if ($check != 1 && $check == 'sended'){
//تطبیق اطلاعات کاربر با آنچه که در دیتابیس ذخیره شده
$result = mysql_query ("SELECT * FROM login WHERE username = '$username' AND password = '$password'");
// تعداد ردیف های موجود
$count = mysql_num_rows($result);
if($count > 0){
// اطلاعات کاربر درست است، تنظیم مجوز های استفاده از بخش اعضاء
$_SESSION['username'] = $_POST['username'];
$_SESSION['password'] = $_POST['password'];
// اطلاعات کاربر صحیح است
echo "شما به سایت وارد شده اید!<br />";
}
else{
// اطلاعات کاربر صحیح نیست
echo "اطلاعات وارد شده صحیح نیست!<br />";
}
}

mysql_close();
?>
</body>
</html>

siamat
پنج شنبه 19 اردیبهشت 1392, 18:27 عصر
سلام یه سوال دیگه
چطور می تونم بگم فقط در صورتی که دکمه submit کلیک شد کار هایی رو انجام بده ؟

heidarymh73
پنج شنبه 19 اردیبهشت 1392, 18:41 عصر
اون کد هاتو تویه یه تگ میزاشتی که بشه خوندش
سوال دوم یه اسم واسه فرم مثل زیر بزار
name='test'
بعدش با تابع isset چک کن

siamat
پنج شنبه 19 اردیبهشت 1392, 18:58 عصر
نه برای سوال دوم می دونم چطور از isset استفاده کنم یه جایی دیدم که یه دستور مثل این داشت if(isset($_submit)==true) بود انوقت البته این کد فکر کنم غلط باشه

$ M 3 H R D A D $
پنج شنبه 19 اردیبهشت 1392, 19:08 عصر
به فرمت یک دکمه سابمیت بده و براش اسم بزار
و بعد چک کن

if(isset($_POST['submitname']))
{

///do
}

heidarymh73
پنج شنبه 19 اردیبهشت 1392, 19:08 عصر
داداش اکشن فرمت خالیه پرش کن ببین درست میشه یا نه

siamat
پنج شنبه 19 اردیبهشت 1392, 19:11 عصر
فایل php زیرش هستش اکشن رو برای چی پر کنم

$ M 3 H R D A D $
پنج شنبه 19 اردیبهشت 1392, 19:14 عصر
داداش اکشن فرمت خالیه پرش کن ببین درست میشه یا نه
برنامه نویسی علم منظق هست نه بنایی که حالا پرش کن ببین چی میشه !

$ M 3 H R D A D $
پنج شنبه 19 اردیبهشت 1392, 19:26 عصر
$_POST و $_GET یک ارایه هستند
خود ارایه همیشه وجود داره
اما وقتی مینویسیم

$_POST['keyname']

یعنی خانه ای (ایندکسی ) با نام keyname
خوب وقتی فرمی پست نشه این ارایه و مهمتر اون کلید از یک ارایه ای که وجود نداره مفهومی نداره دیگه
پس اول با isset چک کنید که وحود داره بعدش مقدارش و بگیرید

if(isset(_POST['name']))
$name = $_POST['name'];

heidarymh73
پنج شنبه 19 اردیبهشت 1392, 19:34 عصر
برنامه نویسی علم منظق هست نه بنایی که حالا پرش کن ببین چی میشه !
عزیز دل فک میکردم که جدا از هم هست
کمک هم نمیشه کرد

siamat
پنج شنبه 19 اردیبهشت 1392, 19:57 عصر
سلام مجدد من یه مشکل دیگه دارم اینه که این لینک های توی هدر رو چطوری می تونم پایین هدر قرار بدم با این توضیح
#td_head{width:1350px; height:198px; border-radius:5px; background-image:url(head.png); margin-top:500px;}

<td id="td_head">
<a href='index.php'><span>صفحه اصلی</span></a>&nbsp;
<a href='Register.php'><span>ثبت نام کاربران</span></a>&nbsp;
<a href="#"><span>دانلود</span></a>&nbsp;
<a href="Contact.php"><span>ارتباط با ما</span></a>&nbsp;
<a href="#"><span>تماس با ما</span></a>&nbsp;
<a href="showmessage.php"><span>نمایش پیام های ثبت شده</span></a>&nbsp;
</td>

$ M 3 H R D A D $
پنج شنبه 19 اردیبهشت 1392, 22:20 عصر
اینجا تالار PHP هست نه اموزش وب دیزاین

ما جند ماه هست که داریم از کارهای حرفه ای اینده حرف میزنیم اما دوستانمون لطف دارند و همیشه مارو درگیر مبتدی ترین سوالات و اشتباهات میککنند بدون اینکه قوانین تالار و مطالعه کرده باشند
لطفا رعایت کنید دست عزیز

siamat
جمعه 20 اردیبهشت 1392, 19:35 عصر
چرا این کد جواب نمی ده دیتابیس و نام هاش درسته

<?php
if(isset($_POST['submit']))
{
session_start();
$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
if(empty($username) && $username == ''){
echo "<script>alert('نام کاربري نبايد خالي باشد')</script>";
}
elseif(empty($password) && $password == ''){
echo "<script>alert('رمز عبور نبايد خالي باشد')</script>";
}
else
{
mysql_connect("localhost","root","")or die(mysql_error());
mysql_select_db("behzisty");
mysql_set_charset('utf8');
$sql = "SELECT * FROM login WHERE username = '$username' AND password = '$password'";
$query = mysql_query($sql);
if(mysql_num_rows($query) > 0)
echo "<script>alert('شما با موفقيت وارد شديد')</script>";
else
echo "<script>alert('نام کاربري و يا رمز عبور وارد شده صحيح نيست')</script>";
}

}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="style.css" type="text/css" />
<title>Behzisty</title>
</head>

<body>
<form action="" method="post">
<table width="100%">
<tr>
<td id="td_head">
<div id="main-menu">
<ul>
<li>
<a href='index.php'><span>صفحه اصلی</span></a>
</li>
<li>
<a href='Register.php'><span>ثبت نام کاربران</span></a>
</li>
<li>
<a href="#"><span>دانلود</span></a>
</li>
<li>
<a href="AboutUs.php"><span>درباره ما</span></a>
</li>
<li>
<a href="Contact.php"><span>تماس با ما</span></a>
</li>
<li>
<a href="showmessage.php"><span>نمایش پیام های ثبت شده</span></a>
</li>
</ul>
</div>
</td>
</tr>
<tr>
<td style="text-align:center;" id="td_center">
<br /><br />
نام کاربری :&nbsp;<input type="text" name="username" class="textbox" /><br /><br />
کلمه عبور :&nbsp;<input type="password" name="password" class="textbox" /><br /><br />
<input type="submit" value="ورود" name="submit" class="buttom"/>
<br /><br />
</td>
</tr>
<tr>
<td id="td_footer">
<p>کلیه حقوق این سایت برای خودم محفوظ می باشد</p>
</td>
</tr>
</table>
</form>
</body>
</html>