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

كل الخطوات سليمةوالمشكلة في ارسال القيم لصفحةPHP

مغلق
بدأه حسن المنتصر في 27 أكتوبر 2005 · 10 رد · 880 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

لقد حاولت البدء بتعلم هذه اللغة ولقد تمكنت من تتبع الدروس بنجاح الى ان واجهتني مشكلة عند درس الفورم حيث ان البرنامج ينفذ لكن عند ارسال القيم من صفحة لأخرى تظهر الراسالة التالية

وهذا هو الملف الاول

<? echo '
<form action="data_code.php" target="_self">
الإسم<br>
<input type="text" value="arabteam">
<br>اللغة التي تفضلها
<br>
<input type="radio" name="sel" value="php"> بي اتش بي
<br>
<input type="radio" name="sel" value="csharp">سي شارب
<br>
<input type="radio" name="sel" value="vb"> فيجوال بيزك
<br>
<input type="reset" value="إعادة تعيين">
<input name="submit" type="submit" value="صوت">
<br>
</form>';
?>

وهذا الملف الثاني

<?
$space="*-*-*-*-*-*-*-*-*-*-*-*-*-*";
echo "
<p dir='rtl'><font face='tahoma' size='2'><b>
الإسم: 
<br>$nm
<br>$space<br>
الاختيار:
<br>$sel
<br>$space<br>
التاريخ:
<br>$td
</b></font></p>";
?>

وهذه رسالة الخطأ

PHP Warning: Undefined variable: nm in E:\phpdir\data_code.php on line 10
PHP Warning: Undefined variable: sel in E:\phpdir\data_code.php on line 13 
PHP Warning: Undefined variable: td in E:\phpdir\data_code.php on line 16

والحقيقة انني وقفت عاجزا عن حل هذه المشكلة

أرجو المساعدة ممن لديه الخبرة

#2

تحياتي

اولا دعنا ننظر الى كود صفحة الـ html و التي فيها الرمز التالي

<input type="text" value="arabteam">

هذا الكود خاطة

يجب ان يكون على الشكل التالي :

<input type="text" name="nm" value="arabteam">

و اضفنا اليها بارامترات اسمها name و التي على اساسها سيتحدد اسم المتحول في صفحة الـ php

و بالتالي سيكون اسم المتحول في صفحة الـ php

$_POST['nm']

و بنفس الطريقة يتم التطبيق على الكائنات الاخرى

Let's google help you Before ask

--------------------------

My Blog : www.phplover.net

#3

السلام عليكم

باللإضافة لملاحظة المشرف ...

اخ حسن يجب عليك تحديد متغير فى الملف الاول يحتوى على الدالةdata كما يلى :

$tr=data('d/m/y')

وكذلك تقوم بعمل حقل مخفى وإعطائة الذى يقوم بتقديم المتغير tr داخل المتغير td كما يلى :

[code]<input type='hidden' name='td' value='$tr'>[code]

#4

اشكركم اخوتي جزيل الشكر على الرد السريع والمساعدة التي قدمتموها

ساجرب تنفيد الاكواد وساوافيكم بالرد ان شاء الله

#5

حاولت الاختصار على نفسي بمتغير واحد فقط ولكن المشكلة لازالت موجود حتى بعد التعديل

هدا الملف الاول

<? 
echo'
<form action="data_code.php" method="post">
your name <br>
<input type="text" name="nm" value="hasan almuntaser">
<br>
<input type="reset" value="reset">
<input name="submit" type="submit" value="submit">
<br>
</form>';
?>

وهذا الملف الثاني

<?
echo $nm;
?>

وهذه الرسالة التي سئمت رؤيتها

PHP Warning: Undefined variable: nm in E:\phpdir\data_code.php on line 2

فهل من اقتراح اخر ؟

#6

جرب الى قاله mostafasawan بخصوص

$_POST['nm']

Web Citizen

ShrefInLife.gif

__________

General blog : Shref In Life

#7

اخي ارجو منك شرح ولو سريع علي هذه الجملة

فأنا لااعرف الغرض منها ولا حتى اين اكتبها !

#8

اخي العزيز

