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

[مشكلة] إضافة بيانات للداتابيز باستخدام JQuery

محمد المصري12

السؤال

سلام عليكم

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

انا بحاول اضيف بند لقاعدة البيانات باستخدام 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...