创建忘记密码的登录页面

时间:2016-03-03 06:19:21

标签: php mysql

我试图在PHP中创建忘记密码页面的登录页面。在数据库中,我有四列:

  

USER_NAME

     

PASSWORD

     

EMAIL_ID

     

BIRTHDAY

在忘记密码页面中,我想创建用户是否正确填写birthdayemail id,然后显示usernamepassword

此代码显示需要在数据库中保存数据的错误。



<div id="reset" class="form-action hide">
                    <h3>Forgot your password</h3>
                    <form  action="reset.php" name="loginpage" method="POST"  >
                        <ul>
                            <li>
                                <input type="text" name="EMAIL1" placeholder="Email" />
                            </li>
                            <li>
                                <input type="text" name="BIRTHDAY1" placeholder="Birthday" />
                            </li>
                            <li>
                                <input type="submit" name="submit" value="Send" class="button" />
                            </li>
                        </ul>
                    </form>
                </div>




<?php

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

    $link = mysql_connect("localhost", "root", "", "addressbook");

    if ($link === false) {
        die("ERROR: Could not connect. " . mysql_connect_error());
    }
    $sql = "SELECT USER_NAME, PASSWORD, EMAIL_ID, BIRTHDAY FROM loginpage";
    $result = mysql_query($query);


    while ($row = mysql_fetch_assoc($result)) {

        $usname = mysql_real_escape_string($link, $_POST['USER_NAME']);
        $passwe1 = mysql_real_escape_string($link, $_POST['PASSWORD']);
        $emailid1 = mysql_real_escape_string($link, $_POST['EMAIL_ID']);
        $birtday1 = mysql_real_escape_string($link, $_POST['BIRTHDAY']);
    }

    $emailid = $_POST['EMAIL1'];
    $birth = $_POST['BIRTHDAY1'];
    if ($emailid != '' && $birth != '') {

        $query = mysql_query("SELECT * FROM loginpage WHERE EMAIL_ID='" . $emailid . "' and BIRTHDAY='" . $birth . "'") or die(mysql_error());
        $res = mysql_fetch_row($query);

        if ($res) {
            echo $usname . "<br>" . $passwe1;
        } else {
            echo 'You entered email id or birtrhday is incorrect';
        }
    } else {
        echo 'Enter both email id and birthday';
    }
}
?>
&#13;
&#13;
&#13;

PHP的这一个显示13和16行( $result = mysql_query($query);while ($row = mysql_fetch_assoc($result)) { )返回错误,没有连接数据库。我正在努力解决这个问题。有帮助吗?感谢。

2 个答案:

答案 0 :(得分:1)

&#13;
&#13;
 <?php

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

    $link = mysql_connect("localhost", "root", "");

    if ($link === false) {
        die("ERROR: Could not connect. " . mysql_connect_error());
    }

    $db_selected = mysql_select_db('addressbook', $link);


    if (!$db_selected) {
        die('Can\'t use addressbook: ' . mysql_error());
    }

    $emailid = $_POST['EMAIL1']; //posted 
    $birth = $_POST['BIRTHDAY1'];
    if ($emailid != '' && $birth != '') 
    {

        $query = mysql_query("SELECT * FROM loginpage WHERE EMAIL_ID='" . $emailid . "' and BIRTHDAY='" . $birth . "'") or die(mysql_error());//condition to check mail and date of birth are matching
       $num = mysql_num_rows($query);
       if($num > 0)
       {
           while($row = mysql_fetch_array($query))
           {
               //fetched all things
                $userName = $row['USER_NAME']; 
                $password = $row['PASSWORD']; 
                $emailId = $row['EMAIL_ID']; 
                $birthDay = $row['BIRTHDAY'];
           }
          echo $userName ." ".$password; //show user name and password
       }
       else
       {    
            echo 'Email Or Birthday is wrong';
       }
    } 
    else 
    {
        echo 'Enter both email id and birthday';
    }
}

