+1 امتیاز
قبل در برنامه نویسی توسط (922 امتیاز)

در تکه کد زیر به خطای Undefined index برخورد می کنم دلیل چیست؟

   <?php
    if(isset($_POST['submit'])) {
    $to = "to@to.com";
    $subject = "subject";
    $name_field = $_POST['name'];
    $email_field = $_POST['email'];
    }

این خطا در خط 6 ظاهر می شود.

2 پاسخ

+2 امتیاز
قبل توسط (164 امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

اگه در خط 6 هست به این معنی هست که index تعریف نشده یعنی کلمه email در متغییر $_POST بعنوان indexنیست.به
بیان بهتر فرمی که input کرده برای ایمیل یا ID و یا name المنت input مربوط به email با نام یا id ,ایمیل (email) که متغیر پست توسط php قرار بوده index کنه نیست.

چه باید کرد :

  1. برید فرم ازنظر تگ name و id برای input ایمیل چک کنید.سعی کنید از نظر حساسیت به حروف کوچک بزرک هم چک کنید.
  2. هدری که توسط فرم پست میشه رو هم توسط ابزار های مرورگرتان مثل firebug چک کنید.ببینید اساسآ email هم پست میشه.
+1 امتیاز
قبل توسط (1.1هزار امتیاز)

این خطا به این دلیل است که email در درخواست پست ارسالی از سمت مرورگر وجود ندارد. پیشنهاد می کنم با استفاده از تابع isset چک کنید که آیا پارامتر email در درخواست پست ارسال شده قرار دارد یا خیر:

if(isset($_POST['email']))){
  $email_field = $_POST['email'];
}

سوالات مشابه

0 امتیاز
1 پاسخ 346 بازدید
0 امتیاز
1 پاسخ 269 بازدید
+1 امتیاز
2 پاسخ 404 بازدید
0 امتیاز
0 پاسخ 399 بازدید
0 امتیاز
1 پاسخ 7.3هزار بازدید
0 امتیاز
0 پاسخ 296 بازدید
0 امتیاز
0 پاسخ 330 بازدید
0 امتیاز
1 پاسخ 347 بازدید
...