پیغام خطای Undefined variable:
سلام . تو کد پایین اطاعات وارد دیتا بیس میشه و پیغام "پیام شما با موفقیت ارسال شد" هم میاد. اما وقتی پیغام "پیام شما با موفقیت ارسال شد" رو ok می کنم. پایین صفحه این خطا ظاهر میشه.
لطفا راهنمایی کنید.
Notice: Undefined variable: NumberTicket in C:\xampp\htdocs\t2\user\new-ticket.php on line 94
<!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 href="../style.css" rel="stylesheet" type="text/css" />
<title>سیستم تیکت پشتیبانی - ارسال تیکت جدید</title>
</head>
<body dir="rtl" bgcolor="#FFFFCC">
<div class="content" style="background-color:#FFC; border:none;"><a href="list-ticket.php"><input type="button" style="height:50px; width:200px;" value="لیست تیکت های ارسال شده" /></a></div>
<div class="content">
<form method="post">
<table>
<tr>
لطفا واحد سازمانی خود را به دقت انتخاب نمایید:
<br>
<select name="organ">
<option value="1">اداری</option>
<option value="2">مالی</option>
<option value="3">آموزش</option>
</select>
</tr>
<br>
<tr>
: نوع خدمات مورد درخواست
</tr>
<tr>
<br>
<input type="checkbox" name="request[]" value="internet">Internet
<br>
<input type="checkbox" name="request[]" value="software">Software
<br>
<input type="checkbox" name="request[]" value="hardware">Harware
<br>
<input type="checkbox" name="request[]" value="network">Network
<br>
<input type="checkbox" name="request[]" value="trouble">Troubleshooting
</tr>
<tr>
<td> سایر موارد با توضیحات کامل: </td>
</tr>
<tr>
<td>عنوان</td>
<td><input type="text" name="txt_subject"/></td>
</tr>
<tr>
<td>پیام</td>
<td><textarea name="txt_message"></textarea></td>
</tr>
</table>
<center>
<input class="button" name="submit" type="submit" value="ارسال" />
<input class="button" type="reset" value="پاک کردن" />
</center>
<br />
</form>
</div>
</body>
</html>
<?php
if (isset($_POST['submit'])){
include ('../connection.php');
$subject = $_POST['txt_subject'];
$message = $_POST['txt_message'];
$organ = $_POST['organ'];
$checkbox1 = $_POST['request'];
$chk="";
foreach($checkbox1 as $chk1)
{
$chk.= $chk1.",";
}
session_start();
$email = $_SESSION['email'];
$sql = "select NumberTicket from ticket where email='".$email."' Order By NumberTicket " ;
$q = $connection -> query($sql);
$q -> setFetchMode(PDO::FETCH_ASSOC);
while($r = $q->Fetch()):
$NumberTicket = $r['NumberTicket'];
endwhile;
$NumberTicket++;
$sql = "INSERT INTO ticket(NumberTicket,email,subject,message,organ,re quest) VALUES ('$NumberTicket','$email','$subject','$message','$ organ','$chk') " ;
$connection -> exec($sql);
?>
<script type="text/javascript">alert("پیام شما با موفقیت ارسال شد")</script>
<?php
}
?>
نقل قول: پیغام خطای Undefined variable:
سلام
مشکل مربوط به نتیجه کوئری خط ۸۸ می باشد که خالی می باشد در نتیجه دستورات داخل حلقه while اجرا نمی شود در نتیجه دستور خط ۹۲ (جایی که متغییر خود را تعریف کرده اید) نیز اجرا نمی شود. لذا کوئری و کدهای خود را بررسی کنید و مشکل را رفع کنید.
سپس قبل از دستور while متغیر خود را مقداردهی اولیه کنید تا در هر شرایطی دیگر با این خطا مواجه نشوید.
$NumberTicket = 0;
برای یافتن بزرگترین شماره تیکت برای یک ایمیل خاص بهتر است از کوئری زیر استفاده کنید:
select max(NumberTicket) from ticket where email='".$email."';
1 ضمیمه
نقل قول: پیغام خطای Undefined variable:
نقل قول:
نوشته شده توسط
ali_sed
سلام
مشکل مربوط به نتیجه کوئری خط ۸۸ می باشد که خالی می باشد در نتیجه دستورات داخل حلقه while اجرا نمی شود در نتیجه دستور خط ۹۲ (جایی که متغییر خود را تعریف کرده اید) نیز اجرا نمی شود. لذا کوئری و کدهای خود را بررسی کنید و مشکل را رفع کنید.
سپس قبل از دستور while متغیر خود را مقداردهی اولیه کنید تا در هر شرایطی دیگر با این خطا مواجه نشوید.
$NumberTicket = 0;
برای یافتن بزرگترین شماره تیکت برای یک ایمیل خاص بهتر است از کوئری زیر استفاده کنید:
select max(NumberTicket) from ticket where email='".$email."';
ممنون از پاسخگویی شما. اما مشکل با راه حل هایی که گفتین حل نشد.
یک مشکل بزرگتر دیگه ای که هم هست اینه که از یه جایی (که دقیق نمیدونم کجاست اما به نظرم وقتی کاربر admin1 لوگین میکنه) فرد user1 تیکت رو ثبت میکنه ولی به اسم یوزر admin1 وارد دیتابیس میشه. اینم تصویرشضمیمه 150607
نقل قول: پیغام خطای Undefined variable:
اگر دوباره همان خطای اول را میدهد. لطفا متن خطا به همراه کد اصلاح شده را بصورت کامل قرار دهید.
در مورد مشکل دوم با توجه به اینکه شما ایمیل اپراتور را از سشن دریافت می کنید. مشکلی در بخش لاگین و لاگ اوت دارید. وقتی که کاربر لاگ اوت می کند محتوای سشن را کامل پاک کنید. و زمانی که لاگین می کند مطمئن شوید که ایمیل را به درستی در سشن ذخیره کرده اید.
نقل قول: پیغام خطای Undefined variable:
نقل قول:
نوشته شده توسط
ali_sed
اگر دوباره همان خطای اول را میدهد. لطفا متن خطا به همراه کد اصلاح شده را بصورت کامل قرار دهید.
در مورد مشکل دوم با توجه به اینکه شما ایمیل اپراتور را از سشن دریافت می کنید. مشکلی در بخش لاگین و لاگ اوت دارید. وقتی که کاربر لاگ اوت می کند محتوای سشن را کامل پاک کنید. و زمانی که لاگین می کند مطمئن شوید که ایمیل را به درستی در سشن ذخیره کرده اید.
ممنونم از راهنمایی شما با توابع unset و session_destroy مشکل حل شد. اما اگر دو کاربر همزمان بخوان از یک مرورگر توی یه کامپیوتر استفاده کنن. این مشکل وجود داره. برای اون چه راه حلی هست؟
نقل قول: پیغام خطای Undefined variable:
نقل قول:
نوشته شده توسط
programregister
ممنونم از راهنمایی شما با توابع unset و session_destroy مشکل حل شد. اما اگر دو کاربر همزمان بخوان از یک مرورگر توی یه کامپیوتر استفاده کنن. این مشکل وجود داره. برای اون چه راه حلی هست؟
خب مسلما دو کاربر نمی توانند از یک مرورگر لاگین کنند. چون session id در کوکی ذخیره می شود و لاگین نفر دوم منجر به خروج کاربر قبلی می شود.