+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 پاسخ 342 بازدید
0 امتیاز
1 پاسخ 261 بازدید
+1 امتیاز
2 پاسخ 395 بازدید
0 امتیاز
0 پاسخ 395 بازدید
0 امتیاز
1 پاسخ 7.2هزار بازدید
0 امتیاز
0 پاسخ 291 بازدید
0 امتیاز
0 پاسخ 324 بازدید
0 امتیاز
1 پاسخ 338 بازدید
...