الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استدعاء دالة php الى زر html

بدأه Rasool Micro في 27 نوفمبر 2011 · 9 رد · 4,326 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام وعليكم اخواني المطورين :cool:

حالياً اقوم بتصميم صفحة ويب واريد ان اسأل كيف اقوم باستدعاء دالة كتبتها في لغة الphp داخل button مكتوبة في لغة الhtml داخل الوسم body ؟؟؟؟؟؟؟؟؟؟؟؟؟؟ وهذا الكود يوضح ما اريد

<html>
<head>
<title> </title>
</head>

<body>

<?php

function WTEXT($x)
{
$fp=fopen("file.txt","a");
fwrite($fp,$x);
fwrite($fp,"\r\n");
fclose($fp);
return 1;
}

?>


<button onclick="الدالة التي يجب ان استدعيها" >click here</button>

</body>
</html>

وشكراً

تم تعديل هذه المشاركة بواسطة Rasool Micro في 27 نوفمبر 2011 في 15:08

#2
<form action="name.php" method="post" >
<input type="submit" value="Go To" />
</form>

name.php

PHP CODE HERE

@My Twitter

[spacing]

EGYPT

[/spacing]

#3
اقتباس
<form action="name.php" method="post" >

<input type="submit" value="Go To" />

</form>

اخي الكود لم ينفع معي . ثم اني قد شرحت لحضرتك ما اريد وهو استدعاء دالة كتبتها بال php واريد استدعائها في صفحة html عند الضغط على زر

#4

جرب هذا الكود ان شاء الله يكون واضح

<html>
<head>
<title> </title>
</head>

<body>

<?php

function WTEXT($x)
{
$fp=fopen("file.txt","a");
fwrite($fp,$x);
fwrite($fp,"\r\n");
fclose($fp);
return 1;
}

if($_GET['func'] == 'run')
{
	WTEXT($x);
}

?>


<button onclick="javascript:window.location = '?func=run'" >click here</button>

</body>
</html>
1

M.B.O

Mohamed Bin Othman

إبن المكلا

يابني البشر ماذا فعلتم بالبشر !!

إسـألـنـي

#5
M.B.O كتب:

جرب هذا الكود ان شاء الله يكون واضح

<html>
<head>
<title> </title>
</head>

<body>

<?php

function WTEXT($x)
{
$fp=fopen("file.txt","a");
fwrite($fp,$x);
fwrite($fp,"\r\n");
fclose($fp);
return 1;
}

if($_GET['func'] == 'run')
{
	WTEXT($x);
}

?>


<button onclick="javascript:window.location = '?func=run'" >click here</button>

</body>
</html>

اخي اشكرك على ردك الرائع والحمد لله الكود اشتغل مئة بالمئة

ولكن لدي سؤالين :

1. ممكن تشرح لي ماذا تعني هذه الاكواد:

if($_GET['func'] == 'run') 
{ 
     WTEXT($x); 
} 

?>
<button onclick="javascript:window.location = '?func=run'" >click here</button>

2. كيف امرر براميترات (متغيرات) الى دالتي؟

#6

الامر يعتمد على مصفوفة GET

وهناك اختها المرافقه لها POST

طيب ايش هي الـ GET و ايش هي الـ POST

ماراح اشرح لك كثير في هذه النقطة لان الدروس التي تتحدث عنها كثيرة

اطلع على هذه الروابط لتفهم اكثر

http://www.cbtarab.com/musicvideo.php?vid=bd2aa09a1

http://www.webdevelopersnotes.com/basics/http_client_methods_get_post.php3

http://catcode.com/formguide/getpost.html

الامر الثاني بخصوص الزر

onclick="javascript:window.location = '?func=run'"

ببساطة الكود هذا كأنك تقول , عند الضغط على هذا العنصر قم بالانتقال الى الرابط التالي

انا وضعت هذا الرابط

?func=run

والسبب انه اريد لما يضغط المستخدم على الزر ينتقل الى الملف نفسه لكن مع تمرير بعض البراميتر عبر المصفوفة GET

اذا قام المستخدم بالضغط يتغير الرابط ليصبح بهذا الشكل

filename.php?func=run

بمعنى امرر القيمة run الى func

والشرط يختبر اذا كان func يساوي run نفذ الدالة

ان شاء الله تكون وضحت الصورة

M.B.O

Mohamed Bin Othman

إبن المكلا

يابني البشر ماذا فعلتم بالبشر !!

إسـألـنـي

#7

تمرير قيم المتغيرات بين PHP وال HTML يجب ان يكون إما ب POST أو GET مع إعادة تحميل الصفحة

كما لا يمكنك استدعاء دالة PHP في وسوم الهوتميل كون وسوم الهوتميل تتعامل مع دوال javascript وليس مع دوال ال PHP

#8
M.B.O كتب:

الامر يعتمد على مصفوفة GET

وهناك اختها المرافقه لها POST

طيب ايش هي الـ GET و ايش هي الـ POST

ماراح اشرح لك كثير في هذه النقطة لان الدروس التي تتحدث عنها كثيرة

اطلع على هذه الروابط لتفهم اكثر

