else语句没有在php if语句中访问

时间:2015-02-07 14:01:21

标签: php validation mysqli

我正在为一个站点编写一个登录脚本,我有大多数工作,除了在验证mysqli查询,其他tatement没有被访问,我无法弄清楚如何解决它,下面的代码是索引页面,有html,然后是调用的php脚本,除了验证所有输入字段匹配数据库字段的脚本之外,所有的php验证都有效,我可以让if语句的验证端工作并发送我到相关页面,问题是,如果if语句的第一部分中的验证显示无效,它然后传递给else语句,我得到的是一个空白的白页,它与php页面相同验证不是我需要的页面。任何帮助都将非常感激。

HTML CODE ***********

    <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Dot Mov Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="/styles/home.css" rel="stylesheet" type="text/css">
<!--The following script tag downloads a font from the Adobe Edge Web Fonts server for use within the web page. We recommend that you do not modify it.-->
<script>var __adobewebfontsappname__="dreamweaver"</script>
<script src="http://use.edgefonts.net/lemon:n4:default.js" type="text/javascript"></script>
<script src="/js/civem.js"></script>
<script type='text/javascript' src='http://code.jquery.com/jquery.min.js'></script>
<script src="http://code.jquery.com/jquery-1.7.min.js"></script>
<script src="/js/pswrd_strength.js"></script>
<script src="/js/email_dbvalidate.js"></script>
<script src="/js/username_dbvalidate.js"></script>
<script src="/js/confirm_password__dbvalidate.js"></script>
<script type="text/javascript">

function SwapDivsWithClick(div1,div2)
{
   d1 = document.getElementById(div1);
   d2 = document.getElementById(div2);
   if( d2.style.display == "none" )
   {
      d1.style.display = "none";
      d2.style.display = "block";
   }
   else
   {
      d1.style.display = "block";
      d2.style.display = "none";
   }
}
</script>
</head>

<body>
<div id="video_container">
  <video muted autoplay loop >
    <source src="/video/South Dakota Badlands Scenic Byway 720p (Video Only)_1.3gp" type="video/3gp">
    <source src="/video/South Dakota Badlands Scenic Byway 720p (Video Only).webm" type="video/webm">
    <source src="/video/South Dakota Badlands Scenic Byway 720p.ogg" type="video/ogg">
    Your browser does not support the video tag. I suggest you upgrade your browser. </video>
</div>

<header>

  <div class="upload"><a href="upload.html" title="Upload" target="_self">UPLOAD</a></div>
        <div class="view"><a href="view.php" title="View" target="_self">VIEW</a></div>
            <div class="spacer1"></div>

                <div class="search_bar">
                  <form action="/search_results.php" method="post" name="search_database" autocomplete="on">
                    <input type="text" class="search" placeholder="Search">
                  </form>


    </div>
                <div class="logo_text">.MOV </div>
                <div class="tagline">Motorcycle Online Video</div>
</a></header>
<main>

  <div id="login" style="display:block">




            <form method="post" action="includes/login.inc.php" id="loginform">


                <input name="email" type="email" id="email" form="loginform" placeholder="Please Enter Your Email">


                <input name="password" type="password" id="password" form="loginform" placeholder="Please Enter Your Password" title="Please Enter Your Password">


<div class="submit_buttons">
          <input type="submit" class="login_btn" form="loginform" formaction="includes/login.inc.php" title="Login" value="Login">

<a href="javascript:SwapDivsWithClick('login','join')"><div class="join_but">Or Join</div></a>
        </div>
        <div id="forgotten_password">Forgotten Password</div>
        <div class="login_statements">
                      <div class="statement1">
                        <div class="by_joining">By Joining</div>
                        <div class="dot_mov">.MOV</div>
                        <div class="agree">You agree to our</div>
                      </div>
                      <div class="statement2">
                        <div class="terms_link"><a href="terms.html" title="Terms of Service" target="_self">Terms of Service</a></div>
                        <div class="and">and</div>
                        <div class="service_link"><a href="privacy.html" title="Privacy Policy" target="_self">Privacy Policy</a></div>
                      </div>

              </div>
                    <div class="facebook_login">
                        <div class="facebook_icon"><img src="images/fb.png" class="fb_icon"></div>
                        <div class="fb_link">Login with FaceBook </div>
              </div>
    </form>
  </div>                  


  </div>


  <div id="join" style="display: none;">




    <form action="includes/register.inc.php" method="post" id="joinform">

                <input name="name2" type="text" id="name2" form="joinform" placeholder="Please Enter Your Username" title="Please Enter Your Username">
                <div id="user-name">
         <h4>Username must meet the following requirements!<br>If you have forgotten your Password, click on "Forgotten Password"!</h4> 

                <div id="name_result"></div>
                <div id="name_length" class="invalid">At least <strong>6 letters</strong></div>


                </div>


                <input name="email2" type="email" id="email2" form="joinform" placeholder="Please Enter Your Email" title="Please Enter a Valid Email">
                <div id="user-email">
         <h4>Email must be a valid Email format!<br>If the Email exists, Either Login using the Username the Email was setup with or check your Email is correct!</h4>
                <div id="email_result">
                <div id="email_validate" class="invalid">Email Valid</div>
                <div id="emaildb_validate"></div>
