I have table of users which have following columns: user_id,username,first_name,last_name, email,token,password,location, phone.
I have 2 forms on two different pages. 1. registration.php 2. user_info.php.
In registration.php I'm getting user's email, username, and password. In user_info.php I'm getting user's first, lastname, country, phone.
I want to insert both form data in 1 row. so Is there any way?
right now with my code. it inserts info from both forms into database but it's inserting in each form data in 2 different rows.
here is my registration.php
<?php if (isset($_POST['signup-submit'])) { $url = "https://www.google.com/recaptcha/api/siteverify"; $data = ['secret' => "[xxxx]", 'response' => $_POST['token'], 'remoteip' => $_SERVER['REMOTE_ADDR']]; $options = array('http' => array('header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', 'content' => http_build_query($data))); $context = stream_context_create($options); $response = file_get_contents($url, false, $context); $res = json_decode($response, true); if ($res['success'] == true) { require("dbh.inc.php"); require("functions.php"); $username = escape($_POST['username']); $email = escape($_POST['email']); $token = bin2hex(random_bytes(50)); $password = escape($_POST['password']); $passwordRepeat = escape($_POST['confirm_password']); if (empty($username) || empty($email) || empty($password) || empty($passwordRepeat)) { header("Location: ../registration.php?error=emptyfields"); exit(); } elseif (!filter_var($email, FILTER_VALIDATE_EMAIL) || !preg_match("/^[a-zA-Z0-9]*$/", $username)) { header("Location: ../registration.php?error=invalidmailuid"); exit(); } elseif (strlen($username) <= '6') { header("Location: ../registration.php?error=usernamecheck"); exit(); } elseif (strlen($password) <= '8') { header("Location: ../registration.php?error=passwordcheck"); exit(); } elseif ($password !== $passwordRepeat) { header("Location: ../registration.php?error=passwordverify"); exit(); } else { $sql = "SELECT username, email FROM users WHERE username = ? AND email = ?"; $stmt = mysqli_stmt_init($connection); if (!mysqli_stmt_prepare($stmt, $sql)) { header("Location: ../registration.php?error=sqlerror"); exit(); } else { mysqli_stmt_bind_param($stmt, "ss", $username, $email); mysqli_stmt_execute($stmt); mysqli_stmt_store_result($stmt); $resultCheck = mysqli_stmt_num_rows($stmt); if ($resultCheck > 0) { header("Location: ../registration.php?error=usermailtaken"); exit(); } else { $sql = "INSERT INTO users(username, email, password, token, joined) VALUES(?, ?, ?, ?, now())"; $stmt = mysqli_stmt_init($connection); if (!mysqli_stmt_prepare($stmt, $sql)) { header("Location: ../registration.php?error=sqlerror2"); exit(); } else { $hashed_password = password_hash($password, PASSWORD_DEFAULT); mysqli_stmt_bind_param($stmt, "ssss", $username, $email, $hashed_password, $token); mysqli_stmt_execute($stmt); header("Location: ../user_info.php"); exit(); } } } } mysqli_stmt_close($stmt); mysqli_close($connection); } else { header("Location: ../registration.php?error=captcha"); exit(); } } else { header("Location: ../registration.php?error=emptyfields"); exit(); } here is my user_info.php
<?php if (isset($_POST['profile-submit'])) { require("dbh.inc.php"); require("functions.php"); $first_name = $_POST['first_name']; $last_name = $_POST['last_name']; $location = $_POST['location']; $phone = $_POST['phone_number']; if (empty($first_name) || empty($last_name) || empty($location) || empty($phone)) { header("Location: ../user_info.php?error=emptyfields"); exit(); } else { $sql = "INSERT INTO users(first_name, last_name, location, phone) VALUES(?, ?, ?, ?)"; $stmt = mysqli_stmt_init($connection); if (!mysqli_stmt_prepare($stmt, $sql)) { header("Location: ../user_info.php?error=sqlerror"); exit(); } else { mysqli_stmt_bind_param($stmt, "sssi", $first_name, $last_name, $location, $phone); mysqli_stmt_execute($stmt); header("Location: ../index.php?signup=success"); exit(); } } mysqli_stmt_close($stmt); mysqli_close($connection); } else { header("Location: ../user_info.php?error"); exit(); }