+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 پاسخ 198 بازدید
0 امتیاز
1 پاسخ 151 بازدید
+1 امتیاز
2 پاسخ 248 بازدید
0 امتیاز
0 پاسخ 250 بازدید
0 امتیاز
1 پاسخ 1.1هزار بازدید
0 امتیاز
0 پاسخ 255 بازدید
0 امتیاز
0 پاسخ 215 بازدید
0 امتیاز
1 پاسخ 245 بازدید
...