نمایش نتایج 1 تا 6 از 6

نام تاپیک: پیغام خطای Undefined variable:

  1. #1

    Question پیغام خطای 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
    }
    ?>




  2. #2

    نقل قول: پیغام خطای Undefined variable:

    سلام


    مشکل مربوط به نتیجه کوئری خط ۸۸ می باشد که خالی می باشد در نتیجه دستورات داخل حلقه while اجرا نمی شود در نتیجه دستور خط ۹۲ (جایی که متغییر خود را تعریف کرده اید) نیز اجرا نمی شود. لذا کوئری و کدهای خود را بررسی کنید و مشکل را رفع کنید.

    سپس قبل از دستور while متغیر خود را مقداردهی اولیه کنید تا در هر شرایطی دیگر با این خطا مواجه نشوید.

    $NumberTicket = 0;


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


    select max(NumberTicket) from ticket where email='".$email."';

  3. #3

    نقل قول: پیغام خطای Undefined variable:

    نقل قول نوشته شده توسط ali_sed مشاهده تاپیک
    سلام


    مشکل مربوط به نتیجه کوئری خط ۸۸ می باشد که خالی می باشد در نتیجه دستورات داخل حلقه while اجرا نمی شود در نتیجه دستور خط ۹۲ (جایی که متغییر خود را تعریف کرده اید) نیز اجرا نمی شود. لذا کوئری و کدهای خود را بررسی کنید و مشکل را رفع کنید.

    سپس قبل از دستور while متغیر خود را مقداردهی اولیه کنید تا در هر شرایطی دیگر با این خطا مواجه نشوید.

    $NumberTicket = 0;


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


    select max(NumberTicket) from ticket where email='".$email."';
    ممنون از پاسخگویی شما. اما مشکل با راه حل هایی که گفتین حل نشد.
    یک مشکل بزرگتر دیگه ای که هم هست اینه که از یه جایی (که دقیق نمیدونم کجاست اما به نظرم وقتی کاربر admin1 لوگین میکنه) فرد user1 تیکت رو ثبت میکنه ولی به اسم یوزر admin1 وارد دیتابیس میشه. اینم تصویرشCapture9.JPG

  4. #4

    نقل قول: پیغام خطای Undefined variable:

    اگر دوباره همان خطای اول را میدهد. لطفا متن خطا به همراه کد اصلاح شده را بصورت کامل قرار دهید.

    در مورد مشکل دوم با توجه به اینکه شما ایمیل اپراتور را از سشن دریافت می کنید. مشکلی در بخش لاگین و لاگ اوت دارید. وقتی که کاربر لاگ اوت می کند محتوای سشن را کامل پاک کنید. و زمانی که لاگین می کند مطمئن شوید که ایمیل را به درستی در سشن ذخیره کرده اید.

  5. #5

    نقل قول: پیغام خطای Undefined variable:

    نقل قول نوشته شده توسط ali_sed مشاهده تاپیک
    اگر دوباره همان خطای اول را میدهد. لطفا متن خطا به همراه کد اصلاح شده را بصورت کامل قرار دهید.

    در مورد مشکل دوم با توجه به اینکه شما ایمیل اپراتور را از سشن دریافت می کنید. مشکلی در بخش لاگین و لاگ اوت دارید. وقتی که کاربر لاگ اوت می کند محتوای سشن را کامل پاک کنید. و زمانی که لاگین می کند مطمئن شوید که ایمیل را به درستی در سشن ذخیره کرده اید.
    ممنونم از راهنمایی شما با توابع unset و session_destroy مشکل حل شد. اما اگر دو کاربر همزمان بخوان از یک مرورگر توی یه کامپیوتر استفاده کنن. این مشکل وجود داره. برای اون چه راه حلی هست؟

  6. #6

    نقل قول: پیغام خطای Undefined variable:

    نقل قول نوشته شده توسط programregister مشاهده تاپیک
    ممنونم از راهنمایی شما با توابع unset و session_destroy مشکل حل شد. اما اگر دو کاربر همزمان بخوان از یک مرورگر توی یه کامپیوتر استفاده کنن. این مشکل وجود داره. برای اون چه راه حلی هست؟
    خب مسلما دو کاربر نمی توانند از یک مرورگر لاگین کنند. چون session id در کوکی ذخیره می شود و لاگین نفر دوم منجر به خروج کاربر قبلی می شود.


تاپیک های مشابه

  1. سوال: خطای Undefined variable
    نوشته شده توسط mosi2007 در بخش PHP
    پاسخ: 1
    آخرین پست: جمعه 21 آبان 1395, 18:06 عصر
  2. سوال: مشکل Undefined variable
    نوشته شده توسط mygandolf در بخش PHP
    پاسخ: 3
    آخرین پست: چهارشنبه 21 بهمن 1394, 22:34 عصر
  3. ارور Undefined variable در کلاس اس ام اس من
    نوشته شده توسط amin7x در بخش PHP
    پاسخ: 2
    آخرین پست: شنبه 28 آذر 1394, 13:59 عصر
  4. سوال: ارور Undefined variable
    نوشته شده توسط lilac8 در بخش PHP
    پاسخ: 5
    آخرین پست: چهارشنبه 25 اردیبهشت 1392, 00:13 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •