PDA

View Full Version : سوال: مقدار دادن به متغیر



abbaszz
پنج شنبه 21 دی 1391, 17:01 عصر
سلام یک input به صورت زیر که :

<input type="text" id="txtCost" value="0" name="txtCost" />


که مقداری از کاربر میگیره. حالا میخوام این مقدارو داخل متغیر x قرار بدم... راهنمایی لطفا :)

$x=?

dousti_design
پنج شنبه 21 دی 1391, 17:09 عصر
بستگی به متد فرمتون داره.
اگر GET باشه:


$x = $_GET['txtCost'];

اگر POSTباشه:


$x = $_POST['txtCost'];


البته این کدها در صفحه مقصد قرار میگیره یعنی اکشنن فرمتون

abbaszz
پنج شنبه 21 دی 1391, 17:20 عصر
بستگی به متد فرمتون داره.
اگر GET باشه:


$x = $_GET['txtCost'];

اگر POSTباشه:


$x = $_POST['txtCost'];


البته این کدها در صفحه مقصد قرار میگیره یعنی اکشنن فرمتون

مرسی .هر2 جواب داد
فقط میخوام در همون لحظه که کاربر مقدارو وارد میکنه در x قرار بده. نه بعد از زدن دکمه ای
شدنیه؟

colors
پنج شنبه 21 دی 1391, 17:25 عصر
بله باید با Ajax ( ایجکس ) انجامش داد. یه سرچی بکنی چیزای خوبی گیرت میاد

abbaszz
پنج شنبه 21 دی 1391, 17:42 عصر
بله باید با Ajax ( ایجکس ) انجامش داد. یه سرچی بکنی چیزای خوبی گیرت میاد

چیزی پیدا نکردم متاسفانه... کمک لطفا

ravand
پنج شنبه 21 دی 1391, 21:23 عصر
اینم ایجکس در جی کوئری:

<?php
//این خط برای اینه که وقتی صفحه رفرش میشه مقادیر ارسال نشه
if(isset($_GET['title']) and isset($_GET['msg']) and isset($_GET['edame'])){
echo 'Title : '.$_GET['title'].' - Message : '.$_GET['msg'].' - Edame : '.$_GET['edame'];
exit;
}
?>
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function SendData(){
$.get("get.php", { title: $('#title').val(), msg: $('#matn').val(),edame: $('#edamee').val() },
function(data){
alert(data);
});
}
</script>
</head>
<body>
<form>
<input id="title" name="title" type="text" size="20"><br />
<textarea id="matn" name="msg"></textarea><br /><br />
<textarea id="edamee" name="edame"></textarea><br /><br />
<input type="button" onclick="SendData()" value="ارسال">
</form>
</body>
</html>

abbaszz
پنج شنبه 21 دی 1391, 21:50 عصر
اینم ایجکس در جی کوئری:


مرسی .کد زیر رو دقت کنید:


<input type="text" id="txtCost" onchange="SendData()"/>
<? $price= $_GET['txtCost']; ?>
سوال:با توجه به کد بالا و کد شما اگه بخوایم بعد از تغییر در input که از نوع text تعریف کردیم اطلاعات به متغیر price ارسال بشه باید چه تغیراتی ایجاد کنیم ؟
کد من چه مشکلی داره برای این کار؟

siavashsay
پنج شنبه 21 دی 1391, 22:22 عصر
عباس جان ! دقیقا بگو واسه چی میخوای اینکارو بکنی ! بهتر میشه راهنمایی کرد !
آخه PHP که تا عملیاتی رو روش انجام ندی مثل زدن دکمه یا دریافت و ارسال متغیر که خروجی نداره !
بگو دقیقا چی میخوای ! هدفت از این دکمه ها و عملیات چیه ؟!

