私は2つのボタンを持つhtmlフォームを持っています。 1つはmysqlクエリを使用してログインし、もう1つは登録ページにリダイレクトすることです。ログインボタンは必要に応じて機能しますが、登録ボタンはちょっと奇妙です。それは想定されている関数を実行しますが、ifステートメントのログインボタン部分に関するエラーも返します。HTML ifとelse if文のエラー
HTML:
<html><head><title> Sign-In </title></head>
<body>
<h1> Login Form </h1>
<div id="Sign-In">
<form method="POST" action="connectivity.php">
Username: <input type='text' name='user'> <br><br>
Password: <input type='password' name='password'> <br><br>
<input type="submit" class="button" name="login_button" value="Login"> <br>
<input type="submit" class="button" name="register_button" value="Register">
</form>
</div>
</body>
</html>
PHP:
<?php
session_start(); //starting the session for user profile page
define('DB_HOST', 'localhost');
define('DB_NAME', 'project2');
define('DB_USER','root');
define('DB_PASSWORD','password');
if($_POST['login_button']){
signin();
}
else if($_POST['register_button']){
register();
}
function signin()
{
$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error());
$ID = $_POST["user"];
$Password = $_POST["password"];
if(!empty($_POST['user'])) //checking the 'user' name which is from Sign-In.html, is it empty or have some text
{
$query =("SELECT * FROM Customers where userName = '" .$ID. "' AND pass = '" .$Password. "';");
$result = mysql_query($query, $con);
if (mysql_num_rows($result) == 0)
{
echo "Invalid username or password.";
}
else
{
echo "Successfully logged in!";
}
}
else
{
echo "Username field is empty!";
}
}
function register()
{
echo "please register";
}
?>
私が手にエラーがある:
Notice: Undefined index: login_button in C:\xampp\htdocs\project2\connectivity.php on line 8
please register
あなたが見ることができるように、register()
機能のためのエコーは、正常に動作しています私はそれもsignin()
機能を試していると思います。私はクリックされたボタンに応じて、実行する関数のうちの1つだけを必要としています。前もって感謝します!あなたがif($_POST['login_button']){
を行うと、ボタンが前のフォームに存在し、それがフォームの中にあったので、それがあった後に、経由して送信された場合
あなたが取得しているエラーメッセージは何か? – Hexana