سلام دوستان وقت همگی بخیر
من قطعه کد مقابل رو زدم و درست کار میکنه و عملیاتش درسته اما یه ارور میده، چی جوری این ارور رو رفع کنم
//Query
$qu = "INSERT INTO users($fieldName) VALUES (?,?,?)";
$qu2 = "select * from users";
$resul = $connectDB -> query($qu2);
//execute query
foreach ($resul as $key => $vals){
if ($vals['phone_number'] == $phoneNumber){
echo "شماره تلفن از قبل وارد شده است. <a href='login.php'>وارد شوید</a>";
}else{
$result = $connectDB->query($qu, array_values($attr));
if ($result){
echo "کاربر با موفقیت ایجاد شد";
}
}
}```
ارور :
Notice: Trying to access array offset on value of type int in E:\wamp64\www\contact me\front-project\controller\register.php on line 42
مشکلت از اینجاست
if ($vals['phone_number'] == $phoneNumber)
و حالا این رو بگم چرا اصلا مشکل داره $vals که اونجا قرار دادی
نگاه کن ما وقتی توی foreach میایم می نویسیم
$resul as $key => $vals
ما قراره دو تا آرایه داشته باشیم که یکیشون برای اسم اون آرایه هاست
یکیشون هم برای اطلاعات داخل آرایه
و ما اینجا دیگه قرار نیست آرایه ی انجمنی داشته که
در اصل اینجوری دوتا آرایه ی سنتی داریم
که نام گزاری شون از 0 شروع میشه تا ثریا
کار اشتباه تو اینجا بود که توی این عملیات که به هردو تا باهم باید دسترسی داشته باشی اون ها رو جدا کردی
پسد کدت رو باید اینجوری بنویسی
foreach ($resul as $vals){
if ($vals['phone_number'] == $phoneNumber){
echo "شماره تلفن از قبل وارد شده است. <a href='login.php'>وارد شوید</a>";
}else{
$result = $connectDB->query($qu, array_values($attr));
if ($result){
echo "کاربر با موفقیت ایجاد شد";
}
}
}
که اینجا ما توی foreach آرایه ای که از قبل داشتیم رو همونجوری استفاده کردیم و جداش نکردیم
پس یادتون باشه ه وقت نیاز به جدا کردن بود جداکنید نه اینجور موقع ها
مشکلت از اینجاست
if ($vals['phone_number'] == $phoneNumber)
و حالا این رو بگم چرا اصلا مشکل داره $vals که اونجا قرار دادی
نگاه کن ما وقتی توی foreach میایم می نویسیم
$resul as $key => $vals
ما قراره دو تا آرایه داشته باشیم که یکیشون برای اسم اون آرایه هاست
یکیشون هم برای اطلاعات داخل آرایه
و ما اینجا دیگه قرار نیست آرایه ی انجمنی داشته که
در اصل اینجوری دوتا آرایه ی سنتی داریم
که نام گزاری شون از 0 شروع میشه تا ثریا
کار اشتباه تو اینجا بود که توی این عملیات که به هردو تا باهم باید دسترسی داشته باشی اون ها رو جدا کردی
پسد کدت رو باید اینجوری بنویسی
foreach ($resul as $vals){
if ($vals['phone_number'] == $phoneNumber){
echo "شماره تلفن از قبل وارد شده است. <a href='login.php'>وارد شوید</a>";
}else{
$result = $connectDB->query($qu, array_values($attr));
if ($result){
echo "کاربر با موفقیت ایجاد شد";
}
}
}
که اینجا ما توی foreach آرایه ای که از قبل داشتیم رو همونجوری استفاده کردیم و جداش نکردیم
پس یادتون باشه ه وقت نیاز به جدا کردن بود جداکنید نه اینجور موقع ها
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