?>
&#13;
&#13;
&#13;

    <div id="reset" class="form-action hide">
                <h3>Forgot your password</h3>
                <form  action="reset.php" name="loginpage" method="POST"  >
                    <ul>
                        <li>
                            <input type="text" name="EMAIL1" placeholder="Email" />
                        </li>
                        <li>
                            <input type="text" name="BIRTHDAY1" placeholder="Birthday" />
                        </li>
                        <li>
                            <input type="submit" name="submit" value="Send" class="button" />
                        </li>
                    </ul>
                </form>
            </div>




 <?php

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

    $link = mysql_connect("localhost", "root", "");

    if($link)
    {
        die("Connection Failed".mysql_error());
    }
    // Select Database
    $db_selected = mysql_select_db('addressbook', $link );

    // check Database
    if (!$db_selected) 
    {
        die ('Can\'t use addressbook: ' . mysql_error());
    }



    $emailid = $_POST['EMAIL1']; //posted 
    $birth = $_POST['BIRTHDAY1'];
    if ($emailid != '' && $birth != '') 
    {

        $query = mysql_query("SELECT * FROM loginpage WHERE EMAIL_ID='" . $emailid . "' and BIRTHDAY='" . $birth . "'") or die(mysql_error());//condition to check mail and date of birth are matching
       $num = mysql_num_rows($query);
       if($num > 0)
       {
           while($row = mysql_fetch_array($query))
           {
               //fetched all things
                $userName = $row['USER_NAME']; 
                $password = $row['PASSWORD']; 
                $emailId = $row['EMAIL_ID']; 
                $birthDay = $row['BIRTHDAY'];
           }
          echo $userName ." ".$password; //show user name and password
       }
       else
       {    
            echo 'Email Or Birthday is wrong';
       }
    } 
    else 
    {
        echo 'Enter both email id and birthday';
    }
}

答案 1 :(得分:0)

您尝试使用此代码 你要选择数据库mysql_select_db()这个功能

<div id="reset" class="form-action hide">
            <h3>Forgot your password</h3>
            <form  action="reset.php" name="loginpage" method="POST"  >
                <ul>
                    <li>
                        <input type="text" name="EMAIL1" placeholder="Email" />
                    </li>
                    <li>
                        <input type="text" name="BIRTHDAY1" placeholder="Birthday" />
                    </li>
                    <li>
                        <input type="submit" name="submit" value="Send" class="button" />
                    </li>
                </ul>
            </form>
        </div>




 <?php

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

 $link = mysql_connect("localhost", "root", "");

 if ($link === false) {
  die("ERROR: Could not connect. " . mysql_connect_error());
 }
 if ($link->connect_error) {
 die("Connection failed: " . $link->connect_error);
 } 

 // Select Database
 $db_selected = mysql_select_db('addressbook', $link );

 // check Database
 if (!$db_selected) {
 die ('Can\'t use addressbook: ' . mysql_error());
 }


 $sql = "SELECT USER_NAME, PASSWORD, EMAIL_ID, BIRTHDAY FROM loginpage";
 $result = mysql_query($sql,$link) or die(mysql_error());


 while ($row = mysql_fetch_assoc($result)) {

   $usname =  $row['USER_NAME'];
   $passwe1 =  $row['PASSWORD'];
   $emailid1 = $row['EMAIL_ID'];
   $birtday1 = $row['BIRTHDAY'];
  }

  $emailid = $_POST['EMAIL1'];
  $birth = $_POST['BIRTHDAY1'];
  if ($emailid != '' && $birth != '') {

$query = mysql_query("SELECT * FROM loginpage WHERE EMAIL_ID='" . $emailid . "' and BIRTHDAY='" . $birth . "'") or die(mysql_error());
$res = mysql_fetch_row($query) ;

if (mysql_num_rows($query)>0) {
$user=mysql_fetch_array($query);
$usname=$user['USER_NAME'];
$passwe1=$user['PASSWORD'];
    echo $usname . "<br>" . $passwe1;
} else {
    echo 'You entered email id or birtrhday is incorrect';
 }
} else {
 echo 'Enter both email id and birthday';
 }
 }
 ?>
相关问题