PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : کمک در نوشتن کد php مبتدی



ppscoir
April 7th, 2017, 14:13
سلام
وقت بخیر
من تا اینجای کد رو نوشتم یه ماشین حساب ساده
میخواستم بدونم چطور میتونم کارهای زیر هم به کد اضافه کنم
1-در input که به نام opt می باشد فقط 6 عملیات ریاضی + - / % *^ بشه وارد کرد و هر چی غیر اینا بود خطا بده
2-تقسیم بر صفر هم خطا بدهد حتما
3-عملیات های ریاضی بین دوعدد هم چاپ کنه زیرش


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>tamrin 2</title>
</head>
<body>
<form action="?" method="post">
<lable for"number1">عدد اول</lable>
<input type="text" name="number1"><br><br>
<lable for"opt">عملیات</lable>
<input type="text" name="opt" ><br><br>
<lable for"number2">عدد دوم</lable>
<input type="text" name="number2"><br><br>
<input type="submit" name="btn_run" value="Grade"><br><br>
</form>
<?php
if(isset($_POST['btn_run']))
{
$num1 = $_POST['number1'];
$num2 = $_POST['number2'];
$opt = $_POST['opt'];

if (empty($_POST["number1"]) && $num1 != '0')
{
print "خطا ! عدد اول را وارد نکردید .";
}
else if (!is_numeric($_POST["number1"]))
{
print "خطا ! فقط اعداد مجاز می باشد .";
}
else if (empty($_POST["number2"]) && $num2 != '0')
{
print "خطا ! عدد دوم را وارد نکردید .";
}
else if (!is_numeric($_POST["number2"]))
{
print "خطا ! فقط اعداد مجاز می باشد .";
}
else if (empty($_POST["opt"]) && $opt != '0')
{
print "خطا ! عملیات ریاضی مورد نظر را وارد نکردید .";
}
else if (empty($_POST["opt"]) && $opt != '0')
{
print "خطا ! عملیات ریاضی مورد نظر را وارد نکردید .";
}
}
?>
</body>
</html>

yastheme
April 7th, 2017, 14:58
سلام؛
روش درستش این نیست که عملیات ریاضی رو خودش وارد کنه، عمل درست اینه دراپ لیست بزاری و شرط بزاری ، مثلا:



<select>
<option value="1">*</option>
<option value="2">/</option>
<option value="3">+</option>
<option value="4">-</option>
</select>



حالا توی php شرط بزار:


if($opt==1){
$res=$num1*$num2;
}elseif($opt==2){
if($num2==0)
$res="تقسیم بر صفر امکان پذیر نیست"
else
$res=$num1/$num2;
}elseif($opt==3){
$res=$num1+$num2;
}
elseif($opt==4){
$res=$num1-$num2;
}

echo $res;

ppscoir
April 7th, 2017, 15:37
سلام؛
روش درستش این نیست که عملیات ریاضی رو خودش وارد کنه، عمل درست اینه دراپ لیست بزاری و شرط بزاری ، مثلا:



<select>
<option value="1">*</option>
<option value="2">/</option>
<option value="3">+</option>
<option value="4">-</option>
</select>



حالا توی php شرط بزار:


if($opt==1){
$res=$num1*$num2;
}elseif($opt==2){
if($num2==0)
$res="تقسیم بر صفر امکان پذیر نیست"
else
$res=$num1/$num2;
}elseif($opt==3){
$res=$num1+$num2;
}
elseif($opt==4){
$res=$num1-$num2;
}

echo $res;




تشکر دوست عزیز

MJmoonwalk
April 7th, 2017, 21:00
برای اینکار باید رشته ورودی رو به آرایه تبدیل کنی و حرف به حرف بررسی کنی و به اولویت عملگرها محاسبه رو انجام بدی و نتیجه نهایی رو چاپ کنی. نیازی به کنترل های اضافی هم نیست. با جاوا میتونی انجام بدی که نیازی به ارسال و دریافت php نباشه.