آقا من کلافه شدم چرا این دستور کار نمیکنه:
<HTML>
<BODY>
<input type="button" value="6" onclick="<?php a(); ?>"/>
</BODY>
</HTML>
<?php
function a(){
echo "hi";
}
?>
Printable View
آقا من کلافه شدم چرا این دستور کار نمیکنه:
<HTML>
<BODY>
<input type="button" value="6" onclick="<?php a(); ?>"/>
</BODY>
</HTML>
<?php
function a(){
echo "hi";
}
?>
سلام گرامی،
خوب قربونت اینه که نوشتی PHP هست چرا باید اجرا بشه؟!
شما اومدی با این کد :
بعد انتظار داری کد PHP که سمت سرور پردازش میشه و هیچی سمت کلاینت نمیاد رو اجرا کنه!<input type="button" value="6" onclick="<?php a(); ?>"/>
اگه شما بخوای کد PHP اجرا کنی باید اون رو تو یک صفحه بنویسی و بعد آدرس اون صفحه رو بدی تو OnClick.
بهتره اینجوری اصلاحش کنی:
<input type="button" value="6" onclick="location.href='a.php'"/>
تو فایل a.php همین تابع که نوشتی بنویس.
نه عزیز این فایل رو با پسوند index.php ذخیره کردم تابع هم درون همین فایل هست
سلام دوست عزیز
این خطی که نوشتی<input type="button" value="6" onclick="<?php a(); ?>"/>
وقتی به مرورگر میرسه میشه این :<input type="button" value="6" onclick="hi"/>
که عملا معنی خاصی نداره ...
اون کاری رو که شما میخوای انجام بدید (با فشردن یه دکمه یه تابع php اجرا بشه) رو بهش میگن AJAX ... !
یه سرچی بکنید پیدا میشه ...
فایل رو upload کردم :
http://www.persiangig.com/pages/down.../web/index.rar
میدونم Ajax چیه سایت خودم رو با Ajax زدم که با تابع های jquery از html یه فایل php رو فراخونی کنی و جواب رو بفرستی به html
نمینخوام از ajax استفاده کنم
اگه توجه کرده باشین 100 بار گفتم کد رو تو یه فایل php زدم نه html.*
اگه گوگل کنید عبارت Call PHP Function With Button Onclick میفهمید
دوست عزيز php زبان سمت سرور هست يعني اين كه بعد از اين كه شما يك صفحه php رو فراخواني مي كنيد اول وب سرور فايل php رو پردازش مي كنه و اون وقت اونو به تگ هاي HTML تبديل مي كنه و بعد براي شما ارسال ميشه حالا شما اگه قصد داريد اون تابع رو فراخواني كنيد يا بايد از ajax استفاده كني كه دوستمون گفتن و يا اين كه با جاوا اسكريپت كارتون رو راه بندازين
خب اون عبارت رو هم افرادی مثل شما سرچ کردن دیگه !!!!
onclick برای استفاده از توابع php فقط با ایجکس و جیکیوئری کاربرد داره اگه میخوایین از جاوا اسکریپت استفاده کنید که هیچ مشکلی نیست بنابراین مجبور هستید از یه چیزی تو مایه های جیکیوئری استفاده کنید
سلام ...
ببین این خوبه ...
<?php
function test()
{
print "HI!" ;
}
?>
<form action="index.html" method="post">
<input type="submit" value="Reset" name="reset" >
<?php
if ($_POST["reset"]= Reset) test() ?>
</form>
این لینک توضیح کاملش
اینجـــــــــا
دوست عزیز، تاپیک 2 سال قبل رو آوردین بالا واسه چی؟ فکر نمیکنید تا حالا به جوابی که میخواستن رسیدن؟ ضمناً این جواب هم با توجه به نوع سؤال ایشون، اشتباهه. ایشون میخوان یک تابع PHP با کلیک کردن روی یک دکمه توی صفحه اجرا بشه که تنها راهش، AJAX هست.
سلام دوست عزیز
اگه بخواین تابع php با جاوا اسکریپت اجرا بشه
یه مثال براتون میزنم که مشکلتون حل بشه
<?php
function myphp()
{
echo 'test my php';
}
?>
<!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>
<script language="javascript">
function test()
{
var x="<?php echo myphp() ?>";
alert(x);
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<input type="button" value="Load Function" onclick="test()" />
</body>
</html>
این روش صحیح نیست. در واقع کد PHP یکبار موقع تولید صفحه صدا زده شده و نتیجه اون توی JS قرار گرفته و با هربار کلیک کردن داره کد JS صدا زده میشه نه تابع PHP و این مسئله برای مواقعی که توی کد PHP کارهای سمت سرور بخوایم انجام بدیم (مثل اتصال به دیتابیس و...) کار نمیکنه و باید از AJAX استفاده کنید.