我在index.php
页
<form action='login.php' method='POST'>
Log in Here:<br><br>
Username:<input type='text' name='User_name' value='username' onFocus="clearText(this)" id='fn'>
<br><br>
Password:<input type='password' name='_password' ><br><br>
<input value='Log in' type="image" src="client-login-buttonclient-login-button.jpg" ><br><br>
<input type="checkbox" name="checkbox" id="checkbox" />
Remember password</span></p>
</form>
我将表单字段发布到另一个名为login.php
<?php
session_start();
$username=$_POST['User_name'];
$password=$_POST['_password'];
if($username && $password){
echo $username;
echo $password;
}
else {
echo 'A field is empty';
}
但是当我这样做时,它会给我以下错误
Notice: Undefined index: User_name in login.php on line 4
Notice: Undefined index: _password in login.php on line 5
为什么post方法不起作用?
答案 0 :(得分:0)
错误表示未传递变量。为了绕过错误并仍然捕获字段为空,请使用isset()
:
$username = (isset($_POST['User_name']) ? $_POST['User_name'] : '');
这将检查变量是否被传递,如果是,则将相应的变量设置为该值,否则将其设置为''(或您选择的其他值)。
答案 1 :(得分:0)
尝试将isset
放入if条件中,然后看看
if(isset($_POST['User_name']) && isset($_POST['_password'])){
echo $_POST['User_name'];
echo $_POST['_password'];
}else {
echo 'A field is empty';
}
答案 2 :(得分:0)
<?php
session_start();
if($_POST)
{
$username=$_POST['User_name'];
$password=$_POST['_password'];
if($username && $password){
echo $username;
echo $password;
}
else {
echo 'A field is empty';
}
}
?>
答案 3 :(得分:-1)
您需要提交按钮发布您的表单或至少使用javascript执行此操作并使用isset()
检查这些发布变量是否首先包含值,然后尝试分配值。
if(isset($_POST['UserName']){
$username=$_POST['User_name'];
}