"成功/失敗"通知を自分のWebページに切り替えることを試みています。私はテストウェブサイトのいくつかの部分でこれを成功させましたが、私はログインページで少し問題に遭遇しています。これを行う私の元の方法は、大丈夫だが、私が探しているスタイルを提供していないアラートポップアップを使用しています。私はウェブサイトの他の部分で私のために働いていたテンプレートを使用することに決めましたが、ここではユーザーのために自分のセッションを確立するので、ログインはユニークです。ここでアラートからポップアップウィンドウに変更しようとしています
はここ
<?php
session_start();
require_once '../php/connect.php';
if (isset($_POST['username']) and isset($_POST['password'])){
$username = mysqli_real_escape_string($link, $_POST['username']);
$password = mysqli_real_escape_string($link, $_POST['password']);
$result = mysqli_query($link, "SELECT * FROM planner WHERE username = '$username' and password = '$password'");
$count = mysqli_num_rows($result);
if ($count !== 1){
echo "<script> window.location.href='../default.html'; alert('Your credentials could not be validated!')</script>";
} else {
$_SESSION['username'] = $username;
}
if (isset($_SESSION['username'])){
header("Location: ../php/main.php");
} else {
echo "<script> window.location.href='../default.html'; alert('Your credentials could not be validated!')</script>";
}
}
mysqli_close($link);
?>
は私が仕事に取得しようとしているコードですが、
を思いつく...意図したとおりに動作しますが、一般的な警告ウィンドウを使用して私の元のログインコードです解析エラー:構文エラー、予期しない行末のファイルの終わり.... ....これは私の?> PHPを終了する。
<?php
session_start();
require_once '../php/connect.php';
if (isset($_POST['username']) and isset($_POST['password'])){
$username = mysqli_real_escape_string($link, $_POST['username']);
$password = mysqli_real_escape_string($link, $_POST['password']);
$result = mysqli_query($link, "SELECT * FROM planner WHERE username = '$username' and password = '$password'");
$count = mysqli_num_rows($result);
if ($count !== 1){
echo "<script>
var no = window.open('', 'failure','top=250,left=500,height=200,width=350,menubar=no,scrollbars=no,toolbar=no');
no.document.write('<body bgcolor='#EFEFEF'/>');
no.document.write('</br>');
no.document.write('<p style='text-align:center;color:white;background-color:red;font-family:Helvetica;font-size:20px'>Your credentials could not be verified</p></br>');
no.document.write('<div style='text-align:center'><button style='width:100px;border-style:solid;border-width:5px;border-color:#003399;position:absolute;left:35%;background-color:#003399;color:#ffcc00;font-weight:bold;font-family:Helvetica' value='Close' onclick='window.close()'>OK</button></div>');
window.location.href = '../default.html';</script>";
} else {
$_SESSION['username'] = $username;
}
if (isset($_SESSION['username'])){
header("Location: ../php/main.php");
} else {
echo "<script>
var no = window.open('', 'failure','top=250,left=500,height=200,width=350,menubar=no,scrollbars=no,toolbar=no');
no.document.write('<body bgcolor='#EFEFEF'/>');
no.document.write('</br>');
no.document.write('<p style='text-align:center;color:white;background-color:red;font-family:Helvetica;font-size:20px'>Your credentials could not be verified</p></br>');
no.document.write('<div style='text-align:center'><button style='width:100px;border-style:solid;border-width:5px;border-color:#003399;position:absolute;left:35%;background-color:#003399;color:#ffcc00;font-weight:bold;font-family:Helvetica' value='Close' onclick='window.close()'>OK</button></div>');
window.location.href = '../default.html';</script>";
}
mysqli_close($link);
?>
私はこれが引用符と関連していることは確かですが、いくつかの組み合わせを試してみましたが、まだエラーが表示されます。
javacript内のif文、else文をすべて保持できると、window.openコードは他のページでもうまく機能します。これらのページでは、私はちょうどPHPタグを使用して、必要に応じてJavaScriptの外側のパラメータを取得します。
しかし、$ _Sessionでこれを実行しようとすると、動作しません。
これは引用符の問題であれば、誰かが正しい方向で私を指すことができれば感謝します。これはセッションに関連している場合、私はjavascriptの書式設定のヘルプを使用することができるので、私は?_Sessionを適切に呼び出します。
らしいです – RST
このエラーは、中括弧が欠落していることを意味し、中括弧を数えます。 –
Do'h ....エラーメッセージを削除しました。今すぐ空のlogin.php画面が表示されます... – airider74