اذهب إلى المحتوى

السؤال

نشر (معدل)

سلام عليكم شباب

عندي مشكله في صفحه تسجيل الاعضاء  وهو ان البيانات لا تصل الي قاعده البيانات 

زالكود كالتالي 

<?php 
error_reporting(E_ALL^E_NOTICE);  
include('C:\xampp\htdocs\Artree/connect.php'); 
$UserName=$_GET ['UserName'];  
$Email=$_GET ['Email']; 
$xPassWord=$_GET ['xPassWord']; 
$ConfirmPassword=$_GET ['ConfirmPassword'];
$sql="INSERT INTO xuser(UserName,Email,xPassWord,ConfirmPassword);
VALUES('$UserName','$Email','$xPassWord','$ConfirmPassword')";
$result=$conn->query($sql); 

 ?>

وهذا كود صفحه التسجيل

<form action="C:\xampp\htdocs\Artree\conn/registeration.php"method="GET">
					<div class="input-group form-group">
						<div class="input-group-prepend">
							<span class="input-group-text"><i class="fa fa-user"></i></span>
						</div>
						<input type="text" class="form-control" placeholder="username" id="username"name="UserName" required="">
						
					</div>
					<div class="input-group form-group">
						<div class="input-group-prepend">
							<span class="input-group-text"><i class="fa fa-envelope"></i></span>
						</div>
						<input type="Email" class="form-control" placeholder="Email" id="Email"name="Email" required="">
					</div>
					<div class="input-group form-group">
						<div class="input-group-prepend">
							<span class="input-group-text"><i class="fa fa-key"></i></span>
						</div>
						<input type="Password" class="form-control" placeholder="Password"id="Password"name="xPassword"required="">
					</div>
                    
                     <div class="input-group form-group">
						<div class="input-group-prepend">
							<span class="input-group-text"><i class="fa fa-key"></i></span>
						</div>
						<input type="Confirm Password" class="form-control" placeholder="Confirm Password" id="Confirm Password" name="ConfirmPassword"required="">
					</div>

فى البدايه كان يظهرلي  


Notice: Undefined index: UserName in C:\xampp\htdocs\Artree\conn\registeration.php on line 4

Notice: Undefined index: Email in C:\xampp\htdocs\Artree\conn\registeration.php on line 5

Notice: Undefined index: xPassWord in C:\xampp\htdocs\Artree\conn\registeration.php on line 6

Notice: Undefined index: ConfirmPassword in C:\xampp\htdocs\Artree\conn\registeration.php on line 7 

ولكن بعد وضع error_reporting(E_ALL^E_NOTICE); 

اختفت تلك الرسائل ولكن لا بيانات يتم تسجيلها علي localhost

تم التعديل في بواسطة Wael Aljamal
توضيح السؤال

Recommended Posts

  • 0
نشر

مرحبا،

أن وجود Notice ليس خطأ جسيما يسبب توقف عمل الشيفرة اي ان مفسر لغة php يعرض الإخطار و يتابع تنفيذ السكربت.

إن الشفرة ليست كاملة، ينقص جزء من صفحة التسجيل، مثلا العنصر form غير موجود وسم الإغلاق الخاص به.

و يجب أن يحوي على زر submit (أو استعمال AJAX حسب الشيفرة لديك)

عند التعامل مع FORM يجب أن تتأكد من تطابق الخاصية NAME بين ما هو موجود لعناصر INPUT في HTML وقيمة الدليل في مصفوفة GET في PHP. أي اختلاف في حالة الأحرف يعتبر خطأ و لن يتم قراءة القيمة الممررة. يوجد عدم تطابق في الشيفرة لديك أرجو التأكد منهم.

بعد تأكد تشغيلك للسيفر Apache و مدير قاعدة البيانات MySql.

ثم تأكد من تنفيذ تعليمة الاتصال مع قاعدة البيانات بشكل صحيح ماذا يحوي ملف connect

 

يمكنك إضافة هذه الشيفرة للتأكد من الاتصال:

استخدام mysqli اسهل.

قم بتحريب أول جزئيتين create connection و check connection.

و تأكد من اسم الجدول لديك في قاعدة البيانات xuser.

في حال لم تقم بإنشاء قاعدة بيانات لن تعمل الشيفرة أيضا.

// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

// Create database
$sql = "CREATE DATABASE myDB";
if ($conn->query($sql) === TRUE) {
  echo "Database created successfully";
} else {
  echo "Error creating database: " . $conn->error;
}

 

  • 0
نشر

لديك مشكلة في تعليمة sql التي ترسلها: 

INSERT INTO xuser(UserName,Email,xPassWord,ConfirmPassword); VALUES('$UserName','$Email','$xPassWord','$ConfirmPassword')

لاحظ أنك تضع ; بعد تعليمة INSERT قبل VALUES وهذا خطأ سيعطي بالتأكيد SYNTAX ERROR أو ما شابه، التعليمة الصحيحة:

INSERT INTO xuser(UserName,Email,xPassWord,ConfirmPassword) VALUES('$UserName','$Email','$xPassWord','$ConfirmPassword')

نصيحتي للمستقبل: للتأكد من صحة أي تعليمة sql ترسلها من php قم بنسخ التعليمة إلى phpmyadmin واستبدل متحولات php بقيم من عندك ونفذ تعليمة sql ، أي خطأ سيظهر هناك بكل تأكيد.

بالمناسبة هناك ملف مضمن هنا:

include('C:\xampp\htdocs\Artree/connect.php');

أين كود connect.php ؟ ثم لا أنصح باستخدام absolute path هنا بل relative path:

include('connect.php');

حيث connect.php يكون بنفس مجلد registration.php، وحتى لو أردت استخدام absolute path فإما تستخدم / دائماً:

include('C:/xampp/htdocs/Artree/connect.php');

أو تستخدم \ دائماً:

include('C:\xampp\htdocs\Artree\connect.php');

واعلم أن windows يقبل / كفاصل أما سبب نصيحتي فتخيل رفع الموقع لسيرفر linux ماذا سيحدث ؟ أو سيرفر ويندوز لا يضع الموقع في C ؟

  • 0
نشر (معدل)

مازالت لا تستقبل البياناتو  دي الاكواد كلها 

<?php 
error_reporting(E_ALL^E_NOTICE);  
include('C:/xampp/htdocs/Artree/connect.php'); 
$xUserName=isset($_POST['xUserName'])? $_POST['xUserName']:'';  
$xEmail=isset($_POST ['xEmail'])?$_POST['xEmail']:''; 
$xPassWord=isset($_POST ['xPassWord'])?$_POST['xPassWord']:''; 
$xConfirmPassword=isset($_POST ['xConfirmPassword'])?$_POST['xConfirmPassword']:'';
$sql="INSERT INTO xuser(xUserName,xEmail,xPassWord,xConfirmPassword);
VALUES('$xUserName','$xEmail','$xPassWord','$xConfirmPassword')";
$result=$conn->query($sql); 

 ?>
<div class="card-body">
				<form action="C:/xampp/htdocs/Artree/conn/registeration.php"method="POST">
					<div class="input-group form-group">
						<div class="input-group-prepend">
							<span class="input-group-text"><i class="fa fa-user"></i></span>
						</div>
						<input type="text" class="form-control" placeholder="username" id="username"name="UserName" required="">
						
					</div>
					<div class="input-group form-group">
						<div class="input-group-prepend">
							<span class="input-group-text"><i class="fa fa-envelope"></i></span>
						</div>
						<input type="Email" class="form-control" placeholder="Email" id="Email"name="Email" required="">
					</div>
					<div class="input-group form-group">
						<div class="input-group-prepend">
							<span class="input-group-text"><i class="fa fa-key"></i></span>
						</div>
						<input type="Password" class="form-control" placeholder="Password"id="Password"name="xPassword"required="">
					</div>
                    
                     <div class="input-group form-group">
						<div class="input-group-prepend">
							<span class="input-group-text"><i class="fa fa-key"></i></span>
						</div>
						<input type="Confirm Password" class="form-control" placeholder="Confirm Password" id="Confirm Password" name="ConfirmPassword"required="">
					</div>
					<div class="form-group">
						<input type="submit" value="Sing Up" class="btn float-right login_btn">
					</div>
				</form>

 

تم التعديل في بواسطة Basent Mady

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...