http://www.cbtarab.com/musicvideo.php?vid=bd2aa09a1

http://www.webdevelopersnotes.com/basics/http_client_methods_get_post.php3

http://catcode.com/formguide/getpost.html

الامر الثاني بخصوص الزر

onclick="javascript:window.location = '?func=run'"

ببساطة الكود هذا كأنك تقول , عند الضغط على هذا العنصر قم بالانتقال الى الرابط التالي

انا وضعت هذا الرابط

?func=run

والسبب انه اريد لما يضغط المستخدم على الزر ينتقل الى الملف نفسه لكن مع تمرير بعض البراميتر عبر المصفوفة GET

اذا قام المستخدم بالضغط يتغير الرابط ليصبح بهذا الشكل

filename.php?func=run

بمعنى امرر القيمة run الى func

والشرط يختبر اذا كان func يساوي run نفذ الدالة

ان شاء الله تكون وضحت الصورة

اخي بالنسبة الى موضوع post وget فلقد فهمته

ولكن مازال امر تمرير براميترات الى دالة الphp امر غامض فهل تفسر لي كيف مع الكود؟؟!!!!!!

#9

راح اعطيك مثال بسيط

انظر فوق على رابط هذا الموضوع هذا هو

/index.php?showtopic=251918

اعتبر كلمة showtopic هي عبارة عن متغير و 251918 هي قيمة المتغير showtopic

طيب من المعروف ان المتغيرات يتم تعريفها داخل ملف PHP

لكن انا ممكن اعرف متغير في الرابط واستطيع ان اوصل له من خلال مصفوفة GET

فرضا ً عرفت المتغير بأسم func

فانا عشان اوصل لقيمته اوصله بهذه الطريقة

$_GET['func']

لاحظ مصفوفة GET ثم اسم المتغير الذي تريد جلب قيمته

في الطلب الذي وضعته انت لاحظ الكود الذي وضعته لك حطيت شرط قلت له اذا كان المتغير func يساوي run نفذ الدالة

عندما تستعرض الملف بشكل عادي filename.php ماراح تتنفذ الدالة لانه لايوجد هناك متغير على الرابط اسمه func

ولا يحتوي على القيمة run

لكن عندما يتم النقر على الزر يتغير الرابط ويتم تعريف المتغير وفي هذه الحالة ممكن اوصل له من خلال المصفوفة GET واختبر قيمته

هو في الحقيقة لا يعتبر متغير بمعنى المتغير المتعارف عليه لكن كتوضيح فقط عشان تفهم الفكرة

انا حطيت لك روابط بس شكلك ما اطلعت عليها , لو كنت فاهم ماهو الـ GET ما اعتقد يكون عندك هذا الغموض

لذلك انصحك تقرء عن هذا الموضوع اكثر وتطبق بشكل اكثر عشان تفهم الفكرة

موفق ان شاء الله

1

M.B.O

Mohamed Bin Othman

إبن المكلا

يابني البشر ماذا فعلتم بالبشر !!

إسـألـنـي

#10

السلام عليكم

إضافة لما سبق أحببت إضافة بعض الأمور لكي يسهل فهم خاصية نقل البيانات عبر GET ; POST

أولا: الphp هي لغة تنفذ على السيرفر يعني قبل أن يرسل السيرفر لك الصفحة سيقوم بترجمة الphpإلى أكواد html يعني لن يصل في متصفحك أي كود php بل فقط تنفيذ الكود(إطلع على مصدر أي صفحة أنترنات تريد من المتصفح لتتأكد)

ثانيا: لكي تنفذ أي دالة يجب إرسال أمر السيرفر لكي يقوم بإعادة ترجمة الصفحة من جديد مع تنفيذ الدالة إما بإستخدام الفورم مثل إجابة الأخ HUSSEin-AHMeD أو بإستخدام الأحداث و أوامر الجافا سكريبت (الجافا سكريبت لا تترجم على السيرفر مثل الphp لكن المتصفح هو اللذي يترجمها) او بإستخدام رابط عادي لصفحة الدالة و إضافة علامة إستفهام ثم ....إلخ مثل ما شرح الأخ M.B.O و لإضافة عدة براميتر على قولك إستعمل فقط &

ثالثالكي تستقبل البراميتر بكل بساطة تقوم بعمل إستثناء أو شرط بإستخدام ()if أو أدات شرطية أخرى بمعنى ...........إذا كان البراميتر موجود نفذ الدالة ..........فعند الدخول للصفحة في المرة الأولى لايكون هناك براميتر فلايتحقق الشرط لذالك لا تنفذ الدالة و حين يضغط المستخدم على الزر أو الرابط يتم إرسال البراميتر فيتحقق الشرط و تنفذ الدالة

و في الأخير أتمنى أكون وفقت في إصال المعلومة على السريع

فإن أصبت فمن عند الله و إن أخطأت فمن نفسي و من الشيطان(أعوذ بالله من الشيطان الرجيم)

تم تعديل هذه المشاركة بواسطة عبد القادر الحرثي في 10 ديسمبر 2011 في 00:16

مواضيع مشابهة