1

我有以下代码示例 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>&nbsp;</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> 

代码总是返回“未设置登录变量!!! ”。为什么会这样?我的代码有问题吗?有人能帮助我吗 ...

4

2 回答 2

2

之所以返回这是因为您实际上并未发布“登录”,因为它没有值 - 尝试添加value="1"到图像按钮。此外,它不是input type="textfield"而是input type="text"

于 2013-03-01T07:54:04.330 回答
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

于 2014-05-28T07:14:16.457 回答