رفتن به مطلب

گرفتن یک مقدار از جاوا در php


پست های پیشنهاد شده

سلام

من یک کد جاوا دارم و میخوام مقدار جاوا رو با پی اچ پی بگیرم

مثلا بطور خلاصه من کد جاوای زیر رو دارم و باهاش مقدار یک فیلد رو فراخوانی میکنم و توی صفحه نمایش میدم


'+finaltime+'

حالا میخوام کاری کنم که علاوه بر اینکه این مقدار رو نمایش بده، اون رو در دیتابایس هم ذخیره کنه. کد زیر رو دارم:


<?php
//اطلاعات اتصال به دیتابیس
$con = mysql_connect("localhost",".","")
or die(mysql_error());
//نام پایگاه داده
mysql_select_db("")
or die(mysql_error());
mysql_query("INSERT INTO form (zaman) VALUES ('$zaman')")
or die(mysql_error());
?>

حالا باید چجوری تعیین کنم که $zaman مقدار '+finaltime+' رو بگیره و ذخیره کنه؟

لینک به ارسال

اگر منظورتون از جاوا - جاوا اسکریپته که

پی اچ پی سمت سروره و جاوا اسکریپت سمت کاربر

مگر اینکه با آژاکس اکشن را اجرا کنید

لینک به ارسال

سلام. با آجاکس خیلی راحت می شه این کارو کرد.

توی کدهای javascript تون این ها رو بنویسید:


$.ajax({
url: "timereceive.php",
type: "post", //can be post or get
data: {zamaneersali : finaltime},
success: function(){
}
});

و توی فایل php تون اینو بنویسید:


<?php
if(isset($_POST['zamaneersali'])){
$zaman = $_POST['zamaneersali'];
}
?>

ببخشید متوجه پاسخ بالا نشدم. :)

ویرایش شده توسط parsigroup
لینک به ارسال

ممنون بابت پاسختون

ولی نتونستم این کار رو انجام بدم. این کد جاوا هست:

<script language="Javascript" type="text/javascript">

isNS4 = (document.layers) ? true : false;

isIE4 = (document.all && !document.getElementById) ? true : false;

isIE5 = (document.all && document.getElementById) ? true : false;

isNS6 = (!document.all && document.getElementById) ? true : false;

var curX, curY, curX2, curY2, boxX, boxY, moving=0, touch=0;

var gametime=0, started=0, speed;

var starttime, endtime, finaltime=0;

var enemyxdir = new Array(1,1,1,1);

var enemyydir = new Array(1,1,1,1);

if (isNS4 || isNS6){

document.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN|Event.MOUSEMOVE);

}

document.onmousedown = start;

document.onmousemove = checkLocation;

document.onmouseup = stop;

function startclock() {var today = new Date(); starttime = today.getTime();}

function endclock() {var today = new Date(); endtime = today.getTime();}

function calctime() {var time = (endtime - starttime - 0)/1000; return time;}

function giveposX(divname) {

if (isNS4) var posLeft = document.layers[divname].left;

else if (isIE4 || isIE5) var posLeft = document.all(divname).style.pixelLeft;

else if (isNS6) var posLeft = parseInt(document.getElementById(divname).style.left + "");

return posLeft;

}

function giveposY(divname) {

if (isNS4) var posTop = document.layers[divname].top;

else if (isIE4 || isIE5) var posTop = document.all(divname).style.pixelTop;

else if (isNS6) var posTop = parseInt(document.getElementById(divname).style.top + "");

return posTop;

}

function setposX(divname, xpos) {

if (isNS4) document.layers[divname].left = xpos;

else if (isIE4 || isIE5) document.all(divname).style.pixelLeft = xpos;

else if (isNS6) document.getElementById(divname).style.left = xpos;

}

function setposY(divname, ypos) {

if (isNS4) document.layers[divname].top = ypos;

else if (isIE4 || isIE5) document.all(divname).style.pixelTop = ypos;

else if (isNS6) document.getElementById(divname).style.top = ypos;

}

