PDA

View Full Version : سوال: چه زمانی در $_post عبارت داخل براکت در " " قرار می گیرد ?



babak1
سه شنبه 08 بهمن 1392, 12:34 عصر
سلام :


$_post[val1]=" " OR $_post["val1"]=" "


چه تفاوتی دارد؟ چه زمانی عبارت داخل براکت در " " قرار می گیرد و چه زمانی قرار نمی گیرد ؟
ممنون.

MMSHFE
سه شنبه 08 بهمن 1392, 12:40 عصر
اولاً POST_$ درسته نه post_$ و ثانیاً همیشه باید کوتیشن تک یا جفت رو بگذارین. اگه نگذارین، PHP اول دنبال ثابت به اسم val1 میگرده و بعد اگه نبود، بعنوان رشته تعبیر میکنه ولی یک پیغام هشدار هم تولید میکنه که البته توی هاستها اکثراً دیده نمیشه چون مخفی کردن.

danial.saeedi
سه شنبه 08 بهمن 1392, 16:29 عصر
این روش کد نوشتن کاملا اشتباهه.اگه بخوای یک داده ی post رو پردازش کنید باید اینجوری بنویسید:

$value=$_POST["val1"]
در ضمن من نفهمیدم چرا کد رو این جوری نوشتید!

MMSHFE
سه شنبه 08 بهمن 1392, 16:42 عصر
اگه منظورتون OR وسط کدشون هست، منظورشون این نبوده که اینطوری کد بنویسیم. منظورشون همون «یا» هست. یعنی اولی درسته یا دومی؟ اما از این جهت که معمولاً مقادیر POST_$ رو میخونیم نه اینکه مستقیماً توی اونها چیزی ذخیره کنیم و باید توسط کاربر با Submitشدن فرم پر بشن، حق با شماست.

babak1
سه شنبه 08 بهمن 1392, 22:19 عصر
من منظورم از OR منطقی نبود .منظورم همون یا بود. بعدش عذز میخوام منظورم == بود نه = .
در ضمن من دیدم بدون " " هم کار میکنه شما امتحان کنید. الان من منظورم از Val در واقع نام یک Text box هستش.
ممنون.

MMSHFE
چهارشنبه 09 بهمن 1392, 00:44 صبح
بله میدونم بدون کوتیشن هم کار میکنه ولی همونطور که گفتم، PHP بعد از اینکه نمیتونه ثابت با اون نام پیدا کنه، اون رو بعنوان یک رشته تفسیر میکنه ولی یک هشدار تولید میکنه. بنابراین بهتره همون اول، کار رو اصولی انجام بدین و کوتیشنها رو بگذارین تا هم PHP رو به دردسر نندازین و هم Performance کدتون بالاتر بره. ضمناً اگه توی عبارتهای رشته ای از متغیری استفاده نکردین، بهتره توی کوتیشن تک بگذارین چون پردازش نمیشه و سرعت اسکریپتتون بیشتر میشه.