酷玩 发表于 2006-5-21 13:06:13

一个PHP表单登录问题

最近刚刚接触PHP,写了一个简单的登录页面,遇到问题,请大家帮忙看一看

<?php
//phpinfo();

   echo "the content is ".$username." ".$passwd." hello!<p>";   
   //测试是否得到提交的数据
if($username||$passwd)
{
    //省略   
}
else
{
   echo "Please log in!!!!!!!!!!!!!!!";    //没有提交数据就显示这样的信息
}
?>

?>

<html>
<center>
<form method=post action="test.php">
<table bgcolor='#cccccc'border = 0 cellpadding = 6 cellspacing = 0>
   <tr>
   <th colspan = 2 bgcolor = '#ff6600'>
       Please Log In
   </th>
   </tr>
   <tr>
   <td>Username:</td>
   <td><input type=text name=username></td></tr>
   <tr>
   <td>Password:</td>
   <td><input type=password name=passwd></td></tr>
   <tr>
   <td colspan=2 align=center>
   <? display_form_button('log-in'); ?>//显示一个按钮
   <?
      $username = user;
      $passwd = password;//即使这样赋值也不能传回当前页面
   ?>
   </td></tr>
   <tr>
</table></form>
</center>
</html>

现在的问题是我在表单中提交信息后想再传递给当前的这个test.php这个页面
然后金星数据库的查询,可是发现无法捕获username passwd这两个数据
echo "the content is ".$username." ".$passwd." hello!<p>";
总是无法显示这两个数据的值

KarajanLee 发表于 2006-5-21 13:16:46

你应该用$_POST['username']

jiangtao9999 发表于 2006-5-21 15:40:24

楼主的教材过期了

酷玩 发表于 2006-5-21 16:48:24

问题解决了 十分感谢
我手里这本书太老了 呵呵

酷玩 发表于 2006-5-21 18:38:25

还有个问题
对于”test.php?action = XXXX“这种形式传递的参数,在test.php中如何捕获action呢?
我用$_POST('action')好像不行?

jiangtao9999 发表于 2006-5-21 18:53:45

GET 吧?

-------------
PHP 超全局变量

$GLOBALS
包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键标为全局变量的 名称。从 PHP 3 开始存在 $GLOBALS 数组。

$_SERVER
变量由 Web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS 数组(依然有效,但反对使用)。

$_GET
经由 HTTP GET 方法提交至脚本的变量。类似于旧数组 $HTTP_GET_VARS 数组(依然有效,但反对使用)。

$_POST
经由 HTTP POST 方法提交至脚本的变量。类似于旧数组 $HTTP_POST_VARS 数组(依然有效,但反对使用)。

$_COOKIE
经由 HTTP Cookies 方法提交至脚本的变量。类似于旧数组 $HTTP_COOKIE_VARS 数组(依然有效,但反对使用)。

$_FILES
经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_FILES 数组(依然有效,但反对使用)。详细信息请参阅 POST 方法上传。

$_ENV
执行环境提交至脚本的变量。类似于旧数组 $HTTP_ENV_VARS 数组(依然有效,但反对使用)。

$_REQUEST
经由 GET,POST 和 COOKIE 机制提交至脚本的变量,因此该数组并不值得信任。所有包含在该数组中的变量的存在与否以及变量的顺序均按照 php.ini 中的 variables_order 配置指示来定义。该数组没有直接模拟 PHP 4.1.0 的早期版本。参见 import_request_variables()。

酷玩 发表于 2006-5-21 22:27:49

问题解决了 5555 谢谢jiangtao9999兄
我这刚开始接触 手里这本书有点老 可是要做的东西又时间紧 实在麻烦了

jiangtao9999 发表于 2006-5-21 22:40:15

看 http://www.php.net/docs.php

酷玩 发表于 2006-5-22 01:11:19

非常感谢 请问我的系统是RH9 安装的默认的PHP 可以使用IMAP么?
imap_open("{localhost/pop3:110}INBOX","$username","$passwd")
参数中的localhost项就是指接收邮件的服务器地址吧。

不知为什么,我总是出现couldn't open stream .... line X的错误
用户名和密码没问题

KarajanLee 发表于 2006-5-22 07:59:08

应该这样用

imap_open("{localhost:110/pop3/notls}INBOX", "$username", "$passwd");

酷玩 发表于 2006-5-22 11:30:24

试了试还是不行,请问RH9中mail server中的imap包是否需要安装?
php-imap已经安装。

还有参数中的localhost项就是指接收邮件的服务器地址吧。

KarajanLee 发表于 2006-5-22 11:39:33

你的邮件服务器上一定要运行有imap的或是pop3的服务,这样才能imap_open...

酷玩 发表于 2006-5-23 00:21:46

5555 太感谢了前辈了 问题解决了 已经成功连上了
现在有遇到一个新的问题
我使用imap_headers($stream);
总是发生超时错误
我又试着用imap_header($stream,1);
去获取一封邮件的信息发现没问题。
会不会是邮件服务器上的邮件过多?
怎么延长响应时间的限制,现在是30秒。
页: [1]
查看完整版本: 一个PHP表单登录问题