</div>

      </div>


      <input name="password2" type="password" id="password2" form="joinform" placeholder="Please Enter Your Password" title="Please Enter Your Password">
<div id="pswd_info">
    <h4>Password must meet the following requirements!<br>If the Password doesnt meet the requirements you will be required to fill in the form again!</h4>
    <ul id="pswd_list">
        <li id="letter" class="invalid">At least <strong>one letter</strong></li>
        <li id="capital" class="invalid">At least <strong>one capital letter</strong></li>
        <li id="number" class="invalid">At least <strong>one number</strong></li>
        <li id="length" class="invalid">Be at least <strong>8 characters</strong></li>
    </ul>
</div>

                <input name="confirm_password2" type="password" id="confirm_password2" form="joinform" placeholder="Please Confirm Your Password" title="Please Confirm Your Password">
            <div id="user-confirm_password">
       <h4>Please Confirm Password<br>If the Passwords do not match, you wil be required to fill in the form again!</h4>     

      <div id="error" class="error"></div>
            <div id="confirm_match" class="invalid">Passwords Match</div>




      </div>

      <div class="submit_buttons2">
                    <input name="join_btn2" type="submit" id="join_btn2" form="joinform" formaction="includes/register.inc.php" " formmethod="POST" title="Join" value="Join">

<a href="javascript:SwapDivsWithClick('login','join')"><div class="join_btn2">Or Login</div></a>
</div>


                                <div class="login_statements2">
                      <div class="statement1">
                        <div class="by_joining">By Joining</div>
                        <div class="dot_mov">.MOV</div>
                        <div class="agree">You agree to our</div>
                      </div>
                      <div class="statement2">
                        <div class="terms_link"><a href="terms.html" title="Terms of Service" target="_self">Terms of Service</a></div>
                        <div class="and">and</div>
                        <div class="service_link"><a href="privacy.html" title="Privacy Policy" target="_self">Privacy Policy</a></div>
                      </div>
                      </div>
                      <div class="facebook_login2">
                        <div class="facebook_icon"><img src="images/fb.png" class="fb_icon"></div>
                        <div class="fb_link">Login with FaceBook </div>
                        </div>
      </form>
  </div>                  




              </div>

  </div>
  <div class="scroll_container">
    <a data-scroll href="#body2"><div class="scroll_link">
      <div class="arrow"><img src="/images/arrow.png" alt="" class="arrow_icon"/></div>

      <div class="arrow3"><img src="/images/arrow.png" alt="" class="arrow_icon"/></div>
    Scroll Down</div></a>
  </div>







</main>

<div class="body2" id="body2">

  <div class="vid_grid">

    <div class="top_section">
        <div class="top_left_quarter"></div>
        <div class="top_right_quarter">
          <div class="top_right_left_quarter"></div>
          <div class="top_right_right_quarter"></div>
          <div class="top_right_bottom_left"></div>
          <div class="top_right_bottom_right"></div>
        </div>
    </div>

    <div class="bottom_section">
      <div class="bottpm_left_top"></div>
      <div class="bottpm_left_bottom"></div>
      <div class="bottom_middle"></div>     
        <div class="bottom_left_quarter"></div>
        <div class="bottom_right_quarter"></div>
        <div class="bottom_right_top"></div>
        <div class="bottom_right_bottom"></div>
    </div>
    <a href="/staff_picks.php"><div class="staff_picks">Staff Picks </div></a>


  </div>

</div>
<footer class="footer">
  <div id="breadcrumbs"><a href="/terms.html" title="Terms" target="_self">Terms</a> &vert; <a href="/privacy.html" title="Privacy" target="_self">Privacy</a> &vert; <a href="/about.html" title="About Us" target="_self">About Us</a> &vert; <a href="/copyright.html" title="Copyright" target="_self">Copyright</a> &vert; <a href="/cookies.html" title="Cookies" target="_self">Cookies</a> &vert; &reg &copy 2015</div><img src="/images/.mov.png" alt="" width="42" height="14" class="logo"/>
  <div class="social_media"><img src="/images/fb.png" alt="" width="30" height="30" class="fbicon"/><img src="/images/twitter.png" alt="" width="32" height="32" class="twittericon"/><img src="/images/googleplus.png" alt="" width="32" height="32" class="googleplusicon"/></div>