function givesize(divname, dimension) {

var divsize = 0;

if (dimension == 'y') {

if (isNS4) divsize = document.layers[divname].clip.height;

else if (isIE4 || isIE5) divsize = document.all(divname).style.pixelHeight;

else if (isNS6) divsize = parseInt(document.getElementById(divname).style.height + "");

}

else if (dimension == 'x') {

if (isNS4) divsize = document.layers[divname].clip.width;

else if (isIE4 || isIE5) divsize = document.all(divname).style.pixelWidth;

else if (isNS6) divsize = parseInt(document.getElementById(divname).style.width + "");

}

return divsize;

}

function checktouching(num) {

var enemy = "enemy" + num + ""

var difX = giveposX('box') - giveposX(enemy) - 0;

var difY = giveposY('box') - giveposY(enemy) - 0;

if (difX > (-1 * givesize('box', 'x')) && difX < givesize(enemy, 'x') && difY > (-1 * givesize('box', 'y')) && difY < givesize(enemy, 'y')) {

touch = 1;

}

else touch = 0;

}

function movenemy(num,step_x,step_y){

var enemy = "enemy" + num + ""

var enemyx = givesize(enemy, 'x');

var enemyy = givesize(enemy, 'y');

if (giveposX(enemy) >= (450 - enemyx) || giveposX(enemy) <= 0) {

enemyxdir[num] = -1 * enemyxdir[num];

}

if (giveposY(enemy) >= (450 - enemyy) || giveposY(enemy) <= 0) {

enemyydir[num] = -1 * enemyydir[num];

}

var newposx = giveposX(enemy) + (step_x*enemyxdir[num]) + 0;

var newposy = giveposY(enemy) + (step_y*enemyydir[num]) + 0;

setposX(enemy, newposx);

setposY(enemy, newposy);

checktouching(num + "");

if (touch == 1) {

stop(); reset();

}

}

function movenemies() {

gametime = gametime + 1

if (gametime >= 0 && gametime < 100) speed = 80;

else if (gametime >= 100 && gametime < 200) speed = 60;

else if (gametime >= 200 && gametime < 300) speed = 40;

else if (gametime >= 300 && gametime < 400) speed = 30;

else if (gametime >= 400 && gametime < 500) speed = 20;

else speed = 10;

movenemy(0,-10,12);

movenemy(1,-12,-20);

movenemy(2,15,-13);

movenemy(3,17,11);

setTimeout(movenemies,speed);

}

function start(e) {

if (started == 0) { movenemies(); startclock(); started = 1; }

curX = (isNS4 || isNS6) ? e.pageX : window.event.x ;

curY = (isNS4 || isNS6) ? e.pageY : window.event.y ;

curX2 = eval(curX - 40);

curY2 = eval(curY - 40);

boxX = eval(curX - 20);

boxY = eval(curY - 20);

var boxleft = giveposX('box');

var boxtop = giveposY('box');

if (curX > boxleft && curX2 < boxleft && curY > boxtop && curY2 < boxtop) {

moving = 1;

setposX('box', boxX);

setposY('box', boxY);

if (isNS4 || isNS6){

document.captureEvents(Event.MOUSEMOVE);

}

}

}

function stop(e){

moving=0;

if (isNS4 || isNS6){

document.releaseEvents(Event.MOUSEMOVE);

}

}

function reset(e){

endclock();

moving=0;

if (isNS4 || isNS6){

document.releaseEvents(Event.MOUSEMOVE);

}

if (finaltime == 0) {

finaltime = calctime();

if (finaltime<10) {

window.alert(' زمانی که شما ثبت کرده اید ' + finaltime + ' ثانیه ');

} else {

window.alert('تبریک. زمان شما ' + finaltime + 'ثانیه بوده و شما از تمرکز بالایی برخوردار می باشد. برای ادامه کلیک کنید.');

window.top.location.href = "00000.htm";

}

document.location.reload();

}

}

function checkLocation(e){

curX = (isNS4 || isNS6) ? e.pageX : window.event.x ;

curY = (isNS4 || isNS6) ? e.pageY : window.event.y ;

boxX = eval(curX - 20);

boxY = eval(curY - 20);

checktouching('1');

if (moving == 1 && touch == 0){

setposX('box',boxX);

setposY('box',boxY);

if (curY > 69 && curX > 69 && curY < 381 && curX < 381) return false;

else stop(); reset();

}

else if (touch == 1){

stop(); reset();

}

}

</script>

که یک بازی آنلاین جاوا هست. و امتیاز ما که مقدار


' + finaltime + '

