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

نام تاپیک: دریافت خطا در بخش آپدیت فرم(php)

  1. #1

    دریافت خطا در بخش آپدیت فرم(php)

    سلام
    وقت بخیر
    وقتی وارد بخش آپدیت فرم خودم میشم و کنترل یو میگیرم و سورس کدرارو نگاه میکنم با این نوع خطا روبرو میشم:
    Trying to access array offset on value of type null in
    البته آپدیت انجام میشه ولی ممنون میشم کمک کنید مشکلشو برطرف کنم..
    تصاویر پایینو ببنید ممنون میشم کد هایی که باید اصلاح بشنو بهم بگید
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg 1.jpg‏ (69.6 کیلوبایت, 10 دیدار)
    • نوع فایل: jpg 2.jpg‏ (65.0 کیلوبایت, 10 دیدار)
    • نوع فایل: png 3.png‏ (70.9 کیلوبایت, 10 دیدار)
    • نوع فایل: png 4.png‏ (71.2 کیلوبایت, 10 دیدار)

  2. #2
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: دریافت خطا در بخش آپدیت فرم(php)

    وقتی از دیتابیس میخونی چیزی رو اول چک کن که موفق بوده یا نه اگه موفق نبود یا چیزی رو برنگردوند طبیعتا دیگه نمیتونی نمایشی بدی ولی شما چشم بسته داری فرض میکنی درسته و از دیتبایس در اومده بعد داری نمایش میدی
    $item['email']


    بجای عکس هم کد بزار که من بتونم کپی کنم بهت بگم منظورم اینجاست

    همون عکس اول $item رو میگم

  3. #3

    نقل قول: دریافت خطا در بخش آپدیت فرم(php)

    نقل قول نوشته شده توسط plague مشاهده تاپیک
    وقتی از دیتابیس میخونی چیزی رو اول چک کن که موفق بوده یا نه اگه موفق نبود یا چیزی رو برنگردوند طبیعتا دیگه نمیتونی نمایشی بدی ولی شما چشم بسته داری فرض میکنی درسته و از دیتبایس در اومده بعد داری نمایش میدی
    $item['email']


    بجای عکس هم کد بزار که من بتونم کپی کنم بهت بگم منظورم اینجاست

    همون عکس اول $item رو میگم
    سلام ممنون
    خدمت شما

    in editform.php
    <?php
    include_once "InsertDataDatabases.php";
    $id = (isset($_POST['id']) ? $_POST['id'] : '');
    $query = InsertDataDatabases::SelectDateId($id);
    $item = [];
    $item = mysqli_fetch_assoc($query);
    ?>
    <form action="updatedata.php" method="post" enctype="multipart/form-data">
    <?php CSRF::CreateToken(); ?>
    <input type="text" name="id" value="<?php echo $item['id']; ?>"><br>
    <label for="name">Name:</label>
    <input type="text" name="name" value="<?php echo $item['name']; ?>"><br><br>
    <label for="email">Email:</label>
    <input type="email" name="email" value="<?php echo $item['email']; ?>"><br><br>
    <input type="file" name="image" value="images/slider/<?php echo $item['image']; ?>"><br>
    <img src="images/slider/<?php echo $item['image']; ?> " width="50px" height="50px" alt=''><br>
    <input type="submit" name="updatebtn" value="UPDATE">

    </form>


    in updatedata.php
    <?php
    include_once "InsertDataDatabases.php";
    include_once "DataBase.php";
    include_once "CSRF.php";
    $con = DataBase::ConnectOpen();
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (isset($_POST['updatebtn'])) {
    if (CSRF::ValidateToken($_POST["token"])) {
    $id = htmlentities(mysqli_real_escape_string($con, $_POST['id']));
    $name = htmlentities(mysqli_real_escape_string($con, $_POST['name']));
    $email = htmlspecialchars(mysqli_real_escape_string($con, filter_var(trim($_POST['email']), FILTER_SANITIZE_EMAIL)));
    $image = $_FILES['image'];
    InsertDataDatabases::UpdateData($id, $name, $email, $image);
    mysqli_close($con);
    header("Location: index.php");
    }
    }
    }

    in InsertDataDatabases.php

    public static function SelectDateId($id)
    {
    self::ConnectDataBase();
    return mysqli_query(self::$con, "SELECT * FROM user WHERE id = '{$id}'");

    }

    public static function UpdateData($id, $name, $email, $image)
    {
    self::ConnectDataBase();
    $path = "images/slider";
    $image_new = self::ImageUpload($image, $path);
    if (empty($image_new)) {
    $query = self::EditDataId($id);
    $item = [];
    $item = mysqli_fetch_assoc($query);
    $image_new = $item['image'];
    }
    mysqli_query(self::$con, "update user set name = '$name', email = '$email', image = '$image_new' where id = '$id'");
    }



  4. #4
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: دریافت خطا در بخش آپدیت فرم(php)

    این رو var_dump کن ببین چی داخلشه


    $item = mysqli_fetch_assoc($query);
    var_dump($item);

  5. #5

    نقل قول: دریافت خطا در بخش آپدیت فرم(php)

    نقل قول نوشته شده توسط plague مشاهده تاپیک
    این رو var_dump کن ببین چی داخلشه


    $item = mysqli_fetch_assoc($query);
    var_dump($item);
    یه آرایه نشون میده که پره:
    کد HTML:
    array(4) {
      ["id"]=>
      string(2) "33"
      ["name"]=>
      string(17) "My Name"
      ["email"]=>
      string(18) "inn.arco@gmail.com"
      ["image"]=>
      string(17) "Wallpaper (1).jpg"
    }

  6. #6
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: دریافت خطا در بخش آپدیت فرم(php)

    آیا در همین صفحه editform.php اررور ها رو میبینید ؟
    آیا وردامپ کردین توش آرایه بود بازم همون اررور ها توی فرم بودن یا نه ؟

  7. #7

    نقل قول: دریافت خطا در بخش آپدیت فرم(php)

    نقل قول نوشته شده توسط plague مشاهده تاپیک
    آیا در همین صفحه editform.php اررور ها رو میبینید ؟
    آیا وردامپ کردین توش آرایه بود بازم همون اررور ها توی فرم بودن یا نه ؟
    ارور ها فقط داخل بخش سورس کد ها قابل مشاهده هست و تمام فیلدها ارور دارن البته اگه از htmlentities استفاده نکنم داخل فیلد ها با همون خطا پر میشه

  8. #8
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: دریافت خطا در بخش آپدیت فرم(php)

    میدونم ... میگم آیا وقتی که var_dump کردی و دیدی توش آرایه بود توی سورس هم این اررور ها رو میگیری ؟
    من فکر میکنم که وقتی چیزی از دیتابیس نمیخونه و null برمیگردونه این اررور رو میگری برای همین گفتم var_dump کن که وقتی اررور هست نگاه کنی توی آرایه چی بوده

    ورژن php روهم دستکاری کن بعضی جاها دیدم با 7.4 این مشکل رو داشتن

  9. #9

    نقل قول: دریافت خطا در بخش آپدیت فرم(php)

    نقل قول نوشته شده توسط plague مشاهده تاپیک
    میدونم ... میگم آیا وقتی که var_dump کردی و دیدی توش آرایه بود توی سورس هم این اررور ها رو میگیری ؟
    من فکر میکنم که وقتی چیزی از دیتابیس نمیخونه و null برمیگردونه این اررور رو میگری برای همین گفتم var_dump کن که وقتی اررور هست نگاه کنی توی آرایه چی بوده

    ورژن php روهم دستکاری کن بعضی جاها دیدم با 7.4 این مشکل رو داشتن
    بله متوجه شدم من حتی ورژن php رو به 5.6 تغییر دادم بازم همین شکل بود
    یعنی با اینکه ارایه پر بهم برمیگردونه ولی توی سورس کد داخل فیلد ها همون خطارو نشون میده و این از عجایبی هست که کلافم کرده :)

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

  1. طراحی سایت ادمین برای درست کردن سایت های پویا مثل سایت ساز؟
    نوشته شده توسط haniyehghassami در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: پنج شنبه 23 اردیبهشت 1395, 10:06 صبح
  2. پاسخ: 3
    آخرین پست: چهارشنبه 02 اردیبهشت 1394, 12:02 عصر
  3. سوال: مگر 8 بیت یک بایت نمی شود پس چگونه در این الگوریتم تعداد بیت ها یک بایت میشوند؟
    نوشته شده توسط complexcoding در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: دوشنبه 14 فروردین 1391, 15:21 عصر

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

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