abbaszz
پنج شنبه 21 دی 1391, 22:36 عصر
عباس جان ! دقیقا بگو واسه چی میخوای اینکارو بکنی ! بهتر میشه راهنمایی کرد !
آخه PHP که تا عملیاتی رو روش انجام ندی مثل زدن دکمه یا دریافت و ارسال متغیر که خروجی نداره !
بگو دقیقا چی میخوای ! هدفت از این دکمه ها و عملیات چیه ؟!

:دی مفصله آخه
خب اینجا تغییر ایجاد میشه دیگه. میخوام بعد از تغییر در تکست باکس یعنی همون در onchange عدد داخل این تکست باکس به متغیرم نسبت داده بشه


<input type="text" id="txtCost" onchange="SendData()"/>
<? $price= $_GET['txtCost']; ?>
این onchange درست عمل میکنه ها. یعنی اگه مثلا بزنیم:

onchange="alert(matn)"
کار خودشو انجام میده. ولی میخوام بعد تغییر عدد ارسال بشه به متغیرم

abbaszz
پنج شنبه 21 دی 1391, 22:39 عصر
این زیاد مهم نیست اگه کدش طولانیه
اینجارو (http://barnamenevis.org/showthread.php?378188-%D9%85%D8%AE%D9%81%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B9%D9%86%D8%A7%D8%B5%D8%B1-%D8%AF%D8%B1-php&p=1673198&viewfull=1#post1673198) جواب بده لطفا ... قول میدم دیگه سوال نپرسم! از دیشبه اذیت میکنم همش ! :خجالت:
مرسی

siavashsay
پنج شنبه 21 دی 1391, 22:40 عصر
خوب شما از کجا میدونی ارسال نشده ؟!
اول فرمت رو submit کن ببین خروجی درسته یا نه ! به فرض که متغیر به فرم ارسال شد ! از کجا میخوای بفهمی که ارسال شده یا نه ؟!
خروجی چیزی داری ؟!

siavashsay
پنج شنبه 21 دی 1391, 23:05 عصر
این زیاد مهم نیست اگه کدش طولانیه
اینجارو (http://barnamenevis.org/showthread.php?378188-%D9%85%D8%AE%D9%81%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B9%D9%86%D8%A7%D8%B5%D8%B1-%D8%AF%D8%B1-php&p=1673198&viewfull=1#post1673198) جواب بده لطفا ... قول میدم دیگه سوال نپرسم! از دیشبه اذیت میکنم همش ! :خجالت:
مرسی
جواب دادم !
برو چک کن داداش !
http://barnamenevis.org/showthread.php?378188-%D9%85%D8%AE%D9%81%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B9%D9%86%D8%A7%D8%B5%D8%B1-%D8%AF%D8%B1-php

abbaszz
پنج شنبه 21 دی 1391, 23:39 عصر
خوب شما از کجا میدونی ارسال نشده ؟!
اول فرمت رو submit کن ببین خروجی درسته یا نه ! به فرض که متغیر به فرم ارسال شد ! از کجا میخوای بفهمی که ارسال شده یا نه ؟!
خروجی چیزی داری ؟!

میفهمم ارسال شده یا نه ، در ادامه کد زیاد وجود داره، این دو خط از کد که گذاشتم فقط یه بخششه، من اینجاش گیر کردم:اینکه چجوری در هر تایپ یا در هر تغیر به متغیرم مقدار داده بشه:

<input type="text" id="txtCost" onchange="تابع جاوا برای ارسال مقدار تکست باکس()"/>
<? $price= $_GET['txtCost']; ?>

خروجی هم دارم در ادامه که اونجاش مشکل ندارم!

siavashsay
پنج شنبه 21 دی 1391, 23:52 عصر
میفهمم ارسال شده یا نه ،
داداشم آخه منظورم اینه که نحوه خروجیتو به ما هم بگو ! وگرنه میدونم خودت چطوری متوجه میشی !
چون عملیات بروی خروجی انجام میشه !
من میخوام بدونم خروجیت چطوریه که روی اون کدی ک میخوام بهت بدم رو تنظیم کنم !

abbaszz
جمعه 22 دی 1391, 00:09 صبح
داداشم آخه منظورم اینه که نحوه خروجیتو به ما هم بگو ! وگرنه میدونم خودت چطوری متوجه میشی !
چون عملیات بروی خروجی انجام میشه !
من میخوام بدونم خروجیت چطوریه که روی اون کدی ک میخوام بهت بدم رو تنظیم کنم !

امیدوارم منظورتو درست متوجه شده باشم. خروجی من به این صورته:


<?php
$price= $_GET['txtCost'];
if (($price>=20) and ($price<=2000))
{
echo '<input id="doHide"/>';
}
?>


یعنی میخوام وقتی کاربر داره عدد رو وارد تکست باکس میکنه ، بدون اینکه دکمه دیگه ای بزنه، برنامه عدد رو بگیره و در متغیر price بذاره. بعد اگه price اون شرایطو داشته باشه دستور داخل ایف رو اجرا کنه :)

siavashsay
جمعه 22 دی 1391, 00:47 صبح
خدا بگم چیکارت نکنه :))
خوب از اول همینو بگو !
ببین تو نمیتونی از PHP توقع داشته باشی اینکارو برات انجام بده ! باید همین کد رو با jQuery درخواست کنی !
این صفحه رو ذخیره و اجرا کن متوجه میشی :


