آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل:ذخیره نشدن اطلاعات فرم ثبت نام کاربری در دیتابیس(حل شد. )

ARROW  11 سال پیش  11 سال پیش
0 0

سلام دوستان.دوتا مشکل داشتم

اول اینکه دستور ایمپورتنت (important)  را چطوری وارد css کنم ؟وقتی کترل اسپیس میزنم این دستور را نداره و اگه هم بنویسم عمل نمیکنه !

مشکل دوم .در فرم ثبت نام کاربری اطلاعات ذخیره نمیشه .مثل استاد هم عمل کردم .الان هیچ هم خطایی نمیده ولی اطلاعات ذخیره نمیشه .

userRegister.php

 <style>
tr{
background-color: #eee !important;
}
</style>
<form action="/user/registerUserData" method="post">

<table>
<colgroup>
<col style="width: 200px">
<col style="width: 400px">

</colgroup>

<tr>
<td>نام</td>
<td><input type="text" id="firstname" name="firstname"></td>
</tr>
<tr>
<td>نام خانوادگی</td>
<td><input type="text" id="lastname" name="lastname"></td>
</tr>
<tr>
<td>ایمیل</td>
<td><input type="text" id="email" name="email"></td>
</tr>
<tr>
<td>نام مستعار</td>
<td><input type="text" id="nickname" name="nickname"></td>
</tr>
<tr>
<td>جنسیت</td>
<td><input type="radio" id="gender1" name="gender">مرد</input>&nbsp&nbsp&nbsp<input type="radio" id="gender2" name="gender">زن</input></td>
</tr>
<tr>
<td>تاریخ تولد</td>
<td class="ltr tar"> <input type="datetime" id="birthday" name="birthday"></span></td>
</tr>
<tr>
<td>توضیحات</td>
<td><textarea id="about" name="about"></textarea></td>
</tr>
</table>
<button class="btn-blue btn" type="submit">ثبت نام</button>
<button class="btn-blue btn" type="reset">بازنشانی فرم</button>
</form>



فایل user.php
<?php
class User extends controller{
public function welcome(){
$renderer=new Render();
$data=array();
$data['pageTitle']="Hello World's";
$renderer->viewFile("/view/welcome.php",$data);
}

public function all(){
$db=new DB();
$result=$db->query("SELECT * FROM users");
$data=array();
$data['users']=$result;

$renderer=new Render();
$renderer->viewFile( "/view/users.php", $data);

}
public function view($id){
$db=new DB();
$result= $db->query("SELECT * FROM users WHERE id =$id");
if (count($result)==0){
$renderer=new Render();
$renderer->viewContent( "اطلاعاتی پیدا نشد", null);
return;
}
$record=$result[0];
// $content= $record['firstName']." ".$record['lastName'];
$renderer=new Render();
$renderer->viewfile("/view/userDetail.php", $record);

}
public function register(){
$renderer=new Render();
$renderer->viewfile("/view/userRegister.php",null);


}
public function registerUserData(){
$db=new DB();
$firstname=$_POST['firstname'];
$lastname=$_POST['lastname'];
$email=$_POST['email'];
$nickname=$_POST['nickname'];
$birthday=$_POST['birthday'];
$gender=$_POST['gender'];
$about=$_POST['about'];
// $result=$db->query("SELECT * FROM users WHERE email='$email'");
// if(count($result)>0){
// $renderer=new Render();
// $renderer->viewContent(userAlreadyRegistered,null);
// }
$db->execSQL("INSERT INTO users (firstname,$lastname,email,nickname,birthday,gender,about )VALUES ('$firstname','$lastname','$email','$nickname','$birthday','$gender','$about')");
header("location:/user/all");
}
public function login(){

}
public function remind(){

}
}
 

فایلdb

 <?php
class DB{

private $connection;

public function __construct(){
$this->connection=mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_NAME);
$this->connection->query("SET NAMES UTF8");
}
public function query($sql){
$result=$this->connection->query($sql);
$output=array();
while($row=mysqli_fetch_assoc($result)){
$output[]=$row;
}
return $output;

}
public function execSQL($sql){
$result=$this->connection->query($sql);
return $result;

}

public function close(){
$this->connection->close();
}
}
 
+1 0
برای استفاده از important در css باید قبلش ! بذارید که میشه important! ولی کلا استفاده از این کار خوبی نیست (11 سال پیش)
0 0
داداش مشکل ما حل نشد بیزحمت پروژه را آپلود کن تا ادامه آموزشها رو دنبال کنم . (11 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
hamid_sub7  11 سال پیش
+1 0

دوست عزیز بهتر هستش در این مورد سوالات سورس رو بصورت سورس که از امکانات خود ادیتور است درج کنید. کلاس DB شما هیچ مشکلی نداره اما تو دستور INSERT باید بعد آوردن نام فیلدهای جدول که میخواهید متغیرها رو بهش پاس بدید از عبارت کلیدی VALUES استفاده کنید که شما در اونجا به اشتباه registerUserDate نوشتید! البته ایرادی که تو دو تا تصویر دیده میشه رو تونستم بگم و امیدوارم مشکلتون حل بشه . موفق باشید %

+1 0
در ضمن دقیقا متوجه نشدم منظورتون از import چیه فکر کنم متصل کردن فایل css به فایل html یا php رو میگید که تنها کافیه در فایل html یا php در داخل تگ head یک تگ style ایجاد کنید و با تایپ @ دستور import بصورت اتوماتیک میاد البته تو inllij من تا حالا استفاده نکردم و بهتره کلا از دستور link که ساده تر و بهتر است استفاده کنید. مرسوم تر هست % (11 سال پیش)
0 0
سلام .نه منظورم دستورhmportant بود که برای مهم کردن تگها فکر کنم بکار میره.که در بالا دوستمون راهنمایی کردن. اون قسمت هم را هم درست کردم با مقدار values ولی نشد .قبلا هم درست بود حواسم نبوده اشتباهی نوشتم باز ممنون بازم (11 سال پیش)
پاسخ به سوال 
محسن موحد  11 سال پیش
+2 0

در کلاس db و متد execSQL بعد از دستور کوئری این خط رو اضافه کن:

echo $this->connection->error;

یعنی متدت میشه:

public function execSQL($sql)
{
     $result=$this->connection->query($sql);
     echo $this->connection->error;
     return $result;
}

تا مشخص بشه خطا از کجاس.
البته همینجوری هم یه مشکل دیده میشه که در ابتدای خط که فیلدهارو نوشتی:

 INSERT INTO  users (firstname,$lastname,email,nickname,birthday,gender,about )

بعد از فیلد firstname نوشتی lastname$ یعنی بصورت متغیر. علامت $ رو پاک کن.

0 0
مرسی دمتون گرم همون علامت دالرز رو برداشتم درست شد :) (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .