Page 1 of 1

error: blank pages at random

Posted: Thu Mar 06, 2003 11:58 am
by RodrigoWFG
I've written a login script using sessions and a cookie (for users who wish to stay logged in), and it seems to work fine. Only one annoying problem occurs, sometimes when I click an url (eg when you enter a wrong pw and click the link back to the login page) I get a blank page. This happens at random, sometimes everything is normal, sometimes I get the blank page.

Code: Select all

<?php
// file: login.php
// copyright: Klaas Van Waesberghe webmaster@surfmusic.be
// usuage: php website engine for 0 A.D. and WFG login script
// date: 25-02-2003
session_start();

// login check and login form

if ($_COOKIE&#1111;'usr_staylog'] == "yes") &#123;
$pg_desc="0ad private intranet login";
$pg_keywords="";
$pg_title="0 A.D. Private Intranet :: Login page";
$pg_name="Already logged in";
$pg_content="You are already logged in";
&#125;

else &#123;
 if (!isset($_SESSION&#1111;'logged']) || $_SESSION&#1111;'logged'] != "yes") &#123;
$pg_desc="0ad private intranet login";
$pg_keywords="";
$pg_title="0 A.D. Private Intranet :: Login page";
$pg_name="Please log in";
$pg_content="<form name="login" method="post" action="sessioncheck.php">
             <div style="pagecontent">username</div>
             <input type="text" name="usr_name" size="18" /><br />
             <div style="pagecontent">password</div>
             <input type="password" name="usr_pw" size="20" /><br />
             <input type="checkbox" name="usr_staylog" value="yes" />&nbsp;remember info (use when you're not using a public computer)<br />
             <a href="recoverpw.php">forgot password?</a><br /><br />
             <input type="submit" value="login" style="button" />
             </form>";
&#125;

 else &#123;
      $pg_desc="0ad private intranet login";
      $pg_keywords="";
      $pg_title="0 A.D. Private Intranet :: Login page";
      $pg_name="Already logged in";
      $pg_content="You are already logged in";
 &#125;
&#125;

// load template

include("template.php");

?>

Code: Select all

<?php
// file: sessioncheck.php
// copyright: Klaas Van Waesberghe webmaster@surfmusic.be
// usuage: php website engine for 0 A.D. and WFG login script processer
// date: 05-03-2003
session_start();
// database connection

function db_connect()
&#123;
$link = mysql_connect("censored", "censored", "censored");
$db = mysql_select_db("censored", $link);

if (!$link || !$db)
return FALSE;
else
return TRUE;
&#125;

if (isset($_POST&#1111;'usr_name']) AND isset($_POST&#1111;'usr_pw'])) &#123;
 if(db_connect()) &#123;
  $SQL = "SELECT * FROM 0ad_members WHERE usr_name='" . $_POST&#1111;'usr_name'] . "' AND usr_pw='" . $_POST&#1111;'usr_pw'] . "'";
  $login_result = mysql_query($SQL);
  $rows = mysql_num_rows($login_result);

  if ($rows == 1) &#123;
   $usr_array = mysql_fetch_array($login_result);
   session_register('usr_pw');
   session_register('usr_name');
   session_register('usr_id');
   session_register('logged');
   $_SESSION&#1111;'usr_id'] = $usr_array&#1111;'usr_id'];
   $_SESSION&#1111;'usr_name'] = $usr_array&#1111;'usr_name'];
   $_SESSION&#1111;'usr_pw'] = $usr_array&#1111;'usr_pw'];
   $_SESSION&#1111;'logged'] = "yes";
   if ($_POST&#1111;'usr_staylog'] == "yes") &#123;
    setcookie('usr_staylog', 'yes', time()+31536000, '', 'www.wildfiregames.com');
    header( "Location: http://www.wildfiregames.com/0ad/phpsite/private/index.php" );
   &#125;
   else &#123;
   header( "Location: http://www.wildfiregames.com/0ad/phpsite/private/index.php" );
   &#125;
  &#125;
  else &#123;
   $pg_desc="0ad private intranet login";
   $pg_keywords="";
   $pg_title="0 A.D. Private Intranet :: Login page";
   $pg_name="Login error";
   $pg_content="You provided a wrong username or password, try <a href="login.php">again</a> or <a href="recoverpw.php">recover</a> your password and username.";
   session_unregister('usr_pw');
   session_unregister('usr_name');
   session_unregister('usr_id');
   session_unregister('logged');
  &#125;
 &#125;
 else &#123;
  $pg_desc="database unavailale";
  $pg_title="Database unavailable";
  $pg_name="Database unavailable";
  $pg_content="Couldn't connect to database. Please try again later or contact <a href="mailto:webmaster@surfmusic.be">Klaas</a>.";
 &#125;
&#125;

else &#123;
  header( "Location: http://www.censored.com" );
&#125;

// load template

include("template.php");

?>
Thanks for your help :)

Posted: Sat Mar 08, 2003 3:51 pm
by RodrigoWFG
Nobody?

Posted: Sat Mar 08, 2003 5:09 pm
by hob_goblin
After the blank page, do things go back to normal?

Might be the session timing out.

Might be your server.

Posted: Sat Mar 08, 2003 5:30 pm
by RodrigoWFG
Ok, thanks for your answer