<!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=utf-8" />
<title>Untitled Document</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js" type="text/javascript"></script>
<script>
$(document).ready(function(e) {
$("#cost").change(function () {
var cost=$("#cost").val();
if((cost>=20) && (cost<=2000)){
$("#myForm").append('<input type="button" name="doHide" id="doHide" value="Hide Button"/>');
}
});
});
</script>
</head>

<body>
<form id="myForm">
<label for="cost"></label>
<input type="text" name="cost" id="cost"/>
</form>
</body>
</html>

تو این کد وقتی کاربر عدد بین 200 - 2000 رو وارد کنه و بعد موس رو جای دیگه کلیک کنه ( یعنی همون onChange ) به صورت اتومات jQuery واست یک باتن با مشخصات دلخواه درست میکنه توی فرم !
به کدها و آیدی های اون توجه کن متوجه میشی همه چیز رو !
بازم اگه سوالی بود بپرس :)

abbaszz
جمعه 22 دی 1391, 00:50 صبح
:)) دمت گرم

siavashsay
جمعه 22 دی 1391, 01:02 صبح
خواهش !
فقط خودت توجه کن دیگه به آیدی های و طوری که میخوای تغییرش بده !
من توی اون کد به Form آیدی myForm دادم که توی کد jQeury با #myForm مشخص شده ! یعنی توی #myForm اضافه کنه ! تو اگه ایدی فرمت فرق میکرد اونجا هم عوض کن !
مشخصات توی append هم که معلومه ! یک باتن با نام و آیدی doHide و مقدار ( یا همون lable ) که Hide Button شده !
خلاصه تغییراتش با خودت !
بازم سوالی داشتی بپرس داداش !:)

abbaszz
جمعه 22 دی 1391, 14:02 عصر
خواهش !
فقط خودت توجه کن دیگه به آیدی های و طوری که میخوای تغییرش بده !
من توی اون کد به Form آیدی myForm دادم که توی کد jQeury با #myForm مشخص شده ! یعنی توی #myForm اضافه کنه ! تو اگه ایدی فرمت فرق میکرد اونجا هم عوض کن !
مشخصات توی append هم که معلومه ! یک باتن با نام و آیدی doHide و مقدار ( یا همون lable ) که Hide Button شده !
خلاصه تغییراتش با خودت !
بازم سوالی داشتی بپرس داداش !:)

مرسی واقعا. خیلی کمکم کردی
این (http://barnamenevis.org/showthread.php?378188-%D9%85%D8%AE%D9%81%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B9%D9%86%D8%A7%D8%B5%D8%B1-%D8%AF%D8%B1-php&p=1673612&viewfull=1#post1673612) هم سوال آخر من ... مشکلات رفع شد (رفع کردی!)