note 106788 added to book.session

From: Date: Tue, 06 Dec 2011 18:30:47 +0000
Subject: note 106788 added to book.session
Groups: php.notes 
Request: Send a blank email to php-notes+get-184940@lists.php.net to get a copy of this message
I often see nubes like me asking how to detect when a page is refreshed. This simple function using sessions does the trick for me. I have included the HTML to test in the script so just save it as testingrefreshed.php but I changed the '<' to '[' and '>' to ']' so you will have to change them back. <?php session_start(); // testing if the page is refreshed function refreshed($postrefresh) { // testing if the page is refreshed //$postrefresh is the value of $_POST['refresh']; if (!isset($_SESSION['refresh']) ) { $ret['refreshed'] = false; $_SESSION['refresh'] = $ret['newpostrefresh'] = 0; } elseif ($_SESSION['refresh'] == $_POST['refresh']) { $ret['refreshed'] = false; $ret['newpostrefresh'] = ++$_SESSION['refresh']; } else { $ret['refreshed'] = true; $ret['newpostrefresh'] = ++$_SESSION['refresh']; } return $ret; } print_r($_SESSION); print_r($_POST); $r = refreshed($_POST['refresh']); echo "post refresh:{$_POST['refresh']} session refresh:{$_SESSION['refresh']}<br>"; echo $r['refreshed']?'refreshed':'clicked'; ?> [html] [head] [title]testing refreshed[/title] [/head] [body bgcolor="#FFFFFF"] [form name="input" action="testingrefreshed.php" method="POST"] [input type="text" name="refresh" value="<?php echo $r['newpostrefresh']?>" /] [input type="submit" value="btn" /] [/form] [/body] [/html] ---- Server IP: 69.147.83.197 Probable Submitter: 200.50.87.55 ---- Manual Page -- http://www.php.net/manual/en/book.session.php Edit -- https://master.php.net/note/edit/106788 Del: integrated -- https://master.php.net/note/delete/106788/integrated Del: useless -- https://master.php.net/note/delete/106788/useless Del: bad code -- https://master.php.net/note/delete/106788/bad+code Del: spam -- https://master.php.net/note/delete/106788/spam Del: non-english -- https://master.php.net/note/delete/106788/non-english Del: in docs -- https://master.php.net/note/delete/106788/in+docs Del: other reasons-- https://master.php.net/note/delete/106788 Reject -- https://master.php.net/note/reject/106788 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#184940) next »