راکت
حل شده

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

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 ؟

ثبت پرسش جدید

پاسخ‌ها

7
Paradox
Paradox
@paradox

تخصص: در حال یادگیری

بهترین پاسخ
    $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

تخصص: برنامه نویس وب

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

paradox
paradox
@wxyz4367

@nimageneral

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

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

شاید پاسخ شما همین‌جا باشد

نیما  ش
نیما ش
@nimageneral

تخصص: برنامه نویس وب

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

paradox
paradox
@wxyz4367

@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
paradox
@wxyz4367
           <div class="form-group">
                        <label>جنسیت:</label>
                        <select class="form-control" name="gender">
                            <option value="0">مرد</option>
                            <option value="1">زن </option>
                        </select>
                    </div>

این هم کد html

نیما  ش
نیما ش
@nimageneral

تخصص: برنامه نویس وب

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

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

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