هست رو نمایش میده و میخوام در دیتابایس هم ذخیره بشه و اون رو در همون صفحه نمایش بدم

کاری که آقای parsigroup گفته بود رو انجام دادم ولی نشد. قسمت url: "timereceive.php", رو باید آدرس همون فایلی که محتویات کدهای جاوا هست رو بذاریم؟

فایل کامل رو پیوست کردم (بین قسمتهایی که ستاره * گذاشتم رو خودم اضافه کردم ولی نشد):2.rar

لینک به ارسال

ممنون بابت پاسختون

ولی نتونستم این کار رو انجام بدم. این کد جاوا هست:

<script language="Javascript" type="text/javascript">

isNS4 = (document.layers) ? true : false;

isIE4 = (document.all && !document.getElementById) ? true : false;

isIE5 = (document.all && document.getElementById) ? true : false;

isNS6 = (!document.all && document.getElementById) ? true : false;

var curX, curY, curX2, curY2, boxX, boxY, moving=0, touch=0;

var gametime=0, started=0, speed;

var starttime, endtime, finaltime=0;

var enemyxdir = new Array(1,1,1,1);

var enemyydir = new Array(1,1,1,1);

if (isNS4 || isNS6){

document.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN|Event.MOUSEMOVE);

}

document.onmousedown = start;

document.onmousemove = checkLocation;

document.onmouseup = stop;

function startclock() {var today = new Date(); starttime = today.getTime();}

function endclock() {var today = new Date(); endtime = today.getTime();}

function calctime() {var time = (endtime - starttime - 0)/1000; return time;}

function giveposX(divname) {

if (isNS4) var posLeft = document.layers[divname].left;

else if (isIE4 || isIE5) var posLeft = document.all(divname).style.pixelLeft;

else if (isNS6) var posLeft = parseInt(document.getElementById(divname).style.left + "");

return posLeft;

}

function giveposY(divname) {

if (isNS4) var posTop = document.layers[divname].top;

else if (isIE4 || isIE5) var posTop = document.all(divname).style.pixelTop;

else if (isNS6) var posTop = parseInt(document.getElementById(divname).style.top + "");

return posTop;

}

function setposX(divname, xpos) {

if (isNS4) document.layers[divname].left = xpos;

else if (isIE4 || isIE5) document.all(divname).style.pixelLeft = xpos;

else if (isNS6) document.getElementById(divname).style.left = xpos;

}

function setposY(divname, ypos) {

if (isNS4) document.layers[divname].top = ypos;

else if (isIE4 || isIE5) document.all(divname).style.pixelTop = ypos;

else if (isNS6) document.getElementById(divname).style.top = ypos;

}

function givesize(divname, dimension) {

var divsize = 0;

if (dimension == 'y') {

if (isNS4) divsize = document.layers[divname].clip.height;

else if (isIE4 || isIE5) divsize = document.all(divname).style.pixelHeight;

else if (isNS6) divsize = parseInt(document.getElementById(divname).style.height + "");

}

else if (dimension == 'x') {

if (isNS4) divsize = document.layers[divname].clip.width;

else if (isIE4 || isIE5) divsize = document.all(divname).style.pixelWidth;

else if (isNS6) divsize = parseInt(document.getElementById(divname).style.width + "");

}

return divsize;

}

function checktouching(num) {

var enemy = "enemy" + num + ""

var difX = giveposX('box') - giveposX(enemy) - 0;

var difY = giveposY('box') - giveposY(enemy) - 0;

if (difX > (-1 * givesize('box', 'x')) && difX < givesize(enemy, 'x') && difY > (-1 * givesize('box', 'y')) && difY < givesize(enemy, 'y')) {

touch = 1;

}

else touch = 0;

}

function movenemy(num,step_x,step_y){

var enemy = "enemy" + num + ""

var enemyx = givesize(enemy, 'x');

var enemyy = givesize(enemy, 'y');

if (giveposX(enemy) >= (450 - enemyx) || giveposX(enemy) <= 0) {

enemyxdir[num] = -1 * enemyxdir[num];

}

if (giveposY(enemy) >= (450 - enemyy) || giveposY(enemy) <= 0) {

enemyydir[num] = -1 * enemyydir[num];

}

var newposx = giveposX(enemy) + (step_x*enemyxdir[num]) + 0;

var newposy = giveposY(enemy) + (step_y*enemyydir[num]) + 0;

setposX(enemy, newposx);

setposY(enemy, newposy);

checktouching(num + "");

if (touch == 1) {

stop(); reset();

}

}

