PDA

View Full Version : سوال: ارور Undefined variable



lilac8
سه شنبه 24 اردیبهشت 1392, 22:38 عصر
سلام دوستان خواهشا کسی هست که مشکل این تکه کد رو بگه به من




if (isset($_POST['username'])&&($_POST['password'])&&($_SESSION['idd'])) {
$_SESSION['idd']=$_POST['username'];
$n=$_POST['username'];
$p=$_POST['password'];
$id=$_POST['rd']; }

$db=mysql_select_db('dbeshop');
$in_sql="select * from customer where user='$n' and pass='$p' and taid=1";
$result=mysql_query($in_sql);




به نظر درست میاد


این ارور رو میده


Notice: Undefined variable: n in C:\wamp\www\-----\index.php on line 111

خط 111 همان دستور سلکت هست

dousti_design
سه شنبه 24 اردیبهشت 1392, 22:50 عصر
$n = "";
$p = "";
if (isset($_POST['username'])&&($_POST['password'])&&($_SESSION['idd'])) {
$_SESSION['idd']=$_POST['username'];
$n=$_POST['username'];
$p=$_POST['password'];
$id=$_POST['rd']; }

$db=mysql_select_db('dbeshop');
$in_sql="select * from customer where user='$n' and pass='$p' and taid=1";
$result=mysql_query($in_sql);

بخاطر اینه که $n داخل بلوک شرطی تعریف شده. مقداردهی اولیه کنید حل میشه و البته این ارور نیست Notice هست و نباید در روند اجرای برنامه مشکلی ایجاد کنه.

lilac8
سه شنبه 24 اردیبهشت 1392, 23:14 عصر
قبل از اینکه من دستور if رو بگذارم هم همین نوتیک رو میداد ... مچکرم رفع شد :)

MMSHFE
سه شنبه 24 اردیبهشت 1392, 23:16 عصر
if (isset($_POST['username'], $_POST['password'], $_POST['rd'], $_SESSION['idd'])) {
$_SESSION['idd'] = $_POST['username'];
$n = $_POST['username'];
$p = $_POST['password'];
$id = $_POST['rd'];
$db = mysql_select_db('dbeshop');
$in_sql = "SELECT * FROM `customer` WHERE (`user`='{$n}' AND `pass`='{$p}' AND `taid`='1')";
$result = mysql_query($in_sql);
}

lilac8
چهارشنبه 25 اردیبهشت 1392, 00:05 صبح
if (isset($_POST['username'], $_POST['password'], $_POST['rd'], $_SESSION['idd'])) {
$_SESSION['idd'] = $_POST['username'];
$n = $_POST['username'];
$p = $_POST['password'];
$id = $_POST['rd'];
$db = mysql_select_db('dbeshop');
$in_sql = "SELECT * FROM `customer` WHERE (`user`='{$n}' AND `pass`='{$p}' AND `taid`='1')";
$result = mysql_query($in_sql);
}


به این صورت هم فرقی نمی کنه باز ارور میده اما اگر مقدار دهی بشه ارور نمیده البته هنوز نمیدونم :D که روند برنامه م مشکل ساز میشه یا نه :D

و یک نکته دیگه اگر $_session توی دستور if باشه دستورات اجرا نمیشن

خیلی ممنون از توجهتون

dousti_design
چهارشنبه 25 اردیبهشت 1392, 00:13 صبح
برای غیر فعال کردن نمایش نوتیک ها هم میتونید از این کد استفاده کنید:


error_reporting(E_ALL ^ E_NOTICE);