Отправка переключателя с использованием ajax и php в mysql базу данных - PullRequest
1 голос
/ 08 апреля 2020

Я работаю с sweetalert2, пытаясь отправить данные формы, включая переключатель. Я обнаружил, что другие поля записаны в базе данных, но могут найти значения переключателя. Может кто-нибудь помочь? Проверьте код ниже.

Это форма

<form class="login" method="post" action="register.php">
                <h5>Please Sign Up</h5>
                <div class="form-group">
                    <input id="f_name" class="form-control" type="text" name="f_name" placeholder="Your First Name" required>
                    <input id="l_name" class="form-control" type="text" name="l_name" placeholder="Your Last Name" required>
                    <input id="email" class="form-control" type="email" name="email" placeholder="Your email address" required>
                    <input id="pass" class="form-control" type="password" name="pass" placeholder="Your password" required>

                    <h4>I want to :</h4>
                    <div class="radio-toolbar">
                        <input class="user" type="radio" name="user" id="user1" value="user1">
                        <label class="radio-label" for="writer">User 1</label>

                        <input type="radio" name="user" id="user2" value="user2">
                        <label class="radio-label" for="client">User 2</label>
                    </div>
                    <button class="btn btn-secondary" name="submit" id="register">Sign Up</button>
                </div>
                <h6><span>Have an account?</span> </h6>
                <a href="process_login.php" class="btn btn-secondary">Log In</a>
            </form>

Внешний js это

$(function() {
    $('#register').click(function(e){

        var valid = this.form.checkValidity();

        if (valid) {

            var f_name  = $('#f_name').val();
            var l_name  = $('#l_name').val();
            var email   = $('#email').val();
            var pass    = $('#pass').val();
            var user = $("input[name='user']:checked").val();

            e.preventDefault();

            $.ajax({
                type: 'POST',
                url: 'process.php',
                data: {f_name:f_name,l_name:l_name,email:email,pass:pass, user:user},
                success:function(data){
                    Swal.fire({
                      icon: 'succes',
                      title: 'Check the below message',
                      text: data,
                      footer: '<a href="login.php">Please Sign In</a>'
                    })
                },
                error:function(data){
                    Swal.fire({
                      icon: 'error',
                      title: 'Errors',
                      text: data,
                      footer: '<a href>Why do I have this issue?</a>'
                    })
                }
            });
        }else{

        }
    });
});

Код php здесь

require_once('./config/db.php');

if (isset($_POST)){

    $f_name = $_POST['f_name'];
    $l_name = $_POST['l_name'];
    $email = $_POST['email'];
    $pass = sha1($_POST['pass']);
    $user = $_POST['user'];

    $stmt = $conn->prepare("SELECT * FROM users WHERE email=?");
    $stmt->execute([$email]);
    $user = $stmt->fetch();
    if ($user) {
        echo "Email already exists in the database! Please use another email!";
    } else {

        $sql= "INSERT INTO users(f_name,l_name,email,pass,user) VALUES(?,?,?,?,?)";

        $stmt = $conn->prepare($sql);

        $results = $stmt->execute([$f_name,$l_name,$email,$pass,$user]);
        if ($results) {
            echo "Your registration has been submitted successfully.";
        }else{
            echo "There were errors while saving the data.";
        }
    }

}

?>

Пожалуйста, помогите. Я пробовал некоторые из решений в стеке потока, но не могу получить помощь.

...