PDA

View Full Version : سوال: مشکل با $_POST["ID"]



ameri110
دوشنبه 15 خرداد 1391, 22:35 عصر
سلام دوستان
من یه صفحه دارم که توش یه فرمه و متد هم پسته اکشن هم خوده صفحه
موقع گرفتن پارامتر ها توسط

$_POST["ID"]
در صورتی که مقداری موجود نباشه این ارور رو میگیرم:

Notice: Undefined index: ID in C:\Users\ahmad\Documents\xampp\htdocs\sokhan\admin \students.php on line 78
کد هم اینه :

echo '
<form action="/sokhan/admin/students.php" method="post">
<table>
<tr>
<td><input type="text" id="ID" name="ID" /></td>
<td><input type="text" id="code" name="code" /></td>
<td><input type="text" id="username" name="username" /></td>
<td><input type="text" id="password" name="password" /></td>
<td><input type="text" id="f_name" name="f_name" /></td>
<td><input type="text" id="l_name" name="l_name" /></td>
<td><input type="text" id="dob" name="dob" /></td>
<td><input type="text" id="dor" name="dor" /></td>
<td><input type="submit" value="add student" name="btn" /></td>
</tr>
</table>
</form>
';
mysql_free_result($result);
if (is_object($_POST["ID"]))
echo $_POST["ID"] . "<br />";
echo $_POST["code"] . "<br />";
echo $_POST["username"] . "<br />";
echo $_POST["password"] . "<br />";
echo $_POST["f_name"] . "<br />";
echo $_POST["l_name"] . "<br />";
echo $_POST["dob"] . "<br />";
echo $_POST["dor"] . "<br />";

Beginner2013
دوشنبه 15 خرداد 1391, 22:43 عصر
سلام
شما باید اول با استفاده از isset() چک کنید که آیا چیزی ارسال شده یا نه اگه ارسال شده بود ازش استفاده کنید.


if(isset($_POST["id"]))
{
//do something...
}

persian-boy
دوشنبه 15 خرداد 1391, 23:24 عصر
یا قبلش یک @ قرار بدید

H:Shojaei
سه شنبه 16 خرداد 1391, 00:13 صبح
با سلام
دوست عزيز اگه action فرم خود صفحه هست ميتوني خالي بزاريش action=""
يا به اين صورت action="<?php ['SERVER['HTTP_HOST_$ ?>"
موفق باشيد

ameri110
سه شنبه 16 خرداد 1391, 14:34 عصر
یا قبلش یک @ قرار بدید
میشه دقیق تر توضیح بدید ؟

ameri110
سه شنبه 16 خرداد 1391, 15:34 عصر
راستی
من این رو نوشتم:

if (isset($_POST["l_name"])) { echo $_POST["l_name"]; echo ', '; }
ولی وقتی l_name تعریف نشده ', ' رو نشون میده !!

behzadkhatari
سه شنبه 16 خرداد 1391, 19:11 عصر
راستی
من این رو نوشتم:

if (isset($_POST["l_name"])) { echo $_POST["l_name"]; echo ', '; }
ولی وقتی l_name تعریف نشده ', ' رو نشون میده !!

تابع isset چک میکنه آیا آرایه ی $_POST دارای کلیدی به نام l_name هست یا نه
کد رو اینجوری بنویسید
if (isset($_POST["l_name"])) echo $_POST["l_name"]; else echo ', ';

ameri110
سه شنبه 16 خرداد 1391, 20:40 عصر
نه دادا
ببین
من وقتی اون کد رو می نویسم ', ' به هر حال نمایش داره میشه
یعنی اگه l_name وجود داشته باشه نشون میده اگر هم نباشه باز نشون میده
حالا من می خواهم هر دو دستور وقتی اجرا بشن که شرط برقرار باشه
:قلب:

H:Shojaei
سه شنبه 16 خرداد 1391, 20:53 عصر
با سلام
فكر كنم منظورتون اينه:


if (isset($_POST["l_name"]&&!empty($_POST["l_name"]))) { echo $_POST["l_name"]; echo ', '; }