+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 پاسخ 210 بازدید
0 امتیاز
1 پاسخ 159 بازدید
+1 امتیاز
2 پاسخ 256 بازدید
0 امتیاز
0 پاسخ 255 بازدید
0 امتیاز
1 پاسخ 1.2هزار بازدید
0 امتیاز
0 پاسخ 258 بازدید
0 امتیاز
0 پاسخ 223 بازدید
0 امتیاز
1 پاسخ 252 بازدید
...