我有以下代码示例login.php:
<html>
<head>
<title>Modul 15 - Membuat Otentikasi User</title>
</head>
<body>
<h2>Form Login</h2>
Anda belum terdaftar sebagai user ?
[ <a href="register.php">Daftar sekarang</a>]
<br /><br />
<form action="do_login.php" method="post">
<table>
<tr>
<td>ID User</td>
<td><input type="textfield" name="id" maxlength="15" size="25" /></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="pwd" maxlength="15" size="25" /></td>
</tr>
<tr>
<td> </td>
<td><input type="image" src="login_btn.png" name="login" /></td>
</tr>
</table>
</form>
</body>
</html>
以及用do_login.php处理登录过程的代码:
<html>
<head>
<title>Modul 15 - Membuat Otentikasi User</title>
</head>
<body>
<?php
if (isset($_POST['login']))
{
$id = $_POST['id'];
$pwd = $_POST['pwd'];
$database = "dbxxxxxx";
$hostname = "172.xx.xx.xx";
$port = "50000";
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;" .
"HOSTNAME=$hostname;PORT=$port;PROTOCOL=TCPIP;UID=$id;PWD=$pwd;";
$conn = db2_connect($conn_string, '', '');
if ($conn)
{
echo "Connection succeeded.";
db2_close($conn);
}
else
{
echo "Connection failed.";
}
}
else
{
echo "Login variable not set !!!";
}
?>
</body>
</html>
代码始终返回“登录变量未设置!!! ”。为什么会这样?我的代码有问题吗?有人可以帮我吗...
答案 0 :(得分:2)
这是因为你没有实际发布'登录'而返回,因为它没有值 - 尝试将value="1"
添加到图像按钮。此外,它不是input type="textfield"
,而是input type="text"
。
答案 1 :(得分:0)
使用时
<input type="image" name="login">
实际上发送了2个参数,即login_x和login_y
我试过替换
if (isset($_POST['login']))
使用:
if(isset($_POST['login_x'], $_POST['login_y']))
它工作得很好!您可以在此处详细阅读:Can't find an input type=image value in $_POST