PDA

View Full Version : سوال: سئال در مورد فرم لاگین



yasin5
شنبه 28 اردیبهشت 1392, 19:24 عصر
با سلام من یک منوی ورود اعضا در قال سایتم طراحی کردم مشکلم اینه که میخوام وقتی کاربر اطلاعات را اشتباه وارد کرد یا یکی از فیلد ها را خالی گذاشت پیغام بده
اینم کد


<?php
session_start();
require('config/config.php');
mysql_query("set names 'UTF8'");
if (strlen($_POST['username'] )==0 || strlen($_POST['pass'] )==0)
{
header('location:index.php?msg=1');
}
$query="select * from member where username='".$_POST['username']."'and pass='".md5($_POST['pass'])."'";

$result=mysql_query($query);
if (mysql_num_rows($result)==1)
{
$row=mysql_fetch_assoc($result);
if($row['user_access_level']=='admin')
{
$_SESSION['un']=$row['username'];
$_SESSION['user_access']=$row['user_access_level'];
$_SESSION['f_name']=$row['fname'];
$_SESSION['l_name']=$row['lname'];
$_SESSION['mail']=$row['email'];



header('location:admin.php');
}
else
{
$_SESSION['un']=$row['username'];
$_SESSION['user_access']=$row['user_access_level'];
$_SESSION['f_name']=$row['fname'];
$_SESSION['l_name']=$row['lname'];
$_SESSION['mail']=$row['email'];


header('location:user.php');
}
}
else
{
header('location:index.php?msg=1');
}

?>
سوال دوم مربوط به فرم ثبت نام میخوام کاربر اگه ادرس ایمیل نامعتبر وارد کرد پیغام دهد
این کد


<p>&nbsp;</p>
<?php
session_start();
require('config/config.php');
mysql_query("set names 'UTF8'");
$query="select * from member where fname='".$_POST['fname']."'";
$result=mysql_query($query);
if ((mysql_num_rows($result))>0)
{
header('location:register.php?msg=1');
}
if (( strlen($_POST['fname'])==0) || (strlen($_POST['email'])==0) ||(strlen($_POST['mobile'])==0)||(strlen($_POST['username'])==0)||(strlen($_POST['pass'])==0)||(strlen($_POST['repass'])==0))



{
header('location:register.php?msg0=1');
}
if ($_POST['pass']!=$_POST['repass'])
{
header('location:register.php?msg1=1');
}

$query="insert into member (fname,email ,username, pass,repass)values('".$_POST['fname']."','".$_POST['email']."','".$_POST['username']."','".md5($_POST['pass'])."','".md5($_POST['repass'])."')";
mysql_query($query) or die(mysql_error());
mysql_close($connect);

$_SESSION['fname']=$_POST['fname'];
$_SESSION['lname']=$_POST['lname'];
$_SESSION['email']=$_POST['email'];
$_SESSION['username']=$_POST['username'];
$_SESSION['pass']=$_POST['pass'];
$_SESSION['repass']=$_POST['repass'];

header('location:complete.php');


?>
سول سوم : میخوام وقتی کاربر وارد شد در تمامی صفحات نام کاربری را نشان دهد

Dead Space
شنبه 28 اردیبهشت 1392, 19:31 عصر
راستش حس خوندن کد نیست ولی کلا میخوای ارور بده خوب ورودی رو چک کن با یه if اگر خالی بود به یه آرایه ای که توش خطاها نگه داری میشه مقدار دهیش ن بعد تو صفحت چاپش کن.
در ضمن ورودی هاتم حتما تصفیه کن کدی که داری نا امن هستش و میشه بهش sql injection زد.
یوزر نیم هم که خودت ریختی توی session به نام username
هر صفحه چاپ کنی این session رو یوزر رو نشون میده.
البته به شرطی که ابتدای صفحت کد session_start(); رو قرار داده باشی
موفق باشی

yasin5
شنبه 28 اردیبهشت 1392, 19:37 عصر
لطف می کنید کدی که نا معتبر بودن ایمیل را نشان میدهد بنویسید