Php 我的登录表单没有';我不能和铬一起工作

Php 我的登录表单没有';我不能和铬一起工作,php,html,forms,google-chrome,Php,Html,Forms,Google Chrome,我已经在IE和Firefox上进行了测试,但是在Chrome上我的登录表单没有响应。没有错误信息,什么都没有,只是什么都不做 代码如下: <form action="process.php" method="POST"> <table align="left" border="0" cellspacing="0" cellpadding="3"> <tr><td>Username:</td><td><input typ

我已经在IE和Firefox上进行了测试,但是在Chrome上我的登录表单没有响应。没有错误信息,什么都没有,只是什么都不做

代码如下:

<form action="process.php" method="POST">
<table align="left" border="0" cellspacing="0" cellpadding="3">
<tr><td>Username:</td><td><input type="text" name="user" maxlength="30" value="<? echo $form->value("user"); ?>"></td><td><? echo $form->error("user"); ?></td></tr>
<tr><td>Password:</td><td><input type="password" name="pass" maxlength="30" value="<? echo $form->value("pass"); ?>"></td><td><? echo $form->error("pass"); ?></td></tr>
<tr><td colspan="2" align="left"><input type="checkbox" name="remember" <? if($form->value("remember") != ""){ echo "checked"; } ?>>
<font size="2">Remember me next time &nbsp;&nbsp;&nbsp;&nbsp;
<input type="hidden" name="sublogin" value="1">
<input type="submit" value="Login"></td></tr>
</table>
</form>
session.php:

function login($subuser, $subpass, $subremember){
      global $database, $form;  //The database and form object

      /* Username error checking */
      $field = "user";  //Use field name for username
      if(!$subuser || strlen($subuser = trim($subuser)) == 0){
         $form->setError($field, "* Username not entered");
      }
      else{
         /* Check if username is not alphanumeric */
         if(!eregi("^([0-9a-z])*$", $subuser)){
            $form->setError($field, "* Username not alphanumeric");
         }
      }

      /* Password error checking */
      $field = "pass";  //Use field name for password
      if(!$subpass){
         $form->setError($field, "* Password not entered");
      }

      /* Return if form errors exist */
      if($form->num_errors > 0){
         return false;
      }

      /* Checks that username is in database and password is correct */
      $subuser = stripslashes($subuser);
      $result = $database->confirmUserPass($subuser, md5($subpass));

      /* Check error codes */
      if($result == 1){
         $field = "user";
         $form->setError($field, "* Username not found");
      }
      else if($result == 2){
         $field = "pass";
         $form->setError($field, "* Invalid password");
      }

      /* Return if form errors exist */
      if($form->num_errors > 0){
         return false;
      }

      /* Username and password correct, register session variables */
      $this->userinfo  = $database->getUserInfo($subuser);
      $this->username  = $_SESSION['username'] = $this->userinfo['username'];
      $this->userid    = $_SESSION['userid']   = $this->generateRandID();
      $this->userlevel = $this->userinfo['userlevel'];

      /* Insert userid into database and update active users table */
      $database->updateUserField($this->username, "userid", $this->userid);
      $database->addActiveUser($this->username, $this->time);
      $database->removeActiveGuest($_SERVER['REMOTE_ADDR']);

      if($subremember){
         setcookie("cookname", $this->username, time()+COOKIE_EXPIRE, COOKIE_PATH);
         setcookie("cookid",   $this->userid,   time()+COOKIE_EXPIRE, COOKIE_PATH);
      }

      /* Login completed successfully */
      return true;
   }
首先尝试为按钮指定一个“名称”,然后在process.php中,检查此按钮是否按下,然后检查其他所有按钮…检查应类似于:

if(isset($_POST['submit_name'])){

}

表中每行的td:s数量必须相同。
因为前两行有3个单元格,所以最后一行的colspan也必须有3个单元格。

我在使用jpWare时遇到了同样的问题,这就是您的代码所基于的

当您在一个浏览器上使用“记住我”功能,然后登录到另一个浏览器时,就会出现问题。这是由于php试图使用过时的cookie中存储的数据来验证您的sessionId

为了解决这个问题,让PHP在登录时删除这些cookie。详情如下:

  /* Insert userid into database and update active users table */
  $database->updateUserField($this->username, "userid", $this->userid);
  $database->addActiveUser($this->username, $this->time);
  $database->removeActiveGuest($_SERVER['REMOTE_ADDR']);

    if($subremember){
        setcookie(COOKIE_NAME, $this->customer_id, time()+COOKIE_EXPIRE, COOKIE_PATH);
        setcookie(COOKIE_ID,   $this->session_id,   time()+COOKIE_EXPIRE, COOKIE_PATH);
    } else {
    /* Delete cookies - This fixes a bug that wouldn't let you log in if your
     * session_id got changed (by another browser for example) but your cookies
     * still referenced the old one.
     */
    setcookie(COOKIE_NAME, $this->customer_id, time(), COOKIE_PATH);
    setcookie(COOKIE_ID,   $this->session_id,   time(), COOKIE_PATH);}

如果你打电话给var_dump(“你好”);退出();在代码的顶部,你至少看到了吗?它不是PHP代码。在您的服务器上运行,而不是在客户端Chrome上运行。当你在Chrome中查看source:(Ctrl+U)时,生成的代码是什么样子的?嗯,到底是怎么回事。。。你的表格是被贴出来然后什么都没发生还是根本没被贴出来?好吧,嗯,你们这帮人把我弄糊涂了。我点击了“提交”,但什么都没发生
  /* Insert userid into database and update active users table */
  $database->updateUserField($this->username, "userid", $this->userid);
  $database->addActiveUser($this->username, $this->time);
  $database->removeActiveGuest($_SERVER['REMOTE_ADDR']);

    if($subremember){
        setcookie(COOKIE_NAME, $this->customer_id, time()+COOKIE_EXPIRE, COOKIE_PATH);
        setcookie(COOKIE_ID,   $this->session_id,   time()+COOKIE_EXPIRE, COOKIE_PATH);
    } else {
    /* Delete cookies - This fixes a bug that wouldn't let you log in if your
     * session_id got changed (by another browser for example) but your cookies
     * still referenced the old one.
     */
    setcookie(COOKIE_NAME, $this->customer_id, time(), COOKIE_PATH);
    setcookie(COOKIE_ID,   $this->session_id,   time(), COOKIE_PATH);}