function movenemies() {

gametime = gametime + 1

if (gametime >= 0 && gametime < 100) speed = 80;

else if (gametime >= 100 && gametime < 200) speed = 60;

else if (gametime >= 200 && gametime < 300) speed = 40;

else if (gametime >= 300 && gametime < 400) speed = 30;

else if (gametime >= 400 && gametime < 500) speed = 20;

else speed = 10;

movenemy(0,-10,12);

movenemy(1,-12,-20);

movenemy(2,15,-13);

movenemy(3,17,11);

setTimeout(movenemies,speed);

}

function start(e) {

if (started == 0) { movenemies(); startclock(); started = 1; }

curX = (isNS4 || isNS6) ? e.pageX : window.event.x ;

curY = (isNS4 || isNS6) ? e.pageY : window.event.y ;

curX2 = eval(curX - 40);

curY2 = eval(curY - 40);

boxX = eval(curX - 20);

boxY = eval(curY - 20);

var boxleft = giveposX('box');

var boxtop = giveposY('box');

if (curX > boxleft && curX2 < boxleft && curY > boxtop && curY2 < boxtop) {

moving = 1;

setposX('box', boxX);

setposY('box', boxY);

if (isNS4 || isNS6){

document.captureEvents(Event.MOUSEMOVE);

}

}

}

function stop(e){

moving=0;

if (isNS4 || isNS6){

document.releaseEvents(Event.MOUSEMOVE);

}

}

function reset(e){

endclock();

moving=0;

if (isNS4 || isNS6){

document.releaseEvents(Event.MOUSEMOVE);

}

if (finaltime == 0) {

finaltime = calctime();

if (finaltime<10) {

window.alert(' زمانی که شما ثبت کرده اید ' + finaltime + ' ثانیه ');

} else {

window.alert('تبریک. زمان شما ' + finaltime + 'ثانیه بوده و شما از تمرکز بالایی برخوردار می باشد. برای ادامه کلیک کنید.');

window.top.location.href = "00000.htm";

}

document.location.reload();

}

}

function checkLocation(e){

curX = (isNS4 || isNS6) ? e.pageX : window.event.x ;

curY = (isNS4 || isNS6) ? e.pageY : window.event.y ;

boxX = eval(curX - 20);

boxY = eval(curY - 20);

checktouching('1');

if (moving == 1 && touch == 0){

setposX('box',boxX);

setposY('box',boxY);

if (curY > 69 && curX > 69 && curY < 381 && curX < 381) return false;

else stop(); reset();

}

else if (touch == 1){

stop(); reset();

}

}

</script>

که یک بازی آنلاین جاوا هست. و امتیاز ما که مقدار


' + finaltime + '

هست رو نمایش میده و میخوام در دیتابایس هم ذخیره بشه و اون رو در همون صفحه نمایش بدم

کاری که آقای parsigroup گفته بود رو انجام دادم ولی نشد. قسمت url: "timereceive.php", رو باید آدرس همون فایلی که محتویات کدهای جاوا هست رو بذاریم؟

فایل کامل رو پیوست کردم (بین قسمتهایی که ستاره * گذاشتم رو خودم اضافه کردم ولی نشد):2.rar

سلام. اولا بگم این کدها جاوا هستن ممکنه اصلا جی کوئری رو اضافه نکرده باشن. (از این مساله ابتدا اطمینان پیدا کنید)

بعد از اطمینان حاصل کردن کد زیر رو :