أولا: هل انت قمت بتغير register.globals وجعلتها on بدلا من off حتي يعمل نظام ارسال المتغيرات العادي ولتغيرها تذهب الي ملف php.ini وابحث عنه عن طريق ctrl+f وتبحث عن register حتي تجد register.globals وتغيرها الي on والنصيحه العلميه ان تجلها off وتعمل علي نظام المصفوفات ولكن انا اعمل علي النظام العادي وهو on (لا تنسا اغلاق وتشغيل السرفر مره ثانيه وايضاً لا تنسا اخذ نسخة من ملف php.ini ووضعها في فولدر الويندز)

ثانياً: صفحات السكربت

كما قال اخي shreef ولكن نسي فقط echo و ;

واليك عزيزي الكود الكامل إن شاء الله يعمل

1- صفحة data.html

<html dir=ltr>
<head>
<title>data.html</title>
</head>
<body bgcolor=#ffffff>

<form action=data_code.php method="post" >
<br>اللغة التي تفضلها
<br>
<input type="radio" name="sel" value="php"> بي اتش بي
<br>
<input type="radio" name="sel" value="csharp">سي شارب
<br>
<input type="radio" name="sel" value="vb"> فيجوال بيزك
<br>

<input type="submit" value="Send">
</form>


</body>
</html>

2-صفحة data_code.php

<html>

<head>
  <title>data_code.php</title>
</head>

<body>

<a href="data.html">Back to date.html </a><br>

<?php

echo $_POST['sel'];

?>

</body>

</html>

لو قمت بعمل التغيرات وجعلتها on بأمكانك تغير السطر الي

echo "$sel";

ارجوا ان تكون قد وجدت ضالتك اخي وبالتوفيق إن شاء الله :)

تم تعديل هذه المشاركة بواسطة abkareno في 29 أكتوبر 2005 في 03:00

يابن ادم ولدتك امك باكياً والناس حولك سروراً فعمل لي يوم اذا بكوا في يوم موتك ضاحكاً مسروراً

اطلب اي ملف Testking او كتاب من كتب ميكروسوفت في اي مجال

#9

أخي العزيز شكرا لك ولكل الاخوة و الحقيقة عارف اني تعبتكم معاي و انا اسف جدا

وبالنسبة للملف فأنا فعلا وضعته في مجلد الويندوز و بالنسبة للإعدادت فهي مضبوطة وتمام التمام register_globals = on ولكن المشكلة لازالت قائمة ولازالت نفس الرسالة تطلع

#10

بارك الله فيكم جميعا

لقد نجحت العملية اخيرا

لكن لدي استفسار بسيط

لماذا تم الارسال من صفحة HTML وفشل من صفحة PHP

ولماذا نجحت عملية استقبال قيمة المتغير بالدالة $_POST اليس المفروض ان تنجح ايضا مع echo "$sel";

أرجوا التوضيح

واسف جدا على الاكثار من الاسئلة

#11

مفهاش اي حاجه اسئل الي يعجبك

اولا السكربت هيشتغل عادي خالص لو انتا عملت الاعدادات تمام

ممكن تخلي الصفحه php ديه مش فارقه بس حبيت اقولك انه مش مهم تحط الكود جوه برنامج php هو بيستقبلها من صفحة html العادية ثانيا لو هتحط كود html جوه برنامج php يبقي لازم تخلي علامات التنصيص مفرده في كل الكود يعني تخليها ديه ( ' ) طبعاً ماعدا علامات التنصيص اللازمه في اول الكود يعني مثلاً

echo "<font color="red">Hello</font>";
ده غلط الصح
echo "<font color='red'>Hello</font>";

فعادي لما تحطها في html او php في اي حال سوف يرسل المتغيرات

اما بالنسبه

اقتباس
ولماذا نجحت عملية استقبال قيمة المتغير بالدالة $_POST اليس المفروض ان تنجح ايضا مع echo "$sel";

مادمت قد نفذت الاعدادت بالطريقه الصحيحه فسوف تعمل بالطريقتين إن شاء الله ولن تجد اي فرق

:)

اذا لم تفهم شئ مما قلت قول وانا احاول ابسط إن شاء الله

تم تعديل هذه المشاركة بواسطة abkareno في 29 أكتوبر 2005 في 04:50

يابن ادم ولدتك امك باكياً والناس حولك سروراً فعمل لي يوم اذا بكوا في يوم موتك ضاحكاً مسروراً

اطلب اي ملف Testking او كتاب من كتب ميكروسوفت في اي مجال

هذا الموضوع مغلق.

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