</footer>
<script src="/js/smooth-scroll.js"></script>
<script src="/js/smooth-scroll.min.js"></script>
<script type="text/javascript">
        smoothScroll.init({
            speed: 1000,
            easing: 'easeInOutCubic',
            offset: 0,
            updateURL: true,
            callbackBefore: function ( toggle, anchor ) {},
            callbackAfter: function ( toggle, anchor ) {}
        });
    </script>
</body>

</html>

PHP ***************

<?php
include_once 'db_connect.php';
include_once 'functions.php';

sec_session_start();

$emailErr = $passwordErr = $password_matchErr = $email_exsistErr = '';
$email = $name = $password = $confirm_password = '';



if (isset($_POST['name2'], $_POST['email2'], $_POST['paswword2'], $_POST['confirm_password2'])) {
    $error_msg .=  "please fill in the form"; 
    } else {

    // Sanitize the data passed in 'name'
    $name = filter_input(INPUT_POST, 'name2', FILTER_SANITIZE_STRING);

    // Sanitize the data passed in 'email'
    $email = filter_input(INPUT_POST, 'email2', FILTER_SANITIZE_EMAIL);

    // validate the data passed in 'email'
    $email = filter_var($email, FILTER_VALIDATE_EMAIL);

    // check if email is valid
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {

        // Not a valid email
        $emailErr = "The email address you entered is not valid";
    }

    //Sanitize the data passed in 'password'
    $password = filter_input(INPUT_POST, 'password2', FILTER_SANITIZE_STRING);


    //validate the data passed in 'password'
    if (preg_match("/^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*$/", $password)) {
 } else {
        $passwordErr = "Password is invalid!<br>Please ensure your password is formatted as described when filling in the form!";
}           


    //Sanitize the data passed in 'confirm_password'
    $confirm_password = filter_input(INPUT_POST, 'confirm_password2', FILTER_SANITIZE_STRING);


    //check that password and confirm password match
if ($password != $confirm_password) {

         // error matching passwords
$confirm_passwordErr = "Your passwords do not match.<br>Please type carefully.";
     }






$results = $mysqli->query("SELECT * FROM signed_up WHERE email = `'$email'");`  



while($row = $results->fetch_assoc()) {


    if ($row["name"] == $name && $row["email"] == $email && $row["password"] == $password) { 
$regErr = 'User Already Exsists!<br>Please Login';
$_SESSION['regErr'] = $regErr;
header('location: ../login.php');

} else {

//if ($emailErr == '' && $passwordErr == '' && $password_matchErr == '' && $email_exsistErr =='') {
echo '15';
        $_SESSION['emailErr'] = $emailErr;
        $_SESSION['passwordErr'] = $passwordErr;
        $_SESSION['confirm_passwordErr'] = $confirm_passwordErr;
        $_SESSION['email_exsistErr'] = $email_exsistErr;
header('Location: ../join.php');
exit();
    }
        }
    }
//}
 ?>

这是代码部分,问题是***********

    $results = $mysqli->query("SELECT * FROM signed_up WHERE email = '$email'");    

    while($row = $results->fetch_assoc()) {


        if ($row["name"] == $name && $row["email"] == $email && $row["password"] == $password) { 
    $regErr = 'User Already Exsists!<br>Please Login';
    $_SESSION['regErr'] = $regErr;
    header('location: ../login.php');

    } else {

    //if ($emailErr == '' && $passwordErr == '' && $password_matchErr == '' && $email_exsistErr =='') {
    echo '15';
            $_SESSION['emailErr'] = $emailErr;
            $_SESSION['passwordErr'] = $passwordErr;
            $_SESSION['confirm_passwordErr'] = $confirm_passwordErr;
            $_SESSION['email_exsistErr'] = $email_exsistErr;
    header('Location: ../join.php');
    exit();
        }
            }
        }
    //}
     ?>

现在有效的编辑代码***********************

$results = $mysqli->query("SELECT * FROM signed_up WHERE email = '$email'");    

while($row = $results->fetch_assoc()) {


    if ($row["name"] == $name && $row["email"] == $email && $row["password"] == $password) {

$regErr = 'User Already Exsists!<br>Please Login';
$_SESSION['regErr'] = $regErr;
header('location: ../login.php');

}else{   

        $_SESSION['emailErr'] = $emailErr;
        $_SESSION['passwordErr'] = $passwordErr;
        $_SESSION['confirm_passwordErr'] = $confirm_passwordErr;
        $_SESSION['email_exsistErr'] = $email_exsistErr;
header('Location: ../join.php');
exit();

}

}
        }

1 个答案:

答案 0 :(得分:0)

将验证直接放入SQL

$results = $mysqli->query("SELECT count(*) FROM signed_up WHERE email = '$email' AND name = '$name'"); 
if ($result->fetchColumn()){
    echo "User already exists";
}else{
    echo "New user";
}