تغطية مباشرة لأحداث منتدى الإعلام الجديد المقام بمدينة أبوظبي
هل تقترح تمديد مسابقة سوالف كاست؟

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو نشيط جدا
تاريخ التسجيل: Jun 2004-
#1 (permalink)  
مشكلة في الانتقال من خطوة لاخرى ، لا استطيع إبقاء المتغيرات حية لإستخدامها :(


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

اخواني الاعزاء . واجهتني مشكلة عويصة اتمنى احصل حل لها عندكم

عندي برنامج يحتوي على صفحة واحدة وتعمل بنظام setp by setp ، يعني تخلص من الخطوة رقم 1 تنتقل للخطوة رقم 2 وهكذا حتى النهاية .

واستخدم فيها switch للخطوات ،

مثلاً في الخطوة رقم 1 نفذت استعلام select ورجعت نتائج ابي اسندهم لمتغيرات عشان اول شي اطبعهم وعشان اقدر استخدمهم في الخطوات الباقية مثلاً لو عندي 8 خطوات ابي المتغيرات الي حصلت عليهم في الخطوه رقم 1 و 2 و 3 و 4 و 5 و 6 و 7 تبقى حية عشان في الخطوة رقم 8 الاخيرة ارسلهم على البريد مثلاً او اسوي لهم insert في القاعدة

الخطوات مثلاً
اول خطوة فيها الراجع من القاعدة وهو المنتج ووصف المنتج
الخطوة الثانية تكون المعلومات الشخصية لطالب المنتج
الخطوة الثالثة تكون بعض العروض الي بحطها
الخطوة ............................
الخطوة الثامنة تكون فيها دالة الإرسال للبريد وهذي اعرفها ، ورساله شكر مثلاً

كيف احتفظ ببقاء المتغيرات حية اثناء المرور على كل الخطوات ؟

وكيف اصلاً استطيع الانتقال بين الخطوات عن طريق زر ؟( اضغط هنا للمتابعة)
لاني جربت احط form بس ما زبط

اتمنى الاقي الحل وشكراً لكم






net4fast غير متواجد حالياً   قديم 14-06-2006, 02:56 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2002-
#2 (permalink)  

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

لحفظ البيانات يمكنك العمل بإحدى الطريقتين:
GET ::::> حيث ستعرض جميع البيانات في المتصفح... (لا ينصح بها إذا كانت هناك بيانات سرية)
POST ::::> حيث ستكون مخفية ويمكنك عمل ذلك بإرسال بيانات كل صفحة إلى حقول مخفية... أو حقل واحد ثم تقسيمه باستخدام explode()


أما الانتقال بين الخطوات يمكنك عمل ذلك يدويا لكل صفحة باستخدام الفورم إذا استخدمت طريقة POST أو عمل كود بسيط يكتب رقم الصفحة التالية


أنا في الخدمة في حالة وجود أي أسئلة أخرى
تحياتي






PHP-Master02 غير متواجد حالياً   قديم 14-06-2006, 03:09 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2004-
#3 (permalink)  

يعطيك العافية PHP-Master02

ولكن لو فرضنا انني اسندت الراجع من قاعدة البيانات وهم حقلين فقط إلى حقول مخفية ،

كيف اخليها حية إلى ان اصل للخطوة الاخيره ؟

يعني الخطوة الاولى راح اسند الراجع من القاعدة في حقلين مخفيين او ظاهرين لا يوجد مشاكل
الخطوة الثانيه لا اريد استخدام الحقليين ، بل اريد المستخدم ان يدخل معلوماته الشخصية
.
.
.
.
.
اخر خطوة اريد ان ارسل كل المتغيرات التي حصلت عليها من الخطوة رقم 1 إلى الخطوة رقم 8 إلى البريد مثلاً ؟؟






net4fast غير متواجد حالياً   قديم 14-06-2006, 03:26 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2002-
#4 (permalink)  

هذا مثال بسيط.....

مثلا في الصفحة الأولى طلب منتجات معينة
الحقل اسمه Prod1 اختار Magazine
عند التوجه للصفحة التالية بنموذج آخر ادرج حقل مخفي به التالي
كود:
<input type="hidden" name="data1" value="<?=$_POST['Prod1']?>">
وبهذه الطريقة تكون حفظت البيانات الأولى للصفحة الثانية
وبنفس الطريقة انقل محتويات هذا الحقل إلى حقل مخفي آخر بالصفحة التالية......

تحياتي






PHP-Master02 غير متواجد حالياً   قديم 14-06-2006, 03:35 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2002-
#5 (permalink)  

وشيء آخر....
إذا كان هنالك أكثر من حقل يمكنك العمل بإحدى الطريقتين:
1/ إنشاء أكثر من حقل مخفي (متعبة بعض الشيء وتزيد حجم الصفحة قليلا)
2/ الفصل بين المنتجات أو البيانات بأي فاصل مثل: * أو / أو # وغيرها،، ثم استخدام الدالة Explode لفصل البيانات عن بضعها بشرط ثبات الفاصل وأن تعرف ترتيب البيانات






PHP-Master02 غير متواجد حالياً   قديم 14-06-2006, 03:40 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2004-
#6 (permalink)  

لله يعطيك العافية PHP-Master02 ، راح ادرس فكرة Explode ، ولو انها ما وضحت ، يعني هل انفذ Explode في الفورم ؟
ولا في اول كل خطوة ؟

مع العلم اني اعرف استخدام دالة Explode والتي تمثل البيانات على شكل مصفوفة

كود PHP:

$test 
"this/is/a/test/only";
$test1 explode("/" "$test");
echo 
"$test1[0]\n" ;
echo 
"$test1[1]" 
اتمنى توضح اكثر
وآسف جداً على الازعاج ، اتمنى تتحمل اسئلتي الغبية D






net4fast غير متواجد حالياً   قديم 14-06-2006, 03:59 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2004-
#7 (permalink)  

هذا مثال بسيط للبرنامج ، طبعاً ينقصة زر (اضغط هنا للمتابعة) لاني مثل ما قلت لكم ما عرفت كيف احطة

كود PHP:
<?php
include ('config.php');
$setp '';
if(isset(
$_GET['setp'])) $setp strip_tags($_GET['setp']);
switch(
$setp){
default:
echo 
"دخول غير مسموح بة" ;
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case '1':
$proid strip_tags($_GET['proid']) ;
$results mysql_query("SELECT * FROM Produces where proid='$proid'");
while(
$row mysql_fetch_object($results))
{
$Prod $row->Prod;//اسم المنتج
$dec $row->dec;//وصفة
echo "$Prod\n";
echo 
"$dec\n";
}

break;
//////////////////////////////////////////////////////////////////////////////////////////////
case '2':
echo 
"$Prod" ;
$name "net4fast" ;
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case '3':
echo 
"$name" ;
break;

}

?>






net4fast غير متواجد حالياً   قديم 14-06-2006, 04:27 AM
رد مع اقتباس
Moderator
تاريخ التسجيل: Aug 2004-
#8 (permalink)  

يا شباب ؟؟ ليش كل هذا التعقيد ؟؟ هل سمعتم بالجلسات ؟ sessions او الامر ()session_start ؟
لان الجلسات ممكن ان تحفظ البيانات في السرفر بدون مصايب قاعده البيانات !!! تخيل .. ان الخ الذي يعبي البيانات .. ما قدر يكمل .. ؟؟ يعني لازم تنظف البيانات التي لم يكتمل بعد من قاعده البيانات ؟؟ وكيف تعرف ان البيانات ناقصه او اصلاً هي لمعلومات قيد الانشاء ؟؟

الجلسات .. تمسح نفسها بنفسها بعد اغلاق المتصفح ؟؟ يعني المعلومات تكون في السرفر الى ان تمسحها بنفسك او ان المستخدم يقفل المتصفح !






__________________
هلابي افضل المواقع العربية تصميماً
انصح باستخدام ابونتو
hilaby غير متواجد حالياً   قديم 14-06-2006, 05:42 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2004-
#9 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة hilaby
يا شباب ؟؟ ليش كل هذا التعقيد ؟؟ هل سمعتم بالجلسات ؟ sessions او الامر ()session_start ؟
لان الجلسات ممكن ان تحفظ البيانات في السرفر بدون مصايب قاعده البيانات !!! تخيل .. ان الخ الذي يعبي البيانات .. ما قدر يكمل .. ؟؟ يعني لازم تنظف البيانات التي لم يكتمل بعد من قاعده البيانات ؟؟ وكيف تعرف ان البيانات ناقصه او اصلاً هي لمعلومات قيد الانشاء ؟؟

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

ولا شرايك ، ابي لو مثال بسيط لا هنت

تحياتي






net4fast غير متواجد حالياً   قديم 14-06-2006, 05:54 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2004-
#10 (permalink)  

بصراحه بديت افقد الامل احس الدعوه حوسة مع ان فية حل يختصر الحوسة كلها






net4fast غير متواجد حالياً   قديم 14-06-2006, 05:56 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2004-
#11 (permalink)  

جربت نظام الجلسات ، وهذي تجربتي ولكن للاسف ما زبطت ، ماهو الخطأ

كود PHP:

<?php
include ('config.php');
$setp '';
if(isset(
$_GET['setp'])) $setp strip_tags($_GET['setp']);
switch(
$setp){
default:
echo 
"دخول غير مسموح بة" ;
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case '1':
session_start();
$proid strip_tags($_GET['proid']) ;
$results mysql_query("SELECT * FROM Produces where proid='$proid'");
while(
$row mysql_fetch_object($results))
{
$Prod $row->Prod;//اسم المنتج
$dec $row->dec;//وصفة
echo "$Prod\n";
echo 
"$dec\n";
}
echo 
"<a href='/order/order.php?setp=2'>اضغط هنا للمتابعة</a>" ;
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case '2':
session_start();
$_SESSION['Name'] = $_POST['Prod'];
echo 
"$Prod" ;
$tel "00966555" ;
echo 
"<a href='/order/order.php?setp=3'>اضغط هنا للمتابعة</a>" ;
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case '3':
session_start();
$_SESSION['Name1'] = $_POST['tel'];
echo 
"$tel" ;
break;

}

?>

مع العلم انني لا اريد استخدام GET لانها فضيحة






net4fast غير متواجد حالياً   قديم 14-06-2006, 06:26 AM
رد مع اقتباس
Moderator
تاريخ التسجيل: Aug 2004-
#12 (permalink)  

السلام .. انت في الطريق الصحيح ... كل شيء في مكانه الصحيح .. ماعدى الامر ()session_start ...
لان الشرط الوحيد في استخدامه هو ان يكون في اعلى السكربت .. ويوضع فقط مره واحده
يعني تكتب هذا الامر مره واحده قبل كل شييء .. حتى قبل التعريف حق شفرات الHTML






__________________
هلابي افضل المواقع العربية تصميماً
انصح باستخدام ابونتو
hilaby غير متواجد حالياً   قديم 14-06-2006, 08:06 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2004-
#13 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة hilaby
السلام .. انت في الطريق الصحيح ... كل شيء في مكانه الصحيح .. ماعدى الامر ()session_start ...
لان الشرط الوحيد في استخدامه هو ان يكون في اعلى السكربت .. ويوضع فقط مره واحده
يعني تكتب هذا الامر مره واحده قبل كل شييء .. حتى قبل التعريف حق شفرات الHTML
يعطيك العافية / اتعبتك معاي

سويت الي قلته بس ولله ما نفع

شوف حطيته في اول السطر ولكن للآسف انه ما زبط

كود PHP:

<?php
session_start
();
include (
'config.php');
$setp '';
if(isset(
$_GET['setp'])) $setp strip_tags($_GET['setp']);
switch(
$setp){
default:
echo 
"دخول غير مسموح بة" ;
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case '1':
$proid strip_tags($_GET['proid']) ;
$results mysql_query("SELECT * FROM Produces where proid='$proid'");
while(
$row mysql_fetch_object($results))
{
$Prod $row->Prod;//اسم المنتج
$dec $row->dec;//وصفة
echo "$Prod\n";
echo 
"$dec\n";
}
echo 
"<a href='/order/order.php?setp=2'>اضغط هنا للمتابعة</a>" ;
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case '2':
$_SESSION['Name'] = $_POST['Prod'];
echo 
"$Prod" ;
$tel "00966555" ;
echo 
"<a href='/order/order.php?setp=3'>اضغط هنا للمتابعة</a>" ;
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case '3':
$_SESSION['Name1'] = $_POST['tel'];
echo 
"$tel" ;
break;

}

?>






net4fast غير متواجد حالياً   قديم 14-06-2006, 08:27 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2004-
#14 (permalink)  

وين المساعده

ولله انها اتفه من التافه بنسبة للخبراء ، ويستخدمونها في اغلب برامجهم يعني بس نبي رد خبير

الاستاذ PHP-Master02 ما قصر بس اختفى هو والاستاذ hilaby






net4fast غير متواجد حالياً   قديم 14-06-2006, 10:50 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2004-
#15 (permalink)  

up
up
up






net4fast غير متواجد حالياً   قديم 15-06-2006, 05:59 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Mar 2003-
#16 (permalink)  

خزن البيانات اللي تبغاها في مصفوفة الجلسة
يعني اسم المنتج ووصفه, ومعلومات المشتري وغيرها احفظها في مصفوفة الجلسة, زي كذا:
كود PHP:
$_SESSION['اسم المنتج'] = 'book'
وراح تكون البيانات محفوظة إلى ان يقفل الزائر المتصفح او انت تمسح بيانات الجلسة :
كود PHP:
$_SESSION = array(); 
جرب هذا التعديل
كود PHP:
<?php
session_start
();
include (
'config.php');
$setp '';
if(isset(
$_GET['setp'])) $setp strip_tags($_GET['setp']);
switch(
$setp){
default:
echo 
"دخول غير مسموح بة" ;
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case '1':
$proid strip_tags($_GET['proid']) ;
$results mysql_query("SELECT * FROM Produces where proid='$proid'");
while(
$row mysql_fetch_object($results))
{
$_SESSION['Prod'] = $row->Prod;//اسم المنتج
$_SESSION['dec'] = $row->dec;//وصفة
echo "$_SESSION['Prod']\n";
echo 
"$_SESSION['dec']\n";
}
echo 
"<a href='/order/order.php?setp=2'>اضغط هنا للمتابعة</a>" ;
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case '2':
echo 
"$_SESSION['Prod']" ;
$_SESSION['tel'] = "00966555" ;
echo 
"<a href='/order/order.php?setp=3'>اضغط هنا للمتابعة</a>" ;
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case '3':
$_SESSION['Name1'] = $_POST['tel'];
echo 
"$tel" ;
break;

}

?>






__________________
قال عليه الصلاة والسلام:"ليس منا من دعا إلى عصبية وليس منا من قاتل على عصبية وليس منا من مات على عصبية"

# مشاريع:
- الفوائد .. خلاصة العلم والمعرفة

العمل بصمت - nawaf.hareeri.net
العملاق غير متواجد حالياً   قديم 17-06-2006, 05:50 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Dec 2004-
#17 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة net4fast
وين المساعده

ولله انها اتفه من التافه بنسبة للخبراء ، ويستخدمونها في اغلب برامجهم يعني بس نبي رد خبير

الاستاذ PHP-Master02 ما قصر بس اختفى هو والاستاذ hilaby






__________________
الخدمات البرمجية
تعديلات برمجية - تطوير برمجيات جاهزة - صيانة قواعد بيانات
برمجة خاصة (الأولوية للأفكار الجديدة والخاصة)

المراسلة : http://it.rewaq.com
القائد غير متواجد حالياً   قديم 17-06-2006, 09:12 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2002-
#18 (permalink)  

آسف لتأخري ...
ولكني مشغول جدا هذه الأيام
أنا في خدمتك ...






PHP-Master02 غير متواجد حالياً   قديم 17-06-2006, 09:43 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2004-
#19 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة العملاق
خزن البيانات اللي تبغاها في مصفوفة الجلسة
يعني اسم المنتج ووصفه, ومعلومات المشتري وغيرها احفظها في مصفوفة الجلسة, زي كذا:
كود PHP:
$_SESSION['اسم المنتج'] = 'book'
وراح تكون البيانات محفوظة إلى ان يقفل الزائر المتصفح او انت تمسح بيانات الجلسة :
كود PHP:
$_SESSION = array(); 
جرب هذا التعديل
كود PHP:
<?php
session_start
();
include (
'config.php');
$setp '';
if(isset(
$_GET['setp'])) $setp strip_tags($_GET['setp']);
switch(
$setp){
default:
echo 
"دخول غير مسموح بة" ;
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case '1':
$proid strip_tags($_GET['proid']) ;
$results mysql_query("SELECT * FROM Produces where proid='$proid'");
while(
$row mysql_fetch_object($results))
{
$_SESSION['Prod'] = $row->Prod;//اسم المنتج
$_SESSION['dec'] = $row->dec;//وصفة
echo "$_SESSION['Prod']\n";
echo 
"$_SESSION['dec']\n";
}
echo 
"<a href='/order/order.php?setp=2'>اضغط هنا للمتابعة</a>" ;
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case '2':
echo 
"$_SESSION['Prod']" ;
$_SESSION['tel'] = "00966555" ;
echo 
"<a href='/order/order.php?setp=3'>اضغط هنا للمتابعة</a>" ;
break;
//////////////////////////////////////////////////////////////////////////////////////////////
case '3':
$_SESSION['Name1'] = $_POST['tel'];
echo 
"$tel" ;
break;

}

?>
لله يعطيك العافية ولكن يطلع لي إيرور ، وتحديداً في هذا السطر
echo "$_SESSION['Prod']" ;

هل من حل ؟






net4fast غير متواجد حالياً   قديم 21-06-2006, 03:46 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2002-
#20 (permalink)  

عدل السطر
كود PHP:
echo "$_SESSION['Prod']" 
إلى
كود PHP:
echo $_SESSION['Prod']; 






PHP-Master02 غير متواجد حالياً   قديم 21-06-2006, 01:43 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2004-
#21 (permalink)  

لله يعطيكم الف الف الف عافية PHP-Master02 و العملاق و hilaby ، فعلاً كبااار

تحياتي لكم






net4fast غير متواجد حالياً   قديم 21-06-2006, 09:33 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2002-
#22 (permalink)  

في الخدمة دوما






PHP-Master02 غير متواجد حالياً   قديم 22-06-2006, 04:02 AM
رد مع اقتباس
رد


 

أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 08:25 AM بتوقيت المملكة العربية السعودية