3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php session_start(); // if the user navigates directly to session.php and there is NOT an active session with stored session variables, redirect to input.php if ((!isset($_SESSION["username"]) && !isset($_SESSION["s1"]) && !isset($_SESSION["s2"]) && !isset($_SESSION["firstrun"])) ) { //&& empty($_REQUEST["username"] && empty($_REQUEST["s1"]) && empty($_REQUEST["username"])) { header("Location: input.php"); exit; } // if the user navigates directly to session.php and there IS an active session with stored variables, redirect to strings.php but // ONLY if input.php did NOT call session.php with POST data else if (isset($_SESSION["username"]) && isset($_SESSION["s1"]) && isset($_SESSION["s2"]) && ($_SESSION["username"] != "") && ($_SESSION["s1"] != "") && ($_SESSION["s2"] != "") && ($_SESSION["firstrun"] == "false") && empty($_POST)) { header("Location: strings.php"); exit; } else { if (!empty($_REQUEST)) { $username = htmlspecialchars($_REQUEST["username"]); $s1 = htmlspecialchars($_REQUEST["s1"]); $s2 = htmlspecialchars($_REQUEST["s2"]); if ($username != "" && $s1 != "" && $s2 != "") { $_SESSION["username"] = $username; // implicit call to session_start() if not already called $_SESSION["s1"] = $s1; // call session_name() first to start named session $_SESSION["s2"] = $s2; //echo "Vars are".$_SESSION["username"].$_SESSION["s1"].$_SESSION["s2"]; // if session creation and variable assigning was successful, set firstrun to false and empty the POST array // return true to calling JS function to enable redirect to strings.php if (isset($_SESSION["username"]) && isset($_SESSION["s1"]) && isset($_SESSION["s2"])) { $_SESSION["firstrun"] = "false"; $_POST = array(); echo "true"; } } } } ?>
Output for 5.2.3 - 7.1.0
Output for 4.3.2 - 5.2.2
Warning: session_start(): Cannot send session cookie - headers already sent in /in/sIolf on line 4 Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /in/sIolf:4) in /in/sIolf on line 4
Output for 4.3.0 - 4.3.1
Warning: session_start() [http://www.php.net/function.session-start]: Cannot send session cookie - headers already sent in /in/sIolf on line 4 Warning: session_start() [http://www.php.net/function.session-start]: Cannot send session cache limiter - headers already sent (output started at /in/sIolf:4) in /in/sIolf on line 4