Jump to content

zimmo

Members
  • Posts

    171
  • Joined

  • Last visited

Everything posted by zimmo

  1. Sorry I thought you was referring to what I had been told. How can I now position the footer then, if I take it out of the container, it is positioned at the foot of the viewable screen and when you scroll it stays there.
  2. Sorry I am not an expert in css, still on the learning curve. So if I place this outside of the container: <div class="left"> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> </div> And would I change the css to be absolute positioning? or just to float?
  3. How would I change this then, or what should I have on the style sheet for this? Thanks
  4. I am getting better with css but this issue is driving me mad, i have a nice simple layout, and have the footer so its always where it should be. But as soon as i try and have a two column layout in the middle it stops the footer being where it should and is only positioned in the actual window so when you scroll it does not stay at the footer. Here is the html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Site</title> <link rel="stylesheet" type="text/css" href="../html/driving.css" /> </head> <body> <div id="container"> <!-- Header Starts Here --> <div id="header"> <img src="../html/images/logo.gif" width="480" height="180" alt="Crafty Cakes" style="vertical-align:top"/> </div> <!-- Content Holder Starts Here --> <div id="content"> <div class="left"> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> </div> <div class="right"> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> <p>Content</p> </div> </div> <!-- Footer Spacer Here --> <div id="spacer"> </div> <!-- Footer Starts Here --> <div id="footercontainer"> <div class="footer"> <ul> <li><a href="#">Link</a></li> </ul> <p><a href="#">Terms and Conditions</a></p> </div> </div> </div> </body> </html> And here is the css: /* CSS Style sheet */ html,body { margin:0; padding:0; height:100%; /* needed for container min-height */ font-family:arial,sans-serif; font-size:small; color:#666; } h1 { font:1.5em georgia,serif; margin:0.5em 0; } h2 { font:1.25em georgia,serif; margin:0 0 0.5em; } h1, h2, a { color:orange; } p { line-height:1.5; margin:0 0 1em; } div#container { position:relative; /* needed for footer positioning*/ margin:0 auto; /* center, not in IE5 */ width:100%; background-color: #ffffff; background-image: url(inc/mainbackground.gif); background-repeat: repeat-x; background-position: center top; height:auto !important; /* real browsers */ height:100%; /* IE6: treaded as min-height*/ min-height:100%; /* real browsers */ } div#header { position:relative; /* needed for footer positioning*/ width:1024px; height: 230px; margin:0 auto; /* center, not in IE5 */ } div#header p { font-style:italic; font-size:1.1em; margin:0; } div#content { position:relative; /* needed for footer positioning*/ width:1024px; margin:0 auto; /* center, not in IE5 */ padding:1em 1em 5em; /* bottom padding for footer */ height:100%; } div#content p { text-align:justify; padding:0 1em; } .left { position:relative; /* needed for footer positioning*/ width: 200px; float: left; } .right { position:relative; /* needed for footer positioning*/ width: 700px; float: right; } /* FOOTER */ div#footercontainer { position:absolute; width:100%; height: 100px; bottom:0; /* stick to bottom */ background-image: url(inc/footercontainer.gif); background-repeat: repeat-x; background-position: left top; } .footer { position:relative; /* needed for footer positioning*/ margin:0 auto; /* center, not in IE5 */ width:1024px; height: 100px; font: 12px Lucida Grande, Tahoma, sans-serif; color: #ffffff; background-image: url(inc/footer.gif); background-repeat: no-repeat; background-position: center top; } .footer ul { list-style: none; padding: 0; margin: 0; line-height: 40px; } .footer li { display: inline; margin: 0px; margin: 0; padding: 10px 10px 0px 10px; } .footer li a { text-decoration: none; color: #ffffff; } .footer li a:hover { color: #000000; } .footer p { padding: 0px 10px 0px 10px; } .footer p a { text-decoration: none; color: #ffffff; } .footer p a:hover { color: #000000; } /* END footer */ I have tried all sorts, but it just will not work. The content div holds these columns as div classes. If I take the classes out and have the content div for content it works fine. Someone said the following to me: "I copied your code into dreamweaver and had a look. I notice both your div's you're floating, left and right. When you float and element it is removed from the document flow and doesn't take up any space, and because of that, doesn't force the footer down to where you would probably like it. In a situation like this I would only float the smaller div, and position relative the other one where I want it. Does this help/make sence?" But I am not sure which to change?
  5. Thanks, missed that one. Now, the problem I have is its giving me an error for line 78. Parse error: syntax error, unexpected T_ELSE in /blah/ on line 78 Its driving me insane as I dont understand why?
  6. I am using the balance feature in my software to match up brackets so I can see where I am going wrong. But I am at a loss as to why my first opening bracket on an if statement will not match up to the last bracket as I expect it to? I have simplified my code from my last entry the other day. I can now see that something is wrong somewhere as my opening if statement bracket tag will not match up with anything? <?php // Include the connections script to make a database connection. include("inc/connect.php"); $username = ""; $password = ""; $errorMessage = ""; // Set up a function for the sql injection function quote_smart($value, $handle) { if (get_magic_quotes_gpc()) { $value = stripslashes($value); } if (!is_numeric($value)) { $value = "'" . mysql_real_escape_string($value, $handle) . "'"; } return $value; } // End of function // Start the form check code and login etc.. // The code should only start if a post has been requested if ($_SERVER['REQUEST_METHOD'] == 'POST'){ $username = $_POST['username']; $password = $_POST['password']; $username = htmlspecialchars($username); $password = htmlspecialchars($password); $username = quote_smart($username, $connection); $password = quote_smart($password, $connection); $SQL = "SELECT * FROM tablea WHERE username = $username AND password = '".md5($_POST['password'])."'"; #execute SQL statement $result = mysql_db_query( *****,"$SQL",$connection ); if (mysql_num_rows($sql_result) ==0) { session_start(); if(isset($_SESSION['attempts'])) { $_SESSION['attempts']=$_SESSION['attempts']+1; } else { $_SESSION['attempts'] = "1"; } # setup SQL statement $SQL = " INSERT INTO tableb "; $SQL = $SQL . " (sid, username, password, attempts, ipaddress) VALUES "; $SQL = $SQL . " ('$_COOKIE[phpSESSID]', $username, $password, '$_SESSION[attempts]', '$_SERVER[REMOTE_ADDR]') "; $SQL = $SQL . " ON DUPLICATE KEY UPDATE sid=VALUES(sid), username=VALUES(username), password=VALUES(password), attempts=VALUES(attempts), ipaddress=VALUES(ipaddress) "; #execute SQL statement $result = mysql_db_query( *****,"$SQL",$connection ); if (!$result) { echo("ERROR: " . mysql_error() . "\n$SQL\n"); } else { # setup SQL statement 2 $SQL = "SELECT attempts FROM tableb WHERE sid = '$_COOKIE[phpSESSID]' "; $result = mysql_query($SQL); if (mysql_num_rows($result) ==0) { $errorMessage = "Please check your username and/or password is correct"; } else { while ($row = mysql_fetch_array($sql_result)){ $attempts = $row["attempts"]; if $attempts >=3 { header ("Location: index2.html"); } else { $errorMessage = "Please check your username and/or password is correct"; } } } } else { session_start(); $_SESSION['username'] = "$_POST[username]"; header ("Location: index.html"); } // Closing Tag for the Post mysql_close($connection); } ?> When I select this bracket on this line: if ($_SERVER['REQUEST_METHOD'] == 'POST'){ If will not match anything, when my thought was it should match the last bracket where I have // Closing Tag for the Post mysql_close($connection); }
  7. Thanks, I agree, I will get that changed so its sanitized properly thanks again. So if anyone can help with my query now would be most grateful, just need to figure out how to put it together in its current state.
  8. Cheers, that database only contains invalid data that people enter and is not presented or queried live on site, could they gain access to any other tables if I have not properly santized the input? Thanks
  9. The connect is standard database connection, no html there at all, and I am aware of the output issue, I dont get any errors for headers sent. I found the issue is that safari and firefox do not return the error for some reason, yet internet explorer does but its working now. Why is md5 not secure, it seems to be recommended everywhere? Where do you see this for the posts? So much to learn.... I am trying to now change my sql query and not sure how to go about this. $SQL = "SELECT attempts FROM tablea WHERE sid = '$_COOKIE[phpSESSID]' "; $result = mysql_query($SQL); if (mysql_num_rows($result) ==0) { $errorMessage = "Please check your username and/or password is correct"; } elseif (mysql_num_rows($result) >=3) { header ("Location: index2.html"); The third statement I know is wrong, as I am trying to see if the field in the table has the value of 3 or more? Not sure how to fix this with my query. Appreciate help!
  10. I am trying to see why and most importantly where I have an issue with my code, it works fine, but I tested by turning cookies off in my browser (safari) and tried with internet explorer by changing the setting to block from my site so I could see what happens. I am unsure how to find out, when you fill in the form with your log in details (its a php self post) it just keeps reloading the same page? Please can someone spot why for me? not sure where in my code? <?php include("inc/connect.php"); $username = ""; $password = ""; $errorMessage = ""; function quote_smart($value, $handle) { if (get_magic_quotes_gpc()) { $value = stripslashes($value); } if (!is_numeric($value)) { $value = "'" . mysql_real_escape_string($value, $handle) . "'"; } return $value; } if ($_SERVER['REQUEST_METHOD'] == 'POST'){ $username = $_POST['username']; $password = $_POST['password']; $username = htmlspecialchars($username); $password = htmlspecialchars($password); $db_found = mysql_select_db($db, $connection); if ($db_found) { $username = quote_smart($username, $connection); $password = quote_smart($password, $connection); $SQL = "SELECT * FROM tablea WHERE username = $username AND password = '".md5($_POST['password'])."'"; $result = mysql_query($SQL); $num_rows = mysql_num_rows($result); if ($result) { if ($num_rows > 0) { session_start(); $_SESSION['username'] = "$_POST[username]"; header ("Location: index.html"); } /* New Block Log in attempts*/ else { session_start(); $_SESSION['attempts'] = "+1"; # setup SQL statement $SQL = " INSERT INTO tableb "; $SQL = $SQL . " (sid, username, password, attempts, ipaddress) VALUES "; $SQL = $SQL . " ('$_COOKIE[phpSESSID]', '$_POST[username]', '$_POST[password]', '$_SESSION[attempts]', '$_SERVER[REMOTE_ADDR]') "; #execute SQL statement $result = mysql_db_query( *****,"$SQL",$connection ); # check for error if (!$result) { echo("ERROR: " . mysql_error() . "\n$SQL\n"); } else { # setup SQL statement 2 $SQL = "SELECT * FROM tableb WHERE sid = '$_COOKIE[phpSESSID]' "; $result = mysql_query($SQL); if (mysql_num_rows($result) ==0) { $errorMessage = "Please check your username and/or password is correct"; } elseif (mysql_num_rows($result) >=3) { header ("Location: index2.html"); } else { $errorMessage = "Please check your username and/or password is correct"; } } } /* END */ } else { $errorMessage = "Please check your username and/or password is correct"; } mysql_close($connection); } else { $errorMessage = "Please check your username and/or password is correct"; } } ?>
  11. I just had a thought, would this work, if I destroy the session in that statement? Or would this effect you when you are logged in? So if I changed to this: session_start(); if (!(isset($_SESSION['username']) && $_SESSION['username'] != '')) { session_destroy(); header ("Location: fishery_login.html"); exit; } ? [/code]
  12. These pages are all part of the system, but its going to happen that someone bookmarks one, or like me when you type in the url it shows you the pages you have visited, and being lazy I just hit return knowin that my page is going to check im logged in and redirect me back to the login if I am not, but it opens a session and I want it not to? When you log in a session is started. Its these other pages I need to fix now, as its opening a session each time?
  13. I have sorted my session issue, but I have an issue with pages redirecting but starting the session, I will explain. If a user bookmarks a page that you access from the log in I have placed a isset check to see if the cookie exists for username. The problem is that I have to call the session first, and what is happening is if a user goes straight to the bookmarked page it redirects them back to the login as they have not logged in BUT as I have session start it starts a session, I dont want this to happen. I have around 10 pages that do the same action. Here is my code for the redirect: session_start(); if (!(isset($_SESSION['username']) && $_SESSION['username'] != '')) { header ("Location: login.html"); exit; } The code is the first thing that is called before the html. How can I do the same thing but so a session is not created?
  14. Hi again muddy. No, thats the thing the connection is standard, not session there. Its totally puzzling me as to how that is getting set, and its annoying me that I cannot find anything on google about the safari browser and cookies and the correct php way to write them for that browser. You can see in my code that the session is not declared until after the post.
  15. Safari browser will not accept my cookie it is ignoring it? have I done something wrong with how the cookie is presented for safari??? The cookie I try to set: setcookie('peg', 'YES', 'time()+190', '', 0); Also all browsers are starting my phpsession off when its not even declared until after the post request? Can someone please help and tell me why my session is getting set, as when I go to the page I can see that the php session is being set as I check the cookies it has the phpsession there? Totally puzzled? Here is my code again. <?php // Include the connections script to make a database connection. include("inc/connect.php"); $username = ""; $password = ""; $errorMessage = ""; function quote_smart($value, $handle) { if (get_magic_quotes_gpc()) { $value = stripslashes($value); } if (!is_numeric($value)) { $value = "'" . mysql_real_escape_string($value, $handle) . "'"; } return $value; } if ($_SERVER['REQUEST_METHOD'] == 'POST'){ $username = $_POST['username']; $password = $_POST['password']; $username = htmlspecialchars($username); $password = htmlspecialchars($password); $db_found = mysql_select_db($db, $connection); if ($db_found) { $username = quote_smart($username, $connection); $password = quote_smart($password, $connection); $SQL = "SELECT * FROM tablea WHERE username = $username AND password = '".md5($_POST['password'])."'"; $result = mysql_query($SQL); $num_rows = mysql_num_rows($result); if ($result) { if ($num_rows > 0) { session_start(); $_SESSION['username'] = "$_POST[username]"; header ("Location: index.html"); } /* New Block Log in attempts*/ else { session_start(); $_SESSION['attempts'] = "+1"; # setup SQL statement $SQL = " INSERT INTO tableb "; $SQL = $SQL . " (sid, username, password, attempts, ipaddress) VALUES "; $SQL = $SQL . " ('$_COOKIE[phpSESSID]', '$_POST[username]', '$_POST[password]', '$_SESSION[attempts]', '$_SERVER[REMOTE_ADDR]') "; #execute SQL statement $result = mysql_db_query( *****,"$SQL",$connection ); # check for error if (!$result) { echo("ERROR: " . mysql_error() . "\n$SQL\n"); } else { # setup SQL statement 2 $SQL = "SELECT * FROM tableb WHERE sid = '$_COOKIE[phpSESSID]' "; $result = mysql_query($SQL); if (mysql_num_rows($result) ==0) { $errorMessage = "Please check your username and/or password is correct"; } elseif (mysql_num_rows($result) >=3) { header ("Location: index2.html"); } else { $errorMessage = "Please check your username and/or password is correct"; } } } /* END */ } else { $errorMessage = "Please check your username and/or password is correct"; } mysql_close($connection); } else { $errorMessage = "Please check your username and/or password is correct"; } } ?>
  16. Right, am going to now use another way. I am going to set and test a cookie and if not there redirect to a page that says cookies need to be enabled. I have tried using this; $cookiesset = "1"; setcookie("cookiesset", $cookiesset, time()+90); if (!isset($_COOKIE['cookiesset'])) { header("Location: index3.html"); } But each time I go to the page it redirects? Have I set this up wrong?
  17. There must be a way around this. If user has cookies turned off and I do not enable the session to appended to the url, how do you get around this? I am using a database to insert the data, but if the cookies are off then it is just blank?
  18. Some one mentioned to me that I could use something along the lines of $sessId = “Session_File_Name”; ##### The physical text file that is created for the session will have this name session_save_path("./sessions"); ##### Create a folder on the server named sessions or any thing elese you want session_id($sessId); session_start(); But I am unsure how to do this.
  19. I am totally googled out, have searched but cannot really find answers as I dont want to use trans id so that my urls have the session fixed to the url. I am trying to figure out how to store and get the session id without cookies on, I have been looking at session_save_path(); and have this working. I am not sure how to get the session id, I have tried it with my cookies off and each time I try and log in on my form it creates a new session id, as when cookies is on it only creates the one? I am storing the session data in a mysql database for security to check attempts at logging in. I know sessions are not the 100% best way, but at this stage its something I need to use. So, my question is how do I store a session and get it to insert into my database if cookies are turned off. I have tried and tried but it just enters a blank field into the db. I tried the following. session_save_path(); session_id(); session_start(); I then looked in my folder containing the sessions and it creates a new one each time. If anyone needs more info please let me know, I am stuck on how to get this working.
  20. Could some one possibly assist with getting this code in the right place? I have tried a few things, but unsure as to why its not working. I thought the else statement could be replaced with my new code and it would execute that, but it fails on the else statement below.
  21. Just so you know you had these in the wrong order if(mail($myemail, $subject, $header, $message)) As you can see by my change. Also, dont forget to pre-propagate the drop down as well so they dont have to reselect that if they make a mistake.
  22. Hi I have just tested your code and got it working and added a couple of features for you, they need finishing off but made a start for you, so that if it returns the error you dont lose what you just typed. <?php $myemail = 'email address here'; $subject = 'DCanime General Contact'; $op = $_POST[op]; if($op == 'contact') { $name = stripslashes($_POST[name]); $email = stripslashes($_POST[email]); $category = stripslashes($_POST[category]); $text = stripslashes($_POST[text]); $referer = $_POST[referer]; $remote_host = $_SERVER[REMOTE_ADDR]; $server = $_SERVER[sERVER_NAME]; $browser = $_SERVER[HTTP_USER_AGENT]; if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$",$email)) { $status = "We're sorry, but you've entered an incorrect email address."; } if(!$name) { $status .= "Please enter your name."; } if(!$text) { $status .= "Please enter a message."; } if(!$status) { $header = "From: $emailrnReply-To: $emailrn"; $message = " Name: $name Referer: $referer Site: $server Remote Host: $remote_host Remote Browser: $browser Category: $category $text "; if(mail($myemail, $subject, $header, $message)) { $status = "Thank you for your Feedback!!"; } else { $status = "There was a problem sending your feedback, please try again later."; } } else { $status .= "Please press <u>back</u> on your browser to resubmit."; } } $referer = $_SERVER[HTTP_REFERER]; if(!preg_match('#^http\:\/\/[a-z0-9-]+.([a-z0-9-]+.)?[a-z]+#i', $referer)) { unset($referer); } ?> <html> <body> <h1>Contact Us</h1> <form method="post" action="<?php print $_SELF; ?>"> <p class="result"><?php print $status; ?></p> <input type="hidden" name="op" value="contact"> <input type="hidden" name="referer" value="<?php print $referer; ?>"> <p> <label>Name:</label> <input class="text" type="text" name="name" value="<?php print $name; ?>"> </p> <p> <label>Email address:</label> <input class="text" type="text" name="email" value="<?php print $email; ?>"> </p> <p> <label>Category:</label> <select name="category"> <option value="general">General Inquires</option> <option value="problem">Report a Problem</option> <option value="team">Team Application</option> <option value="other">Other</option> </select> </p> <p> <label>Message:</label> <textarea name="text"><?php print $text; ?></textarea> </p> <input type="submit" class="submit" value="Send!" /> </form> </body> </html>
  23. I have a login script that is great and I want to expand on this but not sure where to place my new code I have written, I have placed it where I thought but keep getting errors for else and others when attempting to add this. The code I am adding is not complete and will change, but I want to learn where I should be placing this within this code, it will stand me in good stead learning this as well. I thought by placing it after the if ($num_rows > 0) { section and it would perform the else request and execute my new code, but I get syntax and } kind of errors. Here is the original code <?php // Include the connections script to make a database connection. include("inc/connect.php"); $username = ""; $password = ""; $errorMessage = ""; function quote_smart($value, $handle) { if (get_magic_quotes_gpc()) { $value = stripslashes($value); } if (!is_numeric($value)) { $value = "'" . mysql_real_escape_string($value, $handle) . "'"; } return $value; } if ($_SERVER['REQUEST_METHOD'] == 'POST'){ $username = $_POST['username']; $password = $_POST['password']; $username = htmlspecialchars($username); $password = htmlspecialchars($password); $db_found = mysql_select_db($db, $connection); if ($db_found) { $username = quote_smart($username, $connection); $password = quote_smart($password, $connection); $SQL = "SELECT * FROM taablea WHERE username = $username AND password = '".md5($_POST['password'])."'"; $result = mysql_query($SQL); $num_rows = mysql_num_rows($result); if ($result) { if ($num_rows > 0) { session_start(); $_SESSION['username'] = "$_POST[username]"; header ("Location: index.html"); } else { $errorMessage = "Please check your username and/or password is correct"; } } else { $errorMessage = "Please check your username and/or password is correct"; } mysql_close($connection); } else { $errorMessage = "Please check your username and/or password is correct"; } } ?> This is my additional code that I am trying to get working so I can write it better. /* New Block*/ else { session_start(); $_SESSION['attempts'] = "+1"; # setup SQL statement $SQL = " INSERT INTO tablebtemp "; $SQL = $SQL . " (sid, username, password, attempts, ipaddress) VALUES "; $SQL = $SQL . " ('$sid', '$username', '$password', '$attempts', '$_SERVER[REMOTE_ADDR]') "; #execute SQL statement $result = mysql_db_query( *****,"$SQL",$connection ); # check for error if (!$result) { echo("ERROR: " . mysql_error() . "\n$SQL\n"); } else { # setup SQL statement 2 $SQL = "SELECT * FROM tablebtemp WHERE sid = $sid"; $result = mysql_query($SQL); if (mysql_num_rows($result) ==0) { $errorMessage = "Please check your username and/or password is correct"; } else (mysql_num_rows($result) ==3) { $errorMessage = "You are blocked, please contact us to get unblocked."; } /* END */
  24. HI Muddy, I have been trying different things and its not working as something goes wrong each time. Thanks for your input. I think it keeps pre populating with that agent field as when you submit it requests what is already in the database for the drop down with the sql query. I tried to do the following: <option value="Dealer" <?php if(($account_type == 'Dealer') || ($account_type == $_POST['Dealer'])) {echo 'selected="selected"';} ?>>Dealer</option> But again keeps defaulting back to agent. Its the error check that is causing it revert back so I wonder if there is a way or changing that. I did reduce the error check to this for the vat number if ($account_type=="Dealer") { if ( empty($vat_number)) { $error['vat_number_error'] = '<div class="formerror">In order for Pegbookers to act as a dealer on your behalf you must enter a correct VAT number.</div>'; } elseif (!validVatnumberChars ($vat_number)) { $error['vat_number_error'] = '<div class="formerror">Please enter your VAT number as 123456789 (9 digits only).</div>'; } elseif (!validVatnumberLength ($vat_number)) { $error['vat_number_error'] = '<div class="formerror">In order for Pegbookers to act as a dealer on your behalf you must enter a correct VAT number</div>'; } elseif (!is_numeric($vat_number)) { $error['vat_number_error'] = '<div class="formerror">Please enter numbers only.</div>'; } }
  25. Sorry to bother people, but I am really stuck on a solution here. Any help appreciated.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.