Voor Posted October 25, 2014 Share Posted October 25, 2014 Hello! So I was trying to make a basic registration form for website. Thing is, it kinda send data and insert it into database but not all of it. Name, Last name, Username and Password are not send but email and language are. I can not figure out where is a problem with it. HTML: <form name="reg" action="resscriptsdata.php" method="post" id="reg" onsubmit="return passCheck();"> <div> <label for="name">Name:</label> <input type="text" id="name" name="name" value="" required pattern="[^]+"/> </div> <div> <label for="last_name">Last Name:</label> <input type="text" id="last_name" name="last_name" value="" required pattern="[^]+" /> </div> <div> <label for="username">Username:</label> <input type="text" id="username" name="username" value="" required pattern="[^]+"/> </div> <div> <label for="password1">Password:</label> <input type="password" id="password1" name="password1" value="" required pattern="[^]+"/><span id="passerr"></span> </div> <div> <label for="email">Email:</label> <input type="email" name="email" id="email"/> </div> <div> <label for="lang1">First language</label> <select name="lang1" onChange="callSave(this)" required> <option value="">Select...</option> <option value="English">English</option> <option value="Polish">Polish</option> </select> </div> <div> <label for="lang2">Second language(optional):</label> <select name="lang2" onChange="callSave(this)"> <option value="">Select...</option> <option value="English">English</option> <option value="Polish">Polish</option> </select> </div> <div> <input name="submit" type="submit" id="register" value="Register"/> </div></form> PHP: <?php$con=mysqli_connect("localhost", "root", "", 'login');if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); }/*get form data*/$name = mysqli_real_escape_string($_POST['name']);$last_name = mysqli_real_escape_string($_POST['last_name']);$username = mysqli_real_escape_string($_POST['username']);$password1 = mysqli_real_escape_string($_POST['password1']);$email = mysqli_real_escape_string($_POST['email']);$lang1 = $_POST['lang1'];$lang2 = $_POST['lang2'];/*check if user in database*/$username_check = mysqli_query($con, 'SELECT Username FROM login.users WHERE Username = $username'); if (mysqli_num_rows($username_check) > 0){ header('Location: usererr.php'); };/*check if email in database*/$email_check = mysqli_query($con, 'SELECT Email FROM login.users WHERE Email = $email'); if (mysqli_num_rows($email_check) > 0){ header('Location: emailerr.php'); };/*hash password*/$hash = hash('sha256', $password1);function createSalt(){ $text = md5(uniqid(rand(), true)); return substr($text, 0,3); };$salt = createSalt();$password = hash('sha256',$salt . $hash);$activation = md5($email.time());/*send data*/$reg_query = "INSERT INTO users (Name, Surname, Username, Password, Email, Lang1, Lang2, Salt, Activation) VALUES ('$name', '$last_name', '$username', '$password', '$email', '$lang1', '$lang2', '$salt', '$activation');";mysqli_query($reg_query);mysqli_close;header('Location: regsuc.php'); ?> Database details: id int(11) AI PK Name varchar(30) Surname varchar(30) Username varchar(30) Password char(128) Email varchar(50) Lang1 varchar(45) Lang2 varchar(45) Lang3 varchar(45) Userlevel int(11) Salt char(128) Ver enum('0','1') Activation varchar(300) Thank You for any help given Link to comment Share on other sites More sharing options...
niche Posted October 25, 2014 Share Posted October 25, 2014 do a var_dump on your post array at the beginning of your php script. Is everything there with the intended key values? Link to comment Share on other sites More sharing options...
Voor Posted October 26, 2014 Author Share Posted October 26, 2014 Ok I sorted it. Problem was a mysqli_real_escape_string. For some reason it blocked a $_POST. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now