PDA

View Full Version : حرفه ای: صدا زدن تابع php با جاوااسکریپت ضمن ارسال و چاپ متغییر در خروجی php



intermanch
دوشنبه 07 تیر 1389, 17:18 عصر
من با کلی زحمت تونستم با دستورات جاوا اسکریپت یه تابع پی اچ پی رو صدا بزنم
اول از تکس نود استفاده کردم که دستورات بانک اطلاعاتی رو پشتیبانی میکرد اما echo رو نخیر

اما بعدا با ineerHTml نوشتم و کل دستورات اجرا میشه اما نمیدونم یه رشته رو چطور بنویسم که کم صدا زدن ضمن ارسال متغیر باشه!!!





<!--
this code only call funnctions php but
how call function php[ function-name(varible)]
intermanch@gmail.com
www.intermanch.blogfa.com
-->

<script>
function Helloo($f)
{
var t4 = document.createElement('div');
t4.innerHTML ="<?php hello() ?>";
document.getElementById('dl').appendChild(t4);
}
</script>

<?php
function hello()
{
//if on the java script can write function-name(varible) than can write echo varible;
//echo $x;
//help to complet this code
echo "name: ";
echo "<input><br>";
echo "<a href='http://www.intermanch.blogfa.com'>view my weblog";
//and all php cods
}
?>

<body>

<input value='click me' type=button onclick="Helloo('200')">
<div align=right id=dl>
</div>
</body>
</html>





حتی اون قسمت ::
<?php hello(m) ?>

رو بصورت مختلف نوشتم با + جدا کردم و سرهم کردم اما نمیشه

در ضمن من همین سبک رو می خوام صورت مساله رو پاک نکنید بگید با فرم اینکارو عملی کن -اگه بلدید روی این سبک ارسال که نوشتم حرکت کنید با اچ تی ام ال هم بلد اضافه کنم به ابجکت های موجود اما بدرد حل این مساله و مناسبش نیست
call function php by java script

Reza1607
سه شنبه 08 تیر 1389, 08:02 صبح
این کار رو باید با ajax انجام بدی

intermanch
سه شنبه 08 تیر 1389, 10:11 صبح
خب یه مقدار توضیح بدید

Reza1607
سه شنبه 08 تیر 1389, 10:41 صبح
خب یه مقدار توضیح بدید

اگه یه سرچ ناقابل بزنی خیلی پیدا می شه
پیدا نکردی بگو برات آدرسشو پیدا کنم

intermanch
سه شنبه 08 تیر 1389, 11:12 صبح
خب//این فایل اجاکسه کنار فایل اصلی در واقع یه تابع php رو ران میکنه
تازه اولین قدمش خودش از جاوا اسکریپت استفاده میکنه

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

اما با اجاکس دیگه هروقت بخای یه تابع را ران کنی راحتی ولی دلیل نمیشه کد من کار نکنه

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

اره من هم اگه می خواستم بدون فهمیدن یه سرچ کوچولو کنم می گفتم اینه بیا همینطوری هست تنها راهش همینه

pashaie
سه شنبه 08 تیر 1389, 12:34 عصر
از کتابخانه sajax (http://www.modernmethod.com/sajax/) می تونی استفاده کنی،

مثال:

<?
require("Sajax.php");

function multiply($x, $y) {
return $x * $y;
}

sajax_init();
// $sajax_debug_mode = 1;
sajax_export("multiply");
sajax_handle_client_request();

?>
<html>
<head>
<title>Multiplier</title>
<script>
<?
sajax_show_javascript();
?>

function do_multiply_cb(z) {
document.getElementById("z").value = z;
}

function do_multiply() {
// get the folder name
var x, y;

x = document.getElementById("x").value;
y = document.getElementById("y").value;
x_multiply(x, y, do_multiply_cb);
}
</script>

</head>
<body>
<input type="text" name="x" id="x" value="2" size="3">
*
<input type="text" name="y" id="y" value="3" size="3">
=
<input type="text" name="z" id="z" value="" size="3">
<input type="button" name="check" value="Calculate"
onclick="do_multiply(); return false;">
</body>

مثال آنلاین (http://www.modernmethod.com/sajax/sajax-0.12/php/example_multiply.php)

intermanch
پنج شنبه 10 تیر 1389, 01:31 صبح
[pashaie (http://www.barnamenevis.org/forum/member.php?u=69316) ] :
همیشه دوست داشتم بیای و به سوالم تو جوای بدی از جوابات خوشم میاد

اون مثالی که زدی نیاز به یه فایل php داره در کنارش؟؟؟

intermanch
پنج شنبه 10 تیر 1389, 01:36 صبح
pashaie (http://www.barnamenevis.org/forum/member.php?u=69316)

من جواب های شما رو خیلی دوست دارم

اون مثالی که زدی نیاز به یه فایل php در کنارش داره یا نه؟؟؟؟

فکر میکنم می خواد
کد ها ارورو دارند حتی اگه فایل php نمی خواد در کنارش یه تابع اجرا نمیشه

pashaie
پنج شنبه 10 تیر 1389, 08:38 صبح
من جواب های شما رو خیلی دوست دارم
نظر لطفتونه

اون مثالی که زدی نیاز به یه فایل php در کنارش داره یا نه؟؟؟؟
بله، برای اجرای به فایل های کتابخانه sajax نیاز دارند.

کد ها ارورو دارند حتی اگه فایل php نمی خواد در کنارش یه تابع اجرا نمیشه
البته مثل اینکه چون این پروژه خیلی وقته آپدیت نشده یکم با php 5 مشکل داره.
مثلا باید داخل فایلای این کتابخونه هرچی
<?
هست و به
<?php
تغییر بدی.

یا اصلا می تونی بیخیال این sajax بشی و خودت با jquery درخواست های ajax رو واسه سرور بفرستی.

یه توضیح کوچولو:
برداشت من از این سوال شما اینه که شما می خوایید بر اثر یه رویدادی (مثلا کلیک کردن یه دکمه توسط کاربر ) یه کد جاوا اسکریپت ران بشه که این کد رو php ایجاد کرده. اگه اون کد یه کد ثابت باشه (یعنی مثلا به اطلاعات دیتابیس کاری نداره) - که از روی پست اولتون مشخصه خودتون روش شو بلدید.
ولی اگه قرار باشه بر اساس پارامتر های که برای اون تابع می فرستید، خروجی متغییر باشه، اونوقت بهتره که از ajax استفاده کنید.

شما به این مثال آنلاین (http://www.modernmethod.com/sajax/sajax-0.12/php/example_multiply.php) سر زدید؟
کار کرد این مثال همون کارکرد مورد نظر شما هست؟

intermanch
پنج شنبه 10 تیر 1389, 11:41 صبح
ممنون از سر زدنتون و رسیدگیتون

http://www.w3schools.com/PHP/php_ajax_database.asp

بهترین مثال در بهترین و ساده ترین سایت دنیا زده شده یه دمو هم روی سایت اجرا میشه که کاملا کار می کنه اما
اما
اما

جالب که وقتی سورس رو میبرم و حتی بانک اطلاعاتیشو درست می کنم نمیتونه جدولو براساس متغیر نام انتخاب شده برام نشون بده

اولین مثالی هست که از این سایت میبینم مشکل داره

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

شما با کد و تغیر دادن نش ببین میتونه روشنش کنی

مثال یعنی این که من زدم...