PDA

View Full Version : مبتدی: خطا در خروجی PHP



scofield007
دوشنبه 18 آذر 1392, 12:10 عصر
سلام دوستان
خسته نباشید

بنده در برنامه زیر هنگامیکه دکمه calculate رو فشار میدم با اینکه خروجی برنامه صحیح هست ولی برنامه قبل از نشان دادن خروجی خط هایی مبنی بر وجود خطا در برنامه نشان می دهد که بنده حدس مسزنم خطای نحوی باشدواز دوستان حرفه ای خواهشمندم علت این خطا رو توضیح بدهند.ممنون




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Calculate</title>
</head>

<body>
<form method="post" action="calculate.php">
Value1:<input type="text" name="val1" size="10"><br />
Value2:<input type="text" name="val2" size="10"><br />
<b>Calculatin:</b><br />
<input type="radio" name="cal" value="add" />Add<br />
<input type="radio" name="cal" value="sub" />Sub<br />
<input type="radio" name="cal" value="mul" />Mul<br />
<input type="radio" name="cal" value="div" />Div<br />
<input type="submit" name="submit" value="calculate" /><br />
</body>
</html>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Calculate</title>
</head>

<body>
<?php
if (($_POST[val1] == "") || ($_POST[val2] == "") || ($_POST[cal] == ""))
{
header ("Location: calculate.html");
exit;
}
if ($_POST[cal] == "add")
{
$result = $_POST[val1] + $_POST[val2];
}
else if ($_POST[cal] == "sub")
{
$result = $_POST[val1] - $_POST[val2];
}
else if ($_POST[cal] == "mul")
{
$result = $_POST[val1] * $_POST[val2];
}
else if ($_POST[cal] == "div")
{
$result = $_POST[val1] / $_POST[val2];
}
echo $result;
?>
</body>
</html>

با تشکر

MRmoon
دوشنبه 18 آذر 1392, 13:56 عصر
val1 و val2 و .. که ایندکس های متغیر $_POST هستن رو در ' قرار بدید

scofield007
دوشنبه 18 آذر 1392, 18:06 عصر
val1 و val2 و .. که ایندکس های متغیر $_POST هستن رو در ' قرار بدید

بیرحمت این تغییرات روی توی فایل بزارید تا متوجه منظورتون بشم

MRmoon
دوشنبه 18 آذر 1392, 18:07 عصر
مثلا

$_POST[cal]

رو تغییر بدید به


$_POST['cal']

scofield007
دوشنبه 18 آذر 1392, 18:35 عصر
مثلا برای عملگر ضرب این خطا رو میده
otice: Use of undefined constant val1 - assumed 'val1' in C:\xampp\htdocs\macromedia\test\calculate.php on line 10

Notice: Use of undefined constant val2 - assumed 'val2' in C:\xampp\htdocs\macromedia\test\calculate.php on line 10

Notice: Use of undefined constant cal - assumed 'cal' in C:\xampp\htdocs\macromedia\test\calculate.php on line 10

Notice: Use of undefined constant cal - assumed 'cal' in C:\xampp\htdocs\macromedia\test\calculate.php on line 15

Notice: Use of undefined constant cal - assumed 'cal' in C:\xampp\htdocs\macromedia\test\calculate.php on line 19

Notice: Use of undefined constant cal - assumed 'cal' in C:\xampp\htdocs\macromedia\test\calculate.php on line 23

Notice: Use of undefined constant val1 - assumed 'val1' in C:\xampp\htdocs\macromedia\test\calculate.php on line 25

Notice: Use of undefined constant val2 - assumed 'val2' in C:\xampp\htdocs\macromedia\test\calculate.php on line 25

scofield007
دوشنبه 18 آذر 1392, 18:50 عصر
مثلا

$_POST[cal]

رو تغییر بدید به


$_POST['cal']

خیلی ممنونم از شما.مشکلم حل شد.فقط اینکه آیا این حالت برای php های جدید هست؟
فک نکنم تو نسخه های قبلی php لازم باشه داخل آکلاد علامت ' بزاریم؟