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

السؤال

نشر (معدل)

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

لماذا عندما اخزن بيانات يظهر في  صف null  كل حقول 

صفحة ادخال بيانات 

@extends('layouts.master');
@section('title')
    ادخال بيانات
@endsection
@section('title_page1')
    الطلبة
@endsection
@section('title_page2')
    ادخال بيانات الطلبة
@endsection
@section('content')
    <style>
        label,
        button {
            margin-top: 1cm;
        }

        h5,
        button {
            margin-right: 1cm
        }

        label {
            text-align: right;
            display: inline-block;
            width: 140px;
        }
    </style>
    <form action="{{ route('/student/create') }}" class="form-inline" method="POST">
        @csrf
        @method('post')
        <h5>ادخال بيانات الطلبة </h5>
        <div class="row">
            <div class="col-sm-4 tight-gutter">
                <label>اسم الطالب </label>
                <input type="text" class="form-control" style="width: 100%;" placeholder=" اسم الطالب">
            </div>
            <div class="col-sm-4 tight-gutter">
                <label>رقم القيد</label>
                <input type="text" class="form-control" style="width: 100%;" placeholder="رقم القيد">
            </div>
            <div class="col-sm-4 tight-gutter">
                <label> البريد الالكتروني</label>
                <input type="email" class="form-control" style="width: 100%;" placeholder="البريد الالكتروني ">
            </div>
            <div class="col-sm-4 tight-gutter">
                <label> تاريخ الميلاد</label>
                <input type="date" class="form-control" style="width: 100%;">
            </div>
            <div class="col-sm-4 tight-gutter">
                <label> العنوان</label>
                <input type="text" class="form-control" style="width: 100%;" placeholder=" العنوان">
            </div>
            <div class="col-sm-4 tight-gutter">
                <label>رقم الهاتف</label>
                <input type="text" class="form-control" style="width: 100%;" placeholder="رقم الهاتف">
            </div>
        </div>
        <button type="submit" class="btn btn-primary">حفظ</button>
    </form>
@endsection
@section('scripts')
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"
        integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous">
    </script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.12.9/dist/umd/popper.min.js"
        integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous">
    </script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/js/bootstrap.min.js"
        integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous">
    </script>
@endsection
<?php

namespace App\Http\Controllers;

use App\Models\student;
use Illuminate\Http\Request;

class StudentController extends Controller
{
    /**
     * Display a listing of the resource.
     */
    public function create()
    {
        return view('student.create');
    }
    public function store(Request $request)
    {
        $student = new student;
        $student->name_std = $request->input('name_std');
        $student->num_std = $request->input('num_std');
        $student->email_std = $request->input('email_std');
        $student->date_student = $request->input('date_student');
        $student->adress_std = $request->input('adress_std');
        $student->phone = $request->input('phone');
        $student->save();
        return redirect()->back()->with('success', 'تم حفظ البيانات بنجاح!');
    }
    public function index()
    {
        //

    }

    /**
     * Show the form for creating a new resource.
     */


    /**
     * Store a newly created resource in storage.
     */


    /**
     * Display the specified resource.
     */
    public function show($id)
    {
        //

    }

    /**
     * Show the form for editing the specified resource.
     */
    public function edit($id)
    {
        //

    }

    /**
     * Update the specified resource in storage.
     */
    public function update(Request $request, student $student, $id)
    {
        //

    }

    /**
     * Remove the specified resource from storage.
     */
    public function destroy(student $student, $id)
    {
        //

    }
}
<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\StudentController;
use Illuminate\Routing\Route as RoutingRoute;

Route::get('/student/create', [StudentController::class, 'create'])->name('/student/create');
Route::post('/student/create', [StudentController::class, 'store'])->name('/student/create');

 

 

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class student extends Model
{
    use HasFactory;
    protected $fillable = [
        'name_std',
        'num_std',
        'email_std',
        'date_student',
        'adress_std',
        'phone',
    ];
}

 

 

44.png

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

Recommended Posts

  • 0
نشر