if (finaltime == 0) {
finaltime = calctime();
if (finaltime<10) {
window.alert(' زمانی که شما ثبت کرده اید ' + finaltime + ' ثانیه ');
} else {
window.alert('تبریک. زمان شما ' + finaltime + 'ثانیه بوده و شما از تمرکز بالایی برخوردار می باشد. برای ادامه کلیک کنید.');
window.top.location.href = "00000.htm";
}

به این صورت تغییر بدید:


if (finaltime == 0) {
finaltime = calctime();
if (finaltime<10) {
window.alert(' زمانی که شما ثبت کرده اید ' + finaltime + ' ثانیه ');
} else {
window.alert('تبریک. زمان شما ' + finaltime + 'ثانیه بوده و شما از تمرکز بالایی برخوردار می باشد. برای ادامه کلیک کنید.');
$.ajax({
url: "timereceive.php",
type: "post", //can be post or get
data: {zamaneersali : finaltime},
success: function(){
}
});
window.top.location.href = "00000.htm";
}

بعد در پوشه ای که این فایل قرار داره یک فایل php ایجاد کنید و دستور php بالا رو توش اجرا کنید و مقدار رو ازش بگیرید و ذخیره کنید.

دقت کنید که قبل از این کد جاواتون جی کوئری حتما اضافه شده باشه به این صورت:


<script type="text/javascript" src="jquery.js" ></script>

که در کد فرض شده فایل jquery هم در همین پوشه قرار داره.

ویرایش شده توسط NESTED
لینک به ارسال

بازم ممنون

دوست عزیز من فایل جی کوئری رو با گذاشتن این کد قبل از کدهای جاوا فراخوانی کردم:


<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>

بعد همون طور که گفتید مقدار زیر رو در جایی که گفته بودید بین کدهای جاوا قرار دادم:


$.ajax({
url: "timereceive.php",
type: "post", //can be post or get
data: {zamaneersali : finaltime},
success: function(){
}
});

بعد یک فایل با نام timereceive.php در همون پوشه ایجاد کردم و کدهای زیر رو درونش قرار دادم:


<?php
if(isset($_POST['zamaneersali'])){
$zaman = $_POST['zamaneersali'];
}
?>
<?php echo $zaman ?>

ولی وقتی به اون صفحه منتقل میشم هیچ چیز نمایش داده نمیشه. نمیدونم کجای کارم ایراد داره

در فایل timereceive.php کدهای زیر رو هم قرار دادم ولی در دیتابایس هم ذخیره نمیشه:


<?php
if(isset($_POST['zamaneersali'])){
$zaman = $_POST['zamaneersali'];
}
?>
<?php
//اطلاعات اتصال به دیتابیس
$con = mysql_connect("localhost","???","???")
or die(mysql_error());
//نام پایگاه داده
mysql_select_db("???")
or die(mysql_error());
mysql_query("INSERT INTO form (zaman) VALUES ('$zaman')")
or die(mysql_error());
?>
<?php echo $zaman ?>

از حوصله تون متشکرم :D

لینک به ارسال

بهتر نیست کار با آژاکس را به صورت کامل بیاموزید؟

عمری بود یک آموزش برای ارسال اطلاعات فرم با آژاکس می گذارم

لینک به ارسال

بهتر نیست کار با آژاکس را به صورت کامل بیاموزید؟

عمری بود یک آموزش برای ارسال اطلاعات فرم با آژاکس می گذارم

از حوصله شما هم ممنون

لینک به ارسال

سلام. حق با آقای فخار هست ، بهتره یک مطالعه ، هرچند اجمالی در زمینه جاوااسکریپت و php انجام بدید ، حتی اگر شده در حدی که متوجه بشید من چی نوشتم!

من توی کدی که گذاشتم جایی رو نمیبینم که اشتباه باشه ، اما شما ممکنه خیلی چیز ها رو اشتباه انجام داده باشید!

مثلا اول فایل جی کوئری رو به فولدر برنامه منتقل کنید تست کنید ببینید میشه یا نه و یا خطا های php رو توی صفحه چاپ کنید و غیره ...

نحوه ی خطا یابی هم نه تنها توی خیلی از سایت ها آموزش داده شده ، همین جا هم من چند روز پیش توی یکی از تاپیک ها روششو گفتم ، و علاوه بر اون با گشتن به دنبال نیازهاتون اونها رو یاد می گیرید نه این که فقط مشکلتونو فعلا حل بکنید.

برای یادگیری برنامه نویسی هم به نظر من بهتره زبان انگلیسی رو هرچند در حد دستور زبان ، و ترجمه لغات توسط google translate و غیره یاد بگیرید.

مثلا چند جمله جهت جستجو در خصوص مشکل شما میتونه اینها باشه :

tutorial for sending data to php with ajax

php is not receiving data that i send with ajax

how to show php errors in screen

و خیلی چیزای دیگه این ها رو به عنوان مثال عرض کردم تا ببینید مشکلتونو چطوری مطرح کنید.

امیدوارم موفق باشید.

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...