دوستان سلام و وقت بخیر ، من یک فرمی ساختم که اطلاعات رو به دیتابیس ارسال میکنه یک فرم عضویت در سایت فوق العاده ساده هستش همه چیز اوکی هستش اما یک مشکل بزرگ داره که پایگاه داده فقط یک نفر رو در خودش ذخیره میکنه یعنی اینکه وقتی که من دارم فرو رو پر میکنم و روی ثبت نام کلیک میکنم فقط یک بار میتونم ثبت نام کنم یعنی فقط یک کاربر میتونه در سایت ثبت نام کنه به طور خلاصه دیتابیس فقط اطلاعات 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 "خطا در برقراری ارتباط با پایگاه داده";
}
@alizadevesal
کل ستون ها رو ویرایش کنید و برای همه موارد به جز id تیک null رو بزنید. برای id هم اگه تیک AI رو نزدید حتما اون رو تیک بزنید. ویرایش که انجام شد دوباره تست کنید.
اگه میتونید با همین کد یک کاربر رو ذخیره کنید، احتمالا:
1- بعضی از ستون ها رو NULLABLE نذاشتید و دارید دیتای NULL یا خالی ارسال میکنید براش
2- حداقل نام یک ستون رو بصورت unique تعریف کردید و دوباره برای اون دارید دیتای مشابه ذخیره میکنید مثلا name, number و...
بنظرم با خطای پایگاه داده رو بگیرید ببینید چی میگه
بجای کد:
echo "خطا در برقراری ارتباط با پایگاه داده";
کد زیر رو قرار بدید تا ببینید چه خطایی میده
echo("Error description: " . $register -> error);
@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:
کدتون رو داخل 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();
}
سلام
برای همه ی ثبت نام ها پیغام موفقیت چاپ میشه و فقط اولی ثبت میشه؟ یا موارد بعدی خطا دریافت میکنی؟
@hamedkh72
سلام بله خیر برای همه ثبت نام ها خطا نمیده فقط برای دومی یعنی فقط به طور کلی یک نفر رو ذخیره میکنه و برای همه خطا میده
اگه امکانش هست از تب structure که داخل تصویری که از دیتابیس فرستادین قابل مشاهده س اسکرین شات بگیرید بفرستید.
id رو هم باید ارسال کنید یا باید autoincrement بزارید. تیک null رو هم بزنید تا اگه داده ای رو نفرستادید خطا نده
اینجا هست آموزشش
عنوان لینک مورد نظر
@alizadevesal
کل ستون ها رو ویرایش کنید و برای همه موارد به جز id تیک null رو بزنید. برای id هم اگه تیک AI رو نزدید حتما اون رو تیک بزنید. ویرایش که انجام شد دوباره تست کنید.
@amdk.1987
از شما هم متشکرم دوست عزیز
فقط یک سوال دیگر من خیلی دوست دارم بک اند کار بشم و تا العان هم فقط به html و css مسلط هستم به نظر شما دوره فرانت اند رو تموم کنم بیام php یا تا اینجا کافیه مستقیم بیام درست روی php به نظر شما باید چیکار کنم ؟
خواهش میکنم.
بنظر من حداقل jquery و bootstrap رو یادبگیرید.
بعدش حتما php رو یادبگیرید
بعد بنظرم وردپرس و قالب نویسی برای وردپرس
و بعدش یه فریمورک کامل مثل لاراول رو یاد بگیرید.
ولی من جای شما باشم دیگه سمت php نمیرم بلکه از اول با python شروع میکنم! دستمزد javaکارها و بعد .netکارها و بعد pythonکارها در شرکتها به مراتب بیشتر هست (منظورم این نیست php بده!!!)
@amdk.1987
فرمایش شما متین دوست عزیز ولی نمی دونم چرا به php حس خواصی دارم 🙄 به نظر شما بازار کار php بده ؟
من چندسالی هست php کار میکنم (لاراول) ولی به سایت jobinja سربزنید متوجه میشید کدام شرکتها چه زبانی رو میخوان و با چه حقوقی. بانکها، ارگانها، سازمانهایی مثل تامین اجتماعی همه یا java هستن یا .net. چون سیستمها از اول با اونها نوشته شده دیگه تغییر نمیدن و البته این شرکتها حقوق خوبی نسبت به یه استارتاپ داره!
نه زیاد. با این زحمتی که php کشیدم میرفتم سراغ جاوا خیلی بهتر بود و اسم و رسم شرکتهایی که جذب میشید قابل قیاس نیست.
البته ناگفته نماند شروع کردم یادگیری جاوا رو !
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