کوثر
4 سال پیش توسط کوثر مطرح شد
23 پاسخ

باگ php یا خطای پایگاه داده

دوستان سلام و وقت بخیر ، من یک فرمی ساختم که اطلاعات رو به دیتابیس ارسال میکنه یک فرم عضویت در سایت فوق العاده ساده هستش همه چیز اوکی هستش اما یک مشکل بزرگ داره که پایگاه داده فقط یک نفر رو در خودش ذخیره میکنه یعنی اینکه وقتی که من دارم فرو رو پر میکنم و روی ثبت نام کلیک میکنم فقط یک بار میتونم ثبت نام کنم یعنی فقط یک کاربر میتونه در سایت ثبت نام کنه به طور خلاصه دیتابیس فقط اطلاعات 1 نفر رو ذخیره میکنه و دیگر هیچ کسی نمی تونه ثبت نام کنه در عکس زیر ببینید فقط یک نفر هستش و بجز یک نفر دیگه کسی رو ثبت نام نمیکنه کد هام هم در زیر هستن لطفا کمک کنید ممنون

توضیح تصویر رو وارد کنید

کد های html من

<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="css/style.css">
    <title>ثبت نام در سایت</title>
</head>
<body>
    <div class="containear">
        <form action="eng/do-register.php" method="POST">
            <input type="text" name="name" placeholder="نام و نام خانوادگی ...">
            <input type="number" name="number" placeholder=" تلفن همراه...  ">
            <input type="email" name="email" placeholder="ایمیل ... ">
            <input type="password" name="password" placeholder="رمز ... ">
            <input type="submit" class="btn" value="ثبت نام ">
        </form>
    </div>
</body>
</html>

کد php جهت اتصال به پایگاه داده

<?php
    $db = mysqli_connect('localhost','vesal','Ve0829##0829','vesalalizadeh');
    mysqli_query($db, "SET NAMES utf8");
?>

کد php جهت ارسال اطلاعات به دیتابیس

<?php 
    include_once 'db.php';
    $name = $_POST["name"];
    $number = $_POST["number"];
    $email = $_POST["email"];
    $password = $_POST["password"];

    $register = mysqli_query($db, "INSERT INTO users (name, number, email, password) VALUES ('$name', '$number', '$email', '$password')");
    if($register){ 
        echo "ثبت نام شما با موفقیت انجام شد ";
    }else {
        echo "خطا در برقراری ارتباط با پایگاه داده";
    }

ثبت پرسش جدید
hamed
@hamedkh72 4 سال پیش مطرح شد
0

@alizadevesal
کل ستون ها رو ویرایش کنید و برای همه موارد به جز id تیک null رو بزنید. برای id هم اگه تیک AI رو نزدید حتما اون رو تیک بزنید. ویرایش که انجام شد دوباره تست کنید.


Ahmad Kalantari
تخصص : Reactjs laravel dev
@amdk.1987 4 سال پیش آپدیت شد
0

اگه میتونید با همین کد یک کاربر رو ذخیره کنید، احتمالا:
1- بعضی از ستون ها رو NULLABLE نذاشتید و دارید دیتای NULL یا خالی ارسال میکنید براش
2- حداقل نام یک ستون رو بصورت unique تعریف کردید و دوباره برای اون دارید دیتای مشابه ذخیره میکنید مثلا name, number و...

بنظرم با خطای پایگاه داده رو بگیرید ببینید چی میگه
بجای کد:

 echo "خطا در برقراری ارتباط با پایگاه داده";

کد زیر رو قرار بدید تا ببینید چه خطایی میده

 echo("Error description: " . $register -> error);

کوثر
تخصص : برنامه نویس وب
@kowsar 4 سال پیش مطرح شد
0

@amdk.1987 ممنون بابت پاسختون با خطای زیر مواجه شد

Notice: Trying to get property 'error' of non-object in C:\xampp\htdocs\register\eng\do-register.php on line 12
Error description:


Ahmad Kalantari
تخصص : Reactjs laravel dev
@amdk.1987 4 سال پیش مطرح شد
0

کدتون رو داخل try catch بزارید:

try {
$register = mysqli_query($db, "INSERT INTO users (name, number, email, password) VALUES ('$name', '$number', '$email', '$password')");
  if($register){ 
        echo "ثبت نام شما با موفقیت انجام شد ";
    }
} catch (Exception $e) {
  echo $e->errorMessage();
}

کوثر
تخصص : برنامه نویس وب
@kowsar 4 سال پیش مطرح شد
0

@amdk.1987
اتفاق خواصی نیفتاد


کوثر
تخصص : برنامه نویس وب
@kowsar 4 سال پیش مطرح شد
0

@amdk.1987 به نظر مشکل از چی هستش ؟


hamed
@hamedkh72 4 سال پیش مطرح شد
0

