PDA

View Full Version : یک سوال ساده : جمع چند عدد در php



seyed ehsan
جمعه 06 تیر 1393, 17:32 عصر
سلام دوستان .
من تازه با ای اچ پی دارم آشنا میشم و از طریف کتاب دارم اون رو یاد می گیرم . یه صورت مسئله هست که با html یه فرم درست کنیم که 3 تا textbox و یه دکمه داره . هر کدوم از تکست باکس ها برای یک کتاب تعریف شده و قراره کاربر تعداد هر کتاب را در باکس مربوط به خودش تایپ کنه . در پایان با توجه به قیمت هر کتاب که 1000 تومن هست همه اعداد با هم جمع بشه و در 1000 ضرب بشه و عدد نهایی نمایش داده بشه .
من فرم را ر html به این صورت ساختم :



<html>
<head> <title>Untitled</title></head>
<body> <form method="post" action="home.php"> </p><input type="text" name="txtp">pascal </p><input type="text" name="txtv">visual </p><input type="text" name="txtp">program </p><input type="submit" name="submit"> </form>
</body>
</html>

سپس یه فایل دیگه با فرمت php نوشتم به شکل زیر :


<?php if(isset($_post['submit'])){ if(!empty($_post['txtp'])and(!empty($_post['txtv']))and(!empty($_post['txtx']))){$pascal=$_post['txtp']; $visual=$_post['txtv]; $program=$_post['txtc']; $sum=$pascal+$visual+$program; $price=($pascal*1000)+($visual*2000)+($program*300 0); echo "sum:$sum"; echo "price:$price"; } } ?>

و هر رو اونها رو با نام های درست در یک مسیر ذخیره کردم . بعد از اینکه فایل html رو اجرا می کنم و اعداد رو وارد می کنم ، بعد ار کلیک کردن دکمه کدهای php نوشته شده نمایش داده میشه نه نتیجه کار . علت چیه ؟ چرا درست کار نمی کنه ؟
ممنون میشم کمکم کنید

مهدی اسماعیلی
جمعه 06 تیر 1393, 17:55 عصر
سلام
کد های فایل home.php تون خطای سینتکسی داشت.

اینطور صحیح هست:

فایل index.html

<form method="post" action="home.php">
</p><input type="text" name="txtPascal">pascal
</p><input type="text" name="txtVisual">visual
</p><input type="text" name="txtProgram">program
</p><input type="submit" name="submit">
</form>

فایل home.php

<?php
if(isset($_POST['submit'])){
if(!empty($_POST['txtPascal']) and !empty($_POST['txtVisual']) and !empty($_POST['txtProgram'])){
$pascal = $_POST['txtPascal'];
$visual = $_POST['txtVisual'];
$program = $_POST['txtProgram'];
$sum=$pascal+$visual+$program;
$price = ($pascal*1000)+($visual*2000)+($program*300);
echo "sum:$sum";
echo "price:$price";
} else {
echo "fill all textbox";
}
}
?>

$_POST باید با حروف بزرگ باشد.

$_POST['postname']

mehdi4467
جمعه 06 تیر 1393, 18:13 عصر
اینطوری اصلاح کنید:


<html>
<head> <title>Untitled</title></head>
<body>
<form method="post" action="home.php">
<p><input type="text" name="txtp">pascal </p>
<p><input type="text" name="txtv">visual </p>
<p><input type="text" name="txtx">program </p>
<p><input type="submit" name="submit"></p>
</form>
</body>
</html>




<?php
if(isset($_POST['submit']))
{
if((isset($_POST['txtp'])) and (isset($_POST['txtv'])) and (isset($_POST['txtx'])))
{
$pascal=$_POST['txtp'];
$visual=$_POST['txtv'];
$program=$_POST['txtx'];
$sum=$pascal+$visual+$program;
$price=($pascal*1000)+($visual*2000)+($program*300 0);
echo "sum:".$sum; echo "<br/>";
echo "price:".$price;
}
}

?>

seyed ehsan
جمعه 06 تیر 1393, 18:49 عصر
$_POST اینجا چه نقشی داره ؟


از شما دوستان تشکر می کنم

seyed ehsan
جمعه 06 تیر 1393, 18:53 عصر
دوستان ولی بازم مثل قبل هستش و عین کدهای تایپ شده رو نشون میده !!!

مهدی اسماعیلی
جمعه 06 تیر 1393, 19:11 عصر
$_POST اینجا چه نقشی داره ؟
از POST_$ برای دریافت اطلاعاتی که با متد POST که در تگ form مشخص شده استفاده میکنیم. (value یا مقدار هایی که کاربر در تکست باکس ها وارد کرده است را دریافت میکنیم)


دوستان ولی بازم مثل قبل هستش و عین کدهای تایپ شده رو نشون میده !!!
کدهای پی اچ پی را بین تگ <? php?> مینویسید دیگه ؟ فرمت فایلتون .php هست ؟
کد هایی که من گذاشتم تست شده هست و مشکلی نداره.

seyed ehsan
جمعه 06 تیر 1393, 19:14 عصر
من دقیقا همون چیزی رو که شما زحمت کشیدید رو کپی کردم .
نکنه به برنامه خاصی احتیاج داره ! آخه این اولین کار عملی من هست .
من اون دوتا فایل رو ایجاد کردم و بعد فایل html رو اجرا کردم .
درسته ؟

seyed ehsan
جمعه 06 تیر 1393, 19:17 عصر
درست شد !
خیلی ممنونم از راهنمایی شمااااااا .