Форма регистрации и Логина на одной странице
<body>
<div id="bar">
<div style="margin:auto;width:60%;">
<img src="/icons/logo.png" style="height:110px;margin-top:-5px;float:left">
<div class="But_fam"> BUT family</div>
</div>
</div>
<div id="content">
<div id="block2">
<img src="/icons/123.png" id="but">
<p>Станьте частью семьи Bucheon!
</div>
<div id="block1">
<div class="main">
<input type="checkbox" id="chk" aria-hidden="true">
<!--SIGN UP FORM-->
<div class="signup">
<form method="post">
<label for="chk" aria-hidden="true" style="color:#ffb308">Sign up</label>
<div style="padding-left:9%;padding-right:9%">
<input style="width:39%;white-space: nowrap;float:left;" value="<?php echo $first_name ?>" required="" name="first_name" type="text" id="text" placeholder="First name">  
<input style="width:39%;white-space: nowrap;float:left;margin-left:4%" value="<?php echo $last_name ?>" required="" name="last_name" type="text" id="text" placeholder="Last name"><br><br>
</div>
<span style="margin-top:5px;margin-bottom:5px;text-align:center;justify-content:center;display:flex;color:white">Gender:</span>
<select name="gender" style="margin:auto; display:flex;">
<option><?php echo $gender ?></option>
<option>Male</option>
<option>Female</option>
</select>
<input style="margin:auto;margin-top:10px;" value="<?php echo $email ?>" name="email" required="" type="text" id="text" placeholder="Email"><br>
<input style="margin:auto;margin-top:-10px;" name="password" type="password" id="text" required="" placeholder="Password"><br>
<input style="margin:auto;margin-top:-10px;" name="password2" type="password" id="text" required="" placeholder="Retype Password">
<button type="submit" id="button1" value="Sign up"> Sign up</button>
<br>
</form>
</div>
<!--Login form-->
<div class ="login">
<form method="post" style="padding-top:5px;">
<label for="chk" aria-hidden="true" style="color:#2e2e2e;">Login</label><br>
<input style="margin:auto;" name="email" value="<?php echo $email ?>" type="text" id="text" placeholder="Email" required=""><br><br>
<input style="margin:auto;margin-top:-10px;" name="password" required="" value="<?php echo $password ?>" type="password" id="text" placeholder="Password"><br>
<button type="submit" id="button2" value="Log in">Login</button>
<br><br><br>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
> <?php
session_start();
include("classes/connect.php");
include("classes/login.php");
$email = "";
$password = "";
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$login = new Login();
$result = $login->evaluate($_POST);
if($result != "")
{
echo "<div style='text-align:center;font-size:12px;color:white;background-color:grey;'>";
echo "<br>The following errors occured:<br><br>";
echo $result;
echo "</div>";
}else
{
header("Location:" .ROOT. "profile");
die;
}
$email = $_POST['email'];
$password = $_POST['password'];
}
> <?php
include("classes/connect.php");
include("classes/signup.php");
$first_name = "";
$last_name = "";
$gender = "";
$email = "";
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$signup = new Signup();
$result = $signup->evaluate($_POST);
if($result != "")
{
echo "<div style='text-align:center;font-size:12px;color:white;background-color:grey;'>";
echo "<br>The following errors occured:<br><br>";
echo $result;
echo "</div>";
}else
{
header("Location: " .ROOT."profile");
die;
}
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$gender = $_POST['gender'];
$email = $_POST['email'];
}
?>
не подскажете как сделать так чтобы при нажатии button воспроизводился нужный php обработчик? В отдельности работает отлично, но я не знаю как сделать на одной странице
Ответы (1 шт):
Автор решения: Daniil
→ Ссылка
Добавьте в каждую форму input с type="hidden" name="query_type" (можно любое имя) и value="login" для авторизации, а для регистрации value="signup". Каждый обработчик php оберните в условие if(isset($_POST["query_type"]) && $_POST["query_type"] == "login") {...} для авторизации. Такое же условие для регистрации только вместо login укажите signup