だから私はJavascript / PHP全体に少し慣れていません。この 2 つの言語でコーディングするのは実に楽しいものです。現在、ユーザーが chrisrjones.com にアクセスすると、chrisrjones.com/splash.php にリダイレクトされます。スプラッシュ ページが好きかどうかをユーザーに尋ねる 2 つのラジオ ボタンがあります。ユーザーの選択に応じて、Cookie の値が true または false に設定されます。また、ユーザーが「Enter」ボタンをクリックすると、「visit」という別の Cookie が作成されます。
ユーザーが「はい」を選択すると、スプラッシュ ページは愚かで、サイトに入りますが、ブラウザーでウィンドウ/タブが閉じられている場合、サイトのリロード時にスプラッシュ ページが表示されます。
ユーザーが「いいえ」を選択した場合、スプラッシュ ページは愚かであり、サイトにまったく入ることができません。
いずれかのボタンがクリックされると、ユーザーがサイトに入るようにする方法はありますか? (方法はあるはず)
また、ユーザーが [はい] を選択してリダイレクトしないかどうかを覚えておく方法もあります。
index.phpファイルは次のようになります。
<?php
$cookie_splash = $_COOKIE['nosplash'];
$cookie_visit = $_COOKIE['visit'];
if ($cookie_splash == "false" || $cookie_splash == "" && $cookie_visit == "") {
echo "<script type = text/javascript>";
echo "window.location = 'http://chrisrjones.com/splash.php'";
echo "</script>";
}
if ($cookie_splash == "false" && $cookie_visit == "true") {
echo "<script type = text/javascript>";
echo "window.location = 'http://chrisrjones.com/index.php'";
echo "</script>";
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>chrisRjones.com</title>
<!-- default - stylesheets at the bottom override styles at the top -->
<link rel="stylesheet" type="text/css" media="screen" href="stylesheet.css" />
<!-- favicon -->
<link href="favicon.ico" rel="icon" type="image/x-icon" />
</head>
<body>
<!-- cut for readablitiy -->
</body>
</html>
スプラッシュ.php
<!DOCTYPE html>
<html lang="en">
<head>
<title>chrisRjones.com - Splash</title>
<script type="text/javascript">
function valForm() {
if(!document.getElementById('splash_false').checked && !document.getElementById('splash_true').checked ) {
alert('You either like splash pages or you don\'t choose one ...please');
return false;
}
}
</script>
<!-- Javascript radiobutton form validation END -->
</head>
<body>
<img src="<?php echo $path . $img ?>" alt="" width="640" height="auto" />
<h1>Refresh the page to enjoy more pictures.</h1><br />
<p>
<form name="tosplashornottosplash" action="splash-process.php" method="post" onSubmit="return valForm()">
Splash pages are stupid.
<input type="radio" name="splash" id="splash_false" value="false" /> No
<input type="radio" name="splash" id="splash_true" value="true" /> Yes
<input type="submit" name="splashSubmit" onClick="return valForm(tosplashornottosplash)" value="Enter" />
</form>
</p>
</body>
</html>
スプラッシュ-process.php
<?php
setcookie("visit", "true"); // delete cookie when browser / tab / session is clossed
$splashvar = $_POST["splash"];
if ( $splashvar == "false" ) {
// create cookie - nosplash 1
setcookie("nosplash", "false", time()+3600); // expires in one hour
}
else {
// create cookie - nosplash 0
setcookie("nosplash", "true", time()+3600); // expires in one hour
}
echo "<script type = text/javascript>";
echo "window.location = 'http://chrisrjones.com/index.php'";
echo "</script>";
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>chrisRjones.com - splash-process</title>
</head>
<body>
</body>
</html>