【问题标题】:how to link php, sql, and Javascript together,如何将 php、sql 和 Javascript 链接在一起,
【发布时间】:2016-05-12 03:44:12
【问题描述】:

我正在登录页面,我有 javascript 进行验证(检查字段是否为空白)sql 存储数据和 php 执行 php 所做的事情(idk)....无论如何,当我按下提交时它告诉我不能发布 /login.php

是否可以在网站上对其进行测试,看看它是否真的有效,或者代码是否完全错误。

<?php

$server = 'localhost';
$username = 'root';
$passowrd = 'cosc_453';
$dbname = 'login'


if(!empty($_POST['user']))


{ $query = mysql_query("SELECT * FROM UserName where userName ='$_POST[user]' AND pass = '$_POST[pass]'") or die(mysql_error()); 

$row = mysql_fetch_array($query) or die(mysql_error());


{ $_SESSION['userName'] = $row['pass']; echo "SUCCESSFULLY LOGIN TO USER PROFILE PAGE..."; } 



else { echo "SORRY... YOU ENTERD WRONG ID AND PASSWORD... PLEASE RETRY..."; 
    }
  }
 }

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


{ SignIn();

 } ?>

php 外部

     function validate(){

   if ( document.getElementById (user).value=="")
      {
       alert ("Please enter your user name");
   }
   else if ( document.getElementById(pass).value=="")
alert("Please enter you password");
 else {
alert("Processing Login........");
}
      }

javascript 外部

  CREATE TABLE UserName ( 
 UserNameID int(9) NOT NULL auto_increment,
userName VARCHAR(40) NOT NULL, 
 pass VARCHAR(40) NOT NULL, 
PRIMARY KEY(UserNameID) );

 INSERT INTO 
UserName (userName, pass) 
VALUES
 ("cosc" , "453");

sql 外部

<!DOCTYPE HTML> 
 <html>
<head>
<title>Sign-In</title>
<link rel="stylesheet" type="text/css" href="home.css">
<script src ="login.js"></script> 
</head> 
<body id="body-color"> 

<div id="Sign-In">
<fieldset style="width:30%">
<legend>LOG-IN HERE</legend>

<form method="Post" action="login.php" submit =" validate()"> 

User:<br><input type="text" name="user" size="40"><br> 

Password:<br><input type="password" name="pass" size="40"><br>

<input id="button" type="submit" name="submit" value="Log-In">

   </form> 
  < /fieldset>
   </div> 
  </body> 
        </html> 

【问题讨论】:

  • 在这里发布您的代码!

标签: javascript php sql


【解决方案1】:

您的 mysql 没有与数据库的连接。请停止使用mysql,改用mysqli

<?php

    $con = mysqli_connect("localhost","root","cosc_453","login");

    // Check connection
    if (mysqli_connect_errno())
    {
       echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    $sql = "SELECT * FROM UserName WHERE userName ='".$_POST[user]."' AND pass = '".$_POST[pass]."'";
    $result = mysqli_query($conn,$sql);
    $count_result = mysqli_num_rows($result);

    // Login Success URL

    if($count_result  == 1)
    {
        // If you validate the user you may set the user cookies/sessions here
        #setcookie("logged_in", "user_id");
        #$_SESSION["logged_user"] = "user_id";

        $_SESSION["secret_id"] = $row['secret_id'];

        if($row['level'] == 1)
        {
            // Set the redirect url after successful login for admin
            $resp['redirect_url'] = 'admin/';
        }

        else if($row['level'] == 2)
        {
            // Set the redirect url after successful login for user
            $resp['redirect_url'] = 'user/';
        }

    }
    else
    {
         echo "Invalid username or pass";
    }


?>

【讨论】:

  • mysql和mysqli有什么区别??
  • 我仍然收到错误 Cannot POST /login.php
【解决方案2】:

要补充 Eh Ezani 所说的内容,您的 HTML 存在问题。当我相信您的意思是 onsubmit 时,您的表单属性会显示为提交。可能想尝试类似的东西。

<form method="Post" action="login.php" onsubmit ="return validate()"> 

     User:<br><input type="text" name="user" size="40"><br> 

     Password:<br><input type="password" name="pass" size="40"><br>

     <input id="button" type="submit" name="submit" value="Log-In">

</form> 

另外,“在旧的 MySQL 函数上使用 MySQLi。“i”代表“改进”。改进列表可以在 the docs 中找到。

-归功于

Difference between mysqli and mysql?

【讨论】:

    猜你喜欢
    • 2011-10-06
    • 1970-01-01
    • 2016-12-07
    • 1970-01-01
    • 2020-04-14
    • 1970-01-01
    • 1970-01-01
    • 2012-11-22
    • 1970-01-01
    相关资源
    最近更新 更多