> On Aug 12, 2020, at 10:21 PM, Ashley Sheridan <ash@xxxxxxxxxxxxxxxxxxxx> wrote: > > > > On August 10, 2020 9:58:04 PM UTC, Fernando Fiore <no5software@xxxxxxxxx> wrote: >> <?php >> // this fails twice before working >> // first with undefined index 'txt' on line 5 >> // then with undefined index 'val' on line 10 then it works >> $name = $_POST['txt']; >> setcookie("val",$name,time() + 24 * 60 * 60); >> >> if(isset($_COOKIE) && !empty($_COOKIE)) >> { >> $var = $_COOKIE['val']; >> print('cookie = '. $var . '</br>'); >> } >> else >> echo ' cookie not set </br>'; >> >> >> >> ?> >> <form action="cookie2.php" name="myform" method="post"> >> <input type="text" name="txt" id="txt" value="abcdef" /> >> <input type="submit" formmethod="post" /> >> </form> > > It will, you're trying to access variables before they're set. You can use isset() to check those. > > On that topic, you're using isset on $_COOKIE, but that global array will always be there (unless you're using PHP CLI), so the check is redundant. > Thanks, > Ash It would be better to do: if( isset($_COOKIE['val']) ) { print $_COOKIE['val']; } Because $_COOKIE['val'] is what you are setting to begin with. JK