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

المتغيرات العالمية global vairable

مغلق
بدأه الحذر في 23 مارس 2007 · 6 رد · 647 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

انا مسوي موقع بسيط لطلاب مدرسة و مسجل اسمائهم و كلمات المرور

طيب انا ما ابغى اي طالب يدخل الموقع الا و هو دخل باسم المستخدم حقه و كلمه المرور

و لتفادي اي دخول غير قانوني :rolleyes: سويت function للتأكد ان متغير اسم المستخدم و كلمة المرور غير خالية او صحيحة

سويت الfunction و عملت لها include في كل الصفحات لما انا دخلت نظامي على الصفحات تطلع رسالة لي يقول ان ما سجلت الدخول

قلت يمكن المشكلة في متغير اسم المستخدم و كلمة المرور رحت و غيرتهم الى global و ما زلت نفس المشلكة قائمة

رحت احاول اطبع قيمة المتغير العالمي golbal variablr يطلع لي قيمة خالية فارغة

ما الحل ارجو الافادة

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

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

I_can_always_make_you_smile_by_Praerion.jpg

#2

في هذه الحالة الـGlobal Variables لا تنفع، لانها تتعرف فقط في صفحة واحدة، يعني لا تنتقل من صفحة إلى صفحة

لذلك يجب عليك استخدام Session Variables

في بداية صفحة Login ضع التالي لتشغيل Sessions

	session_start();
	session_unset();
	session_destroy();//destroy older sessions*/
	session_start();

بعد ذلك يمكنك فحص اسم المستخدم وكلمة المرور وإذا كان مستخدما مسموح الدخول له ضع في متغير ما انه يمكنه الدخول، مثلا

$_SESSION['ACCESS']=1;

وفي كل صفحة افحص هل هذا المتغير 1 أم لا

if($_SESSION['ACCESS']==1)
echo "Welcome";
else
exit();

طبعا في بداية كل صفحة تستخدم فيها Session يجب وجود

	session_start();
My_Sign.jpg
#3

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

مشكور اخي ابرهيم على المشاركة بس انا جرب الي قلته و طلع لي اخطأ غريبة

و انا سويت مثال بسيط شوف بالله اين الخطأ

هذا كود صفحة الدخول الي يدخل فيهاالمستخدم الاسم و كلمه المرور

   <?
	  session_start();
	session_unset();
	session_destroy();//destroy older sessions*/
	session_start();

	  echo"
	  <form action='after_login_try.php' method='post'>
	  user name:
	  <input type='text' name='u'> <br>
	  password:
	  <input type='password' nmae='p'> <br>
	  <input type='submit' value='login'>
	  ";
	  ?>

و هذا كود للتأكد من اسم المستخدم و كلمة المرور

  <?
	   session_start();
	 if($u=='admin' and $p=='admin')
	 {
		 echo"welcome";
		 $_SESSION['ACCESS']=1;
	 }
	 else
	 {
		 echo"invalid";
	 }

	 ?>
	  <a href = http://localhost/kkkk.php> ÇáãÓÊæÏÚÇÊ</a>

و هذا كود لصفحة عادية اذا دخل المستخدم دون تسجيل الدخول يقوله خطأ في اسم المستخدم و اذا كان سجل يمكل التصفح

   <?
	 session_start();

	 if($_SESSION['ACCESS']==1)
echo "Welcome";
else
exit();
?>

ارجو ان المثال واضح

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

I_can_always_make_you_smile_by_Praerion.jpg

#4

عند استخدام session_start احرص على عدم طباعة أي شيء في الصفحة قبل استدعائها

(حتى مجرد الفراغات والأسطر الجديدة التي تسبق إشارة بدء كود PHP)

على كل إذا أمكن أذكر لنا نوع الخطأ الذي يحصل لتسهل علينا الأمور

اقتباس
You live it or lie it
so DO IT ,DO IT right ,and DO IT right now...
#5

مشكورين على التفاعل و المساعدة

و الله الاخطأ الي تطلع لي هي

[text]

Warning: Cannot send session cookie - headers already sent by (output started at c:\phpdev\www\login_form_my_php.php:7) in c:\phpdev\www\login_form_my_php.php on line 12

Warning: Cannot send session cache limiter - headers already sent (output started at c:\phpdev\www\login_form_my_php.php:7) in c:\phpdev\www\login_form_my_php.php on line 12

Warning: open(/tmp\sess_b09b6363c072ebe9b780391c043f4f3f, O_RDWR) failed: m (2) in c:\phpdev\www\login_form_my_php.php on line 12

[text/]

I_can_always_make_you_smile_by_Praerion.jpg

#6

في البداية قم بتصحيح هذا الخطأ

 <input type='password' nmae='p'>

كلمة name

ثانيا يجب تصحيح هذا السطر:

  if($u=='admin' and $p=='admin')

إلى

if($_POST['u']=='admin' and $_POST['p']=='admin')

وكما قال الأخ XX0111XX يجب أن تكون session_start(); في البداية.....لا شيء قبلها إلا <?php

My_Sign.jpg
#7

السلام عليكم

ويمكنك فى النهاية بعد المحاولات والتأكد من أن الكود يعمل جيداً

أن تقوم بإضافة علامة @ فى بداية السطر التالى

@session_start();

" وما توفيقى إلا بالله عليه توكلت وإليه أنيب "
-------------------------------------------------
قل : " لا حول ولا قوة إلا بالله "
-------------------------------------------------

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

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