المشكلة الأساسية تكمن في نموذج HTML فحقول الإدخال في النموذج لا تحتوي على خاصية 'name'وبدون هذه الخاصية، عندما يتم إرسال النموذج، لن يتم إرسال أي بيانات فعليا إلى الخادم وهذا هو السبب في أنك ترى قيم NULL في قاعدة البيانات لذا يجب إضافة خاصية 'name' لكل حقل إدخال في النموذج كما يجب أن تتطابق هذه الأسماء مع أسماء أعمدة قاعدة البيانات والأسماء التي تستخدمها في وحدة التحكم (Controller) عدل النموذج وعوض الجزء القديم بالتالي:

<input type="text" name="name_std" class="form-control" style="width: 100%;" placeholder=" اسم الطالب">
<input type="text" name="num_std" class="form-control" style="width: 100%;" placeholder="رقم القيد">
<input type="email" name="email_std" class="form-control" style="width: 100%;" placeholder="البريد الالكتروني ">
<input type="date" name="date_student" class="form-control" style="width: 100%;">
<input type="text" name="adress_std" class="form-control" style="width: 100%;" placeholder=" العنوان">
<input type="text" name="phone" class="form-control" style="width: 100%;" placeholder="رقم الهاتف">
  • 0
نشر

لماذا لا يتم عرض صفحة تعديل بيانات لكي ادخل ما اريد تعديله واضغط حفظ 

Route::get('/student', [StudentController::class, 'index'])->name('/student');
Route::get('/student/create', [StudentController::class, 'create'])->name('/student/create');
Route::post('/student/create', [StudentController::class, 'store'])->name('/student/create');
Route::get('/students/{student}/edit', [StudentController::class, 'edit'])->name('students.edit');

صفحة edit 

@extends('layouts.master');
@section('title')
    ادخال بيانات
@endsection
@section('title_page1')
    الطلبة
@endsection
@section('title_page2')
    ادخال بيانات الطلبة
@endsection
@section('content')
    <style>
        label,
        button {
            margin-top: 1cm;
        }

        h5,
        button {
            margin-right: 1cm
        }

        label {
            text-align: right;
            display: inline-block;
            width: 140px;
        }
    </style>
    <form action="{{ route('/student/update', $student->id) }}" class="form-inline" method="POST">
        @csrf
        @method('PUT')
        <div class="row">
            <div class="col-sm-4 tight-gutter">
                <label>اسم الطالب </label>
                <input type="text" class="form-control" name="name_std" style="width: 100%;" placeholder=" اسم الطالب"
                    value="{{ $student->name_std }}" </div>
                <div class="col-sm-4 tight-gutter">
                    <label>رقم القيد</label>
                    <input type="text" class="form-control" name="num_std" style="width: 100%;" placeholder="رقم القيد"
                        value="{{ $student->num_std }}">

                </div>
                <div class="col-sm-4 tight-gutter">
                    <label> البريد الالكتروني</label>
                    <input type="email" class="form-control" name="email_std" style="width: 100%;"
                        placeholder="البريد الالكتروني " value="{{ $student->email_std }}">
                </div>
                <div class="col-sm-4 tight-gutter">
                    <label> تاريخ الميلاد</label>
                    <input type="date" class="form-control" name="date_student" style="width: 100%;"
                        value="{{ $student->date_student }}">
                </div>
                <div class="col-sm-4 tight-gutter">
                    <label> العنوان</label>
                    <input type="text" class="form-control" name="adress_std" style="width: 100%;" placeholder=" العنوان"
                        value="{{ $student->adress_std }}">
                </div>
                <div class="col-sm-4 tight-gutter">
                    <label>رقم الهاتف</label>
                    <input type="text" class="form-control" name="phone" style="width: 100%;" placeholder="رقم الهاتف"
                        value="{{ $student->phone }}">
                </div>
            </div>
            <button type="submit" class="btn btn-primary">تعديل</button>
    </form>
@endsection
@section('scripts')
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"
        integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous">
    </script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.12.9/dist/umd/popper.min.js"
        integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous">
    </script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/js/bootstrap.min.js"
        integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous">
    </script>
@endsection

 

عندما اضغط علي زر تعديل هكذا يظهر 

 

1.png

2.png

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...