Separately the forms are ok, but combined.... not really. The struggle is that i can't access the variable $name from the first if statement in the second.
Error : Undefined variable: name
html:
<form method="POST" enctype="multipart/form-data" id="form1">
Name: <input type="text" name="name"><br>
Pass: <input type="password" name="pass"><br>
<input type="submit" name="submit1" value="Влез">
</form>
<form method="POST" enctype="multipart/form-data" id="form2">
We need some more information about you<br>
Please enter your e-mail: <input type="text" name="email"><br>
Please enter a new Password <input type="password" name="pass1" ><br>
Plese reenter tour new password <input type="password" name="pass2"><br>
<input type="submit" name="submit2" value="Save">
</form>
php:
require('config.php');
?><script type="text/javascript">document.getElementById("form2").style.display="none"; </script><?php
if(isset($_POST['submit1']))
{
$name = mysql_escape_string($_POST['name']);
$pass = mysql_escape_string($_POST['pass']);
//chek if the username and password are correct
$check = mysql_query("SELECT * FROM test WHERE name = '$name' AND pass = '$pass'");
if(mysql_num_rows($check) >= 1)
{
?>
<script type="text/javascript">
document.getElementById("form1").style.display="none";
document.getElementById("form2").style.display="block";
</script>
<?php
exit();
}
else echo "<h1><font color='red'> Грешно Име или Парола</font></h1>";
}
if(isset($_POST['submit2']))
{
$email = mysql_escape_string($_POST['email']);
$pass1 = mysql_escape_string($_POST['pass1']);
$pass2 = mysql_escape_string($_POST['pass2']);
$checkpass = mysql_query("SELECT * FROM test WHERE pass = '$pass1'")or die(mysql_error());
if($pass1 != $pass2){
echo "Passwords do not Match";
}
elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){
echo "Wrong email format";
}
elseif (mysql_num_rows($checkpass)>=1) {
echo "Password already taken";
}
elseif (empty($pass1) || empty($pass2) || empty($email)) {
echo "Not all fields are filled";
}
else
{
//put in DB
mysql_query("UPDATE test SET pass='$pass1' WHERE name='$name'") or die(mysql_error());
mysql_query("UPDATE test SET email='$email' WHERE name='$name'") or die(mysql_error());
?><script type="text/javascript">
document.getElementById("form1").style.display="none";
document.getElementById("form2").style.display="none";
</script><?php
echo "<h1><font color='green'>Registration successful</font></h1>";
}
}
P.S don't mind the java script inside and no, i can't combine the forms!