سلام
برای همه ی ثبت نام ها پیغام موفقیت چاپ میشه و فقط اولی ثبت میشه؟ یا موارد بعدی خطا دریافت میکنی؟


کوثر
تخصص : برنامه نویس وب
@kowsar 4 سال پیش مطرح شد
0

@hamedkh72
سلام بله خیر برای همه ثبت نام ها خطا نمیده فقط برای دومی یعنی فقط به طور کلی یک نفر رو ذخیره میکنه و برای همه خطا میده


hamed
@hamedkh72 4 سال پیش مطرح شد
0

اگه امکانش هست از تب structure که داخل تصویری که از دیتابیس فرستادین قابل مشاهده س اسکرین شات بگیرید بفرستید.


کوثر
تخصص : برنامه نویس وب
@kowsar 4 سال پیش مطرح شد
Ahmad Kalantari
تخصص : Reactjs laravel dev
@amdk.1987 4 سال پیش مطرح شد
0

id رو هم باید ارسال کنید یا باید autoincrement بزارید. تیک null رو هم بزنید تا اگه داده ای رو نفرستادید خطا نده
اینجا هست آموزشش
عنوان لینک مورد نظر


hamed
@hamedkh72 4 سال پیش مطرح شد
0

@alizadevesal
کل ستون ها رو ویرایش کنید و برای همه موارد به جز id تیک null رو بزنید. برای id هم اگه تیک AI رو نزدید حتما اون رو تیک بزنید. ویرایش که انجام شد دوباره تست کنید.


کوثر
تخصص : برنامه نویس وب
@kowsar 4 سال پیش مطرح شد
0

@hamedkh72
اقا خیلی ممنون دمت گرم حل شد 3 روزه روش کار میکنم ممنون بابت کمکتون


کوثر
تخصص : برنامه نویس وب
@kowsar 4 سال پیش مطرح شد
0

@hamedkh72
ببخشید مهندس جان php رو از کجا یاد گرفتین ؟


Ahmad Kalantari
تخصص : Reactjs laravel dev
@amdk.1987 4 سال پیش مطرح شد
0

داخل سایت راکت آموزش هست مهندس


کوثر
تخصص : برنامه نویس وب
@kowsar 4 سال پیش مطرح شد
0

@amdk.1987
از شما هم متشکرم دوست عزیز

فقط یک سوال دیگر من خیلی دوست دارم بک اند کار بشم و تا العان هم فقط به html و css مسلط هستم به نظر شما دوره فرانت اند رو تموم کنم بیام php یا تا اینجا کافیه مستقیم بیام درست روی php به نظر شما باید چیکار کنم ؟


Ahmad Kalantari
تخصص : Reactjs laravel dev
@amdk.1987 4 سال پیش مطرح شد
0

خواهش میکنم.
بنظر من حداقل jquery و bootstrap رو یادبگیرید.
بعدش حتما php رو یادبگیرید
بعد بنظرم وردپرس و قالب نویسی برای وردپرس
و بعدش یه فریمورک کامل مثل لاراول رو یاد بگیرید.
ولی من جای شما باشم دیگه سمت php نمیرم بلکه از اول با python شروع میکنم! دستمزد javaکارها و بعد .netکارها و بعد pythonکارها در شرکتها به مراتب بیشتر هست (منظورم این نیست php بده!!!)


کوثر
تخصص : برنامه نویس وب
@kowsar 4 سال پیش مطرح شد
0

@amdk.1987
فرمایش شما متین دوست عزیز ولی نمی دونم چرا به php حس خواصی دارم 🙄 به نظر شما بازار کار php بده ؟


Ahmad Kalantari
تخصص : Reactjs laravel dev
@amdk.1987 4 سال پیش مطرح شد
0

من چندسالی هست php کار میکنم (لاراول) ولی به سایت jobinja سربزنید متوجه میشید کدام شرکتها چه زبانی رو میخوان و با چه حقوقی. بانکها، ارگانها، سازمانهایی مثل تامین اجتماعی همه یا java هستن یا .net. چون سیستمها از اول با اونها نوشته شده دیگه تغییر نمیدن و البته این شرکتها حقوق خوبی نسبت به یه استارتاپ داره!


کوثر
تخصص : برنامه نویس وب
@kowsar 4 سال پیش مطرح شد
0

@amdk.1987
ببخشید اگه جسارت نباشه درآمدتون از php خوب نیست ؟


Ahmad Kalantari
تخصص : Reactjs laravel dev
@amdk.1987 4 سال پیش مطرح شد
0

نه زیاد. با این زحمتی که php کشیدم میرفتم سراغ جاوا خیلی بهتر بود و اسم و رسم شرکتهایی که جذب میشید قابل قیاس نیست.
البته ناگفته نماند شروع کردم یادگیری جاوا رو !


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام