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

السؤال

نشر

سلام عليكم

ساعدوني فضلا في ايجاد الخطأ 

انا بحاول اضيف بند لقاعدة البيانات باستخدام ajax  و بياناتي كالتالي

كود ال FORM  اهو 

                    <div class="container">

                        <div class="row text-center">

                            <div class="main-card col-12 mb-3 m-auto card">

                                <div class="card-body">

                                    <h3 class="card-title">إضافة بند توريد</h3>

                                    <form class="needs-validation" novalidate>

                                        <div class="form-row">

                                            <div class="col">

                                                <label>إسم البند</label>

                                                <div class="input-group">

                                                    <div class="input-group-prepend">

                                                        <span class="input-group-text"><i class="pe-7s-plus"></i></span>

                                                    </div>

                                                    <input type="text" class="form-control stitch-name" placeholder="إسم بند التوريد" required>

                                                    <div class="invalid-feedback">

                                                      إسم البند مطلوب

                                                    </div>

                                                </div>

                                            </div>

                                        </div>


                                        <div class="form-row">

                                            <button class="btn btn-primary center-submit upload-stitch" type="button">تأكيد</button>

                                        </div>

                                    </form>

                                </div>

                            </div>

                        </div>

                    </div>

و السكربت اهو

$('.upload-stitch').on('click', function() {

            $(this).attr("disabled", "disabled");

            //var file_data = $(".stitch-image").prop('files')[0];

            var name = $(".stitch-name").val();

            var form_data = new FormData();

            //form_data.append('image', file_data);

            form_data.append('name', name);

            $.ajax({

                url: 'modules/suppliers/add_item.php', // point to server-side PHP script 

                dataType: 'text', // what to expect back from the PHP script, if anything

                cache: false,

                contentType: false,

                processData: false,

                data: form_data,

                type: 'post',

                success: function(data) {

                                   if (data == "done") {

                                        Swal.fire({

                                            icon: 'success',

                                            title: 'تم اضافة البند',

                                            confirmButtonText: 'حسنا',

                                            showCloseButton: true

                                        }).then((result) => {

                                            if (result.isConfirmed) {

                                                location.reload();

                                            }

                                        })

                                    } else {

                                        Swal.fire({

                                            icon: 'error',

                                            title: 'غلط يا سيدي',

                                            confirmButtonText: 'حسنا',

                                            showCloseButton: true

                                        });

                                        console.log(data);

                                    }



                }

            });

        });

و ده ملف ال php لتنفيذ الامر

<?php

include("../includes/db.php");



$name = $_POST['name'];


$result = $conn->query("INSERT INTO supplying_items(name) VALUES('$name',) ");



if ($result) {

    echo "done";

} else {

    echo ("error". $conn -> error);

}

 

مش راضي يقبل الاضافة نهائي ، ايه الغلطة بتاعتي ؟

Recommended Posts

  • 0
نشر

لم أجد خطأ في جافاسكربت أو HTML أرجو تجريب تعديل استعلام SQL:

$result = $conn->query("INSERT INTO supplying_items(name) VALUES($name)");

بوجود الاقتباس الفردي حول المتغير name$ لن يتم تعويض قيمته الفعلية بل سيتم وضع قيمة نص فعلية كـ name$ 

$name = "wael";

echo '$name'; => $name

echo "$name"; => wael

أحيانا يلزمنا في SQL بتحديد اسم الجدول والأعمدة باستخدام back ticks  (`) حرف ذ:

 

$sql = "INSERT INTO `supplying_items`(`name`) VALUES ($name)";

 

  • 0
نشر

يُمكنك دائما تتبع طلبات ajax من خلال قسم Network في أدوات المطورين للمتصفح لمعرفة نتيجة الطلب و معرفة سبب المُشكلة.

أعتقد أن لديك مُشكلة في كتابة الإستعلام هل يُمكنك تغيير السطر:

بتاريخ 1 ساعة قال محمد المصري5:

$result = $conn->query("INSERT INTO supplying_items(name) VALUES('$name',) ");

إلى التالي 

$result = $conn->query("INSERT INTO supplying_items (name) VALUES ($name)");

كما أنصحك بالإطلاع على: parameterized prepared statements للحماية من ثغرة SQL injection

  • 0
نشر

شكرا لكم ايها الاساتذة الكرام

تم حل المشكلة بالتعديل التالي على ملف التنفيذ

<?php
include("../../includes/db.php");

	$name=$_POST['name'];
	$sql = "INSERT INTO `supplying_items`(`name`) VALUES ('$name')";
	if (mysqli_query($conn, $sql)) {
		
	echo "done";
	} 
	else {
		 echo ("error". $conn -> error);
	}
	mysqli_close($conn);
?>

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...