PDA

View Full Version : سوال: مهم.استفاده از دستورات php در بین دستورات جاوا



mahnaz_tbe
دوشنبه 02 آذر 1388, 11:32 صبح
سلام
من می خواستم با استفاده از confirm یک پیغام به کاربر نشون بدم و در صورت موافقت کاربر یک رکورد حذف شود.تابع مربوط به جاوا رو نوشتم.

function confirmdelete()
{
if(!confirm("آیا مطمئن هستید؟"))
return false;
else
return true;
}


تابع مربوط به حذف رو هم توی یه فایل دیگه نوشتم.

<?php
function del_inbox($user, $deli, $time, $mess, $sub, $sta, $day, $mnd, $year){
require_once("../includes/connect.inc.php");
$str="delete from inbox where username='" . $user . "' and delivery='" . $deli . "' and subject='" . $sub . "' and time'" . $time . "' and message='" . $mess . "' and statues='" . $sta . "' and date_year ='" . $year . "' and date_mnd='" . $mnd . "' and date_day='" . $day . "';";
//print $str;
$result=mysql_query($str);
if (!$result)
{
print "error".mysql_error();
}
else
{
print("<script language=\"JavaScript\" >\n parent.location=('inbox.php' ); \n </script>");
}
}
?>


include مربوط به فایل تابع رو هم انجام دادم.بعد تو قسمت مربوط به onclick دکمه حذف تابع رو صدا زدم.ولی کار نمی کنه.


onclick="if(confirmdelete) { <? del_inbox( $row['username'] . "," . $_SESSION['user'] . "," . $row['time'] . "," . $row['message'] . "," . $row['subject'] . "," . $row['statues'] . "," . $row['date_day'] . "," . $row['date_mnd'] . ",". $row['date_year'] ); ?> } "


نمی دونم باید چیکارش کنم در حالیکه خیلی هم لازمش دارم.توروخدا یکی جواب بده.اگه بتونم این کار رو انجام بدم خیلی کارم راه می افته.نمیشه در بین دستورات جاوا تگ php زد؟:گریه::اشتباه:

امیـرحسین
دوشنبه 02 آذر 1388, 12:36 عصر
کدهای PHP قبل از جاوااسکریپت اجرا میشن و کنترل همزمانشون ممکن نیست. این onclick که نوشتید اینجوری اجرا میشه. PHP به این خط میرسه:
onclick="if(confirmdelete) { <? del_inbox( $row['username'] . "," . $_SESSION['user'] . "," . $row['time'] . "," . $row['message'] . "," . $row['subject'] . "," . $row['statues'] . "," . $row['date_day'] . "," . $row['date_mnd'] . ",". $row['date_year'] ); ?> } "
این قسمت رو چاپ می کنه:
onclick="if(confirmdelete) {
این قسمت رو همون لحظه اجرا می کنه:
del_inbox( $row['username'] . "," . $_SESSION['user'] . "," . $row['time'] . "," . $row['message'] . "," . $row['subject'] . "," . $row['statues'] . "," . $row['date_day'] . "," . $row['date_mnd'] . ",". $row['date_year'] );
و اون آکولاد آخر رو هم چاپ می کنه.

اگر می خواید توسط جاوااسکریپت کدهای PHP رو اجرا کنید باید از AJAX استفاده کنید. اینجا (http://boplo.ir/web-design/ajax-learn-tutorial/) یه آموزش مختصر از AJAX رو پیدا می کنید.

mahnaz_tbe
دوشنبه 02 آذر 1388, 16:21 عصر
یعنی هیچ راه دیگه ای به جز آژاکس وجود نداره؟یعنی اینهمه آدم همه از آژاکس استفاده می کنن؟من کار خاصی نمی خوام بکنم.می خوام قبل از حذف یک رکورد یه پیغام به کاربر نشون بدم.اگه ok داد بعد با دستورات php حذفش کنم.یه راه ساده تر به من نشون بدین.من اصلاً با آژاکس آشنائی ندارم.:ناراحت::اشتباه::گریه:

angel_boy013
دوشنبه 02 آذر 1388, 17:23 عصر
خوب بزن confirm که ok زد ری دیرکت بشه به یک صفحه دیگه و اونجا انجام بده مثلاً



<a href="#" onClick="if(confirm('آیا مایل هستید به لیست دوستان شما اضافه شود؟'))
parent.parent.location.href='config.php?id=12&mode=delete/';">TEST</a>

mahnaz_tbe
دوشنبه 02 آذر 1388, 17:45 عصر
سلام.می گم این دوتا parent که نوشتی اشتباست نه؟بعد این .href ثابته؟یعنی مثلاً اگه واسه تگ input هم بنویسم همینه؟

<input name="del" type="image" src="../images/del2.jpg" onclick="if(confirmdelete) { parent.location.href='action_del_mail2.php?h_u=12/'; } " />


این درسته؟آخه کار نمی کنه؟دیگه حتی پیغام هم نشون نمی ده.نمی دونم باید چیکار کنم.:ناراحت:
بدون href هم امتحان کردم کار نمی کنه اصلاً.پیغام هم نشون نمی ده.ولی مثلاً اگه alert به جاش بزارم پیغام حذف رو میده alert رو هم می ده.ولی مثلاً window.location گذاشتم باز کار نمی کنه.اگه میشه بهم بگین اشکال از کجاست.

pfarokhy
سه شنبه 03 آذر 1388, 13:49 عصر
سلام
توصفحه يه فرم با طول و عرض 0 درست كن از دستور زير استفاده كن و عمل حذف رو تو يه صفحه ديگه انجام بده




<script language="javascript" type="text/javascript">
function enter__base(Window_Str)
{
var f = document.forms["detailsForm"];
f.action = Window_Str;
f.submit();
}
Base="";
Str="";
Str_Delete="";
//##############################
function newwin2(){
if(confirm("آيا مطمئن به حذف هستيد؟")==true){

Str_Delete="Delete_Base.php?item="+document.forms[0].D1.options[document.forms[0].D1.selectedIndex].Code;
enter__base(Str_Delete);
}
}
</script>

mahnaz_tbe
سه شنبه 03 آذر 1388, 18:07 عصر
خوب بزن confirm که ok زد ری دیرکت بشه به یک صفحه دیگه و اونجا انجام بده مثلاً



<a href="#" onClick="if(confirm('آیا مایل هستید به لیست دوستان شما اضافه شود؟'))
parent.parent.location.href='config.php?id=12&mode=delete/';">TEST</a>


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