我正在制作一个非常基本的HTML和HTML登录页面PHP。但是,当我按下登录按钮时,
注意:未定义的索引:mail
出现了。正如您在代码中看到的,我使用过
if (isset($_POST['submit']))
所以我无法想象这就是问题所在。有人能告诉我我的做法有什么问题吗?
HTML
<form id="login_form" action="" method="post">
<label for="mail">E-mailadres*:</label>
<input id="mail" type="text"/> <br/> <br/>
<label for="password">Wachtwoord*:</label>
<input id="password" type="password"/> <br/> <br/>
<label for="submit"></label>
<input id="submit" type="submit" name="submit" value="Inloggen"/> <br/> <br/>
</form>
<?php
if (isset($_POST['submit'])) {
include 'php/login.php';
}
?>
PHP
<?php
include('connect.php');
if (isset($_POST['submit'])) {
if ($_POST['mail'] == '' || $_POST['password'] == '') {
echo "Vul alle velden in.";
} else {
$user_mail =$_POST['mail'];
$user_password=$_POST['password'];
$user_mail = stripslashes($user_mail);
$user_password = stripslashes($user_password);
$user_mail = mysql_real_escape_string($user_mail);
$user_password = mysql_real_escape_string($user_password);
$sql="SELECT * FROM floro WHERE email='$user_mail' and wachtwoord='$user_password'";
$res = mysql_query($sql);
if ($res) {
?>
<div id="formResult"><?php echo 'U bent ingelogd'; ?></div>
<?php
} else {
?>
<div id="formResult"><?php echo "De gegevens zijn onjuist."; ?></div>
<?php
}
}
}
?>
答案 0 :(得分:4)
您的输入应该有一个名称,而不仅仅是一个ID。
所以这不起作用:
<input id="mail" type="text"/> <br/> <br/>
但这会
<input name="mail" type="text"/> <br/> <br/>
如果javascript需要,您可以使用:
<input name="mail" id="mail" type="text"/> <br/> <br/>
请记住,服务器只会接收并且只接收名称为&#34; ...&#34;的表单元素。元件。
答案 1 :(得分:2)
变化
<label for="mail">E-mailadres*:</label>
<input id="mail" type="text"/> <br/> <br/>
<label for="password">Wachtwoord*:</label>
<input id="password" type="password"/> <br/> <br/>
到
<label for="mail">E-mailadres*:</label>
<input id="mail" name="mail" type="text"/> <br/> <br/>
<label for="password">Wachtwoord*:</label>
<input id="password" name = "password" type="password"/> <br/> <br/>
在您的表单中。