paradox
4 سال پیش توسط paradox مطرح شد
7 پاسخ

درج اطلاعات در دیتابیس

سلام من میخام اطلاعات کاربر تو دیتابیس ذخیره کنم
ثبت نام با ایمیل و پسورد و نام کاربری انجام دادم ولی الان میخام سن و جنسیت و توضیحات هم وارد کنم
به شکل زیر نوشتم برای جنسیت نمیدونم چجوری بنویسم

    if(isset($_POST['register'])) {
        $name = $_POST['display-name'];
        $username = $_POST['username'];
        $email = $_POST['email'];
        $age = $_POST['age'];
       if( $_POST["checkgender"] == "male")){
            $gender = $_POST['male'];
        }else{

        }

        $password = md5 ($_POST['password']);
        $passwordConf = md5 ($_POST['password-conf']);
   $description= $_POST['description'];

سوال دیگه تو دیتابیس میخام فیلد جنسیت اضافه کنم تایپش رو چی بزارم ؟ boolean ؟
برای description از نوع text ؟


ثبت پرسش جدید
Paradox
تخصص : در حال یادگیری
@paradox 4 سال پیش آپدیت شد
0
    $gender = $_POST['gender'];
  <div class="form-group">
                        <label>جنسیت:</label>
                        <select class="form-control" name="gender">
                            <option value="male">مرد</option>
                            <option value="female">زن </option>
                        </select>
                    </div>

فیلد دیتابیس باید vachar باشه


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

شما میتونید فیلد جنسیت رو همون بولین بگیرید یا اینکه تعیین جنسیت رو بصورت یک select box توی سایت تون نمایش بدید و در آخر همون مقدار رو توی دیتابیس ذخیره کنید که مقدار میتونه صفر یا یک باشه بیا بصورت F/M .
برای description هم بهترین نوع همون text هست !


paradox
@wxyz4367 4 سال پیش مطرح شد
0

@nimageneral

به این صورت تو دیتابیس ذخیره میشه ؟

$gender = $data['gender'] ? 'male' : 'female';

نیما - ش
تخصص : برنامه نویس وب
@nimageneral 4 سال پیش مطرح شد
1

آره شما میتونید همین male یا female رو در دیتابیس ذخیره کنید! بیشتر سایت ها البته خارج از ایران یه گزینه هم دارن که کاربر میتونه اصلا جنسیتش رو مشخص نکنه! فکر نکنم تو ایران کارآیی داشته باشه!


paradox
@wxyz4367 4 سال پیش مطرح شد
0

@nimageneral
ممنونم

من به این شکل نوشتم ولی جنسیت مقدارش تو دیتابیس 0 قرار میگیره برای این چیکار باید کرد ؟

<?php

if(isset($_POST['register'])) {
    $name = $_POST['display-name'];
    $username = $_POST['username'];
    $email = $_POST['email'];
    $age = $_POST['age'];
    $gender = $_POST['gender'] ? 'male' : 'female';
    $description = $_POST['description'];
    $password = md5 ($_POST['password']);
    $passwordConf = md5 ($_POST['password-conf']);
    if($password !== $passwordConf) {
        echo '<div class="alert alert-danger ">پسورد و تکرار پسورد با هم برابر نیست.</div>' ;
    } else {
        mysqli_query ( $db , "INSERT INTO users(display_name , username , email , age , gender , description , password ) VALUES ('$name','$username','$email','$age','$gender','$description' ,'$password')");
        echo '<div class="alert alert-success">ثبت نام شما با موفقیت انجام شد.</div>';
    }
}

?>

paradox
@wxyz4367 4 سال پیش مطرح شد
0
           <div class="form-group">
                        <label>جنسیت:</label>
                        <select class="form-control" name="gender">
                            <option value="0">مرد</option>
                            <option value="1">زن </option>
                        </select>
                    </div>

این هم کد html


Paradox
تخصص : در حال یادگیری
@paradox 4 سال پیش آپدیت شد
0
    $gender = $_POST['gender'];
  <div class="form-group">
                        <label>جنسیت:</label>
                        <select class="form-control" name="gender">
                            <option value="male">مرد</option>
                            <option value="female">زن </option>
                        </select>
                    </div>

فیلد دیتابیس باید vachar باشه


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

به این دلیل مقدار 0 و 1 قرار میگیره که مقدار value سلکت باکس تون رو اینجوری تنظیم کردید


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

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