+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 پاسخ 454 بازدید
0 امتیاز
1 پاسخ 395 بازدید
+1 امتیاز
2 پاسخ 530 بازدید
0 امتیاز
0 پاسخ 503 بازدید
0 امتیاز
1 پاسخ 7.5هزار بازدید
0 امتیاز
0 پاسخ 407 بازدید
0 امتیاز
0 پاسخ 475 بازدید
0 امتیاز
1 پاسخ 459 بازدید
...