Page 1 of 1

blank white page

Posted: Fri Jan 15, 2010 1:23 pm
by dyung2
I'm having trouble resolving my register.php form. I'm running it on localhost and I have tested the connection to mySQL server. The connection works but when I run the register.php in my browser I keep on coming up with a blank white screen. I even enabled the error to show up in my config.inc file, but I still don't see anything. Here are my codes:

Code: Select all

 
<?php
//This is the registration page for the site.
 
//Include the configuration file for error management and such.
require_once('inc/config.inc');
 
$page_title = 'Register';
include('inc/header.inc');
include('inc/menu.inc');
 
if(isset($_POST['submit'])) { //Handle the form.
 
    include_once ('scripts/mysql_connect.php'); //Connect to the database.
        
    //Check for an email address.
    if(eregi("^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$", stripslashes(trim($_POST['email'])))) {
        $e = escape_data($_POST['email']);
    } else {
        $e = FALSE;
        echo '<p><font color="red" size="+1">Please enter a valid email address!</font></p>';
    }
    
    //Check for a username.
    if(eregi{"^[[:alnum:]_]{4,20}$", stripslashes(trim($_POST['username'])))) {
        $u = escape_data($_POST['username']);
    } else {
        $u = FALSE;
        echo '<p><font color="red" size="+1">Please enter a valid username!</font></p>';
    }
    
    //Check for a password and match against the confirmed password.
    if(eregi("^[[:alnum:]]{4,20}$", stripslashes(trim($_POST['password1'])))) {
        if($_POST['password1'] == $_POST['password2']) {
        $p = escape_data($_POST['password1']);
    } else {
        $p = FALSE;
        echo '<p><font color="red" size="+1">Your password did not match the confirmed password!</font></p>';
    }
} else {
    $p = FALSE;
    echo '<p><font color="red" size="+1">Please enter a valid password!</font></p>';
}
 
if ($e && $u && $p) { //If everything's OK.
 
    //Make sure the username is available.
    $query = "SELECT id FROM members WHERE username='$u'";
    $result = @mysql_query($query);
    
    if(mysql_num_rows($result) == 0) { //Available.
    
        //Add the user.
        $query = "INSERT INTO members(username, email, password, created_date) VALUES ('$u', '$e', PASSWORD('$p'), NOW())";
        $result = @mysql_query($query); //Run the query.
        
        if($result) { //If it ran OK.
        
            //Send an email, if desired.
            echo '<h3>Thank you for registering!</h3>';
            include('inc/footer.inc'); //Include the HTML footer.
            exit();
            } else { //If it did not run OK.
                //Send a message to the error log, if desired.
                echo '<p><font color="red" size="+1">You could not be registered due to a system error. We apologize for any inconvenience.</font></p>';
            }
        } else { //The username is not available.
            echo '<p><font color="red" size="+1">That username is already taken.</font></p>';
        }
        
        mysql_close(); //Close the database connection.
        
    } else { //If one of the data tests failed.
        echo '<p><font color="red size="+1">Please try again.</font></p>';
    }
} //End of the main Submit conditional.
?>
 
<h1>Register</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset>
<p><b>Email Address:</b> <input type="text" name="email" size="40" maxlength="40" value="<?php if(isset($_POST['email'])) echo $_POST['email']; ?>"/></p>
<p><b>Username:</b> <input type="text" name="username" size="30" maxlength="40" value="<?php if(isset($_POST['username'])) echo $_POST['username']; ?>"/></p>
<p><b>Password:</b> <input type="password" name="password1" size="40" maxlength="40" /></p>
<p><b>Confirm Password:</b> <input type="password" name="password2" size="40" maxlength="40" /></p>
</fieldset>
 
<div align="center"><input type="submit" name="submit" value="Register" /></div>
</form>
 
<?php include('inc/footer.inc'); ?>
 

Code: Select all

 
<?php
//This script sets the error reporting and logging for the site.
 
//error_reporting(0); //Production level 
error_reporting(E_ALL); //Development level
 
//Use my own error-handling function. 
function my_error_handler ($e_number, $e_message) {
    $message = 'An error occured in script ' . __FILE__ .  ' on line ' . __LINE__ . ": $e_message"; //error_log
    ($message, 1, 'dyung2@gmail.com'); //Production(send email)
    echo '<font color="red" size="+1">', $message, '</font>'; //Development (print the error in red)
}
set_error_handler('my_error_handler');
?>
 

Re: blank white page

Posted: Fri Jan 15, 2010 1:33 pm
by klevis miho
Maybe because isset($_POST['submit']) is false

Re: blank white page

Posted: Fri Jan 15, 2010 1:52 pm
by dyung2
even if it was false, wouldn't the html show up?

Re: blank white page

Posted: Fri Jan 15, 2010 3:34 pm
by Jonah Bron
That tells me that there is an fatal error occuring, and that you have errors off. Turn them on in php.ini, or put this in the beginning of your code:

Code: Select all

ini_set("display_errors","2");
error_reporting(E_ALL);

Re: blank white page

Posted: Fri Jan 15, 2010 4:46 pm
by dyung2
i figured out the problem! i had to turn on display_error in my php.ini file and found out which line was messed up.