Getting this error alot lately… not sure why… any idea’s…
Fatal error: Call to undefined function: escape_data() in /var/www/html/new/12/html/login.php on line 19
Getting this error alot lately… not sure why… any idea’s…
Fatal error: Call to undefined function: escape_data() in /var/www/html/new/12/html/login.php on line 19
Tell us more about the origin of the script you are running.
Well now that i look around it looks like alot of the scripts im working with here dont work have all the functions with this book im using. Im running a redhat 7.3 with apache 2.0.40 and php 4.2.2.
The called function is a user defined one. The error is either a typo somewhere or the file containing the function is not included. The server configuration has nothing to do with the problem.
Well the reason i think its all server related is cause i have some other scripts that arent working
[php]
// Echo the script name.
echo “You are running the file $PHP_SELF.
n”;
// Echo the user’s information.
echo ‘You are viewing this page using:
’, $HTTP_USER_AGENT, '
from the IP address ', $REMOTE_ADDR;
?>
Is also not working… Its not showing any of the data that it should be showing. Unless there is a setting i have turned off?? Any idea’s?[/code]
Oh great, an age old problem… I thought we were finally done with that one…
Read the PHP 4.2 release note, the problem is explained in there.
ok cool i got that taken care of but still getting that error when trying to get these series of scripts to run. Basicly im trying to make a registration page then login page. After the user hits register i get that error. heres the registration page code
[php]
Please enter your first name!
'; } // Check for a last name. if (eregi ("^[[:alpha:].' -]{2,30}$", stripslashes(trim($_POST['last_name'])))) { $ln = escape_data($_POST['last_name']); } else { $ln = FALSE; echo 'Please enter your last name!
'; } // 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 'Please enter a valid email address!
'; } // Check for a username. if (eregi ("^[[:alnum:]_]{4,20}$", stripslashes(trim($_POST['username'])))) { $u = escape_data($_POST['username']); } else { $u = FALSE; echo 'Please enter a valid username!
'; } // 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 'Your password did not match the confirmed password!
'; } } else { $p = FALSE; echo 'Please enter a valid password!
'; } if ($fn && $ln && $e && $u && $p) { // If everything's OK. // Make sure the username is available. $query = "SELECT user_id FROM users WHERE username='$u'"; $result = @mysql_query ($query); if (mysql_num_rows($result) == 0) { // Available. // Add the user. $query = "INSERT INTO users (username, first_name, last_name, email, password, registration_date) VALUES ('$u', '$fn', '$ln', '$e', PASSWORD('$p'), NOW() )"; $result = @mysql_query ($query); // Run the query. if ($result) { // If it ran OK. // Send an email, if desired. echo 'You could not be registered due to a system error. We apologize for any inconvenience.
'; } } else { // The username is not available. echo 'That username is already taken.
'; } mysql_close(); // Close the database connection. } else { // If one of the data tests failed. echo 'Please try again.
'; } } // End of the main Submit conditional. ?><h1>Register</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset>
<p><b>First Name:</b> <input type="text" name="first_name" size="15" maxlength="15" value="<?php if (isset($_POST['first_name'])) echo $_POST['first_name']; ?>" /></p>
<p><b>Last Name:</b> <input type="text" name="last_name" size="30" maxlength="30" value="<?php if (isset($_POST['last_name'])) echo $_POST['last_name']; ?>" /></p>
<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>User Name:</b> <input type="text" name="username" size="10" maxlength="20" value="<?php if (isset($_POST['username'])) echo $_POST['username']; ?>" /> <small>Use only letters, numbers, and the underscore. Must be between 4 and 20 characters long.</small></p>
<p><b>Password:</b> <input type="password" name="password1" size="20" maxlength="20" /> <small>Use only letters and numbers. Must be between 4 and 20 characters long.</small></p>
<p><b>Confirm Password:</b> <input type="password" name="password2" size="20" maxlength="20" /></p>
</fieldset>
<div align="center"><input type="submit" name="submit" value="Register" /></div>
</form><!-- End of Form -->
<?php // Include the HTML footer.
include ('includes/footer.html');
?><?php # Script 12.6 - register.php
// This is the registration page for the site.
// Include the configuration file for error management and such.
require_once (‘includes/config.inc’);
// Set the page title and include the HTML header.
$page_title = ‘Register’;
include (‘includes/header.html’);
if (isset($_POST[‘submit’])) { // Handle the form.
require_once ('../mysql_connect.php'); // Connect to the database.
// Check for a first name.
if (eregi ("^[[:alpha:].' -]{2,15}$", stripslashes(trim($_POST['first_name'])))) {
$fn = escape_data($_POST['first_name']);
} else {
$fn = FALSE;
echo '<p><font color="red" size="+1">Please enter your first name!</font></p>';
}
// Check for a last name.
if (eregi ("^[[:alpha:].' -]{2,30}$", stripslashes(trim($_POST['last_name'])))) {
$ln = escape_data($_POST['last_name']);
} else {
$ln = FALSE;
echo '<p><font color="red" size="+1">Please enter your last name!</font></p>';
}
// 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 ($fn && $ln && $e && $u && $p) { // If everything's OK.
// Make sure the username is available.
$query = "SELECT user_id FROM users WHERE username='$u'";
$result = @mysql_query ($query);
if (mysql_num_rows($result) == 0) { // Available.
// Add the user.
$query = "INSERT INTO users (username, first_name, last_name, email, password, registration_date) VALUES ('$u', '$fn', '$ln', '$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 ('includes/footer.html'); // 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>First Name:</b> <input type="text" name="first_name" size="15" maxlength="15" value="<?php if (isset($_POST['first_name'])) echo $_POST['first_name']; ?>" /></p>
<p><b>Last Name:</b> <input type="text" name="last_name" size="30" maxlength="30" value="<?php if (isset($_POST['last_name'])) echo $_POST['last_name']; ?>" /></p>
<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>User Name:</b> <input type="text" name="username" size="10" maxlength="20" value="<?php if (isset($_POST['username'])) echo $_POST['username']; ?>" /> <small>Use only letters, numbers, and the underscore. Must be between 4 and 20 characters long.</small></p>
<p><b>Password:</b> <input type="password" name="password1" size="20" maxlength="20" /> <small>Use only letters and numbers. Must be between 4 and 20 characters long.</small></p>
<p><b>Confirm Password:</b> <input type="password" name="password2" size="20" maxlength="20" /></p>
</fieldset>
<div align="center"><input type="submit" name="submit" value="Register" /></div>
</form><!-- End of Form -->
<?php // Include the HTML footer.
include ('includes/footer.html');
?>
[/php]
and now the login script
[php]
<?php # Script 12.7 - login.php // This is the login page for the site. // Include the configuration file for error management and such. require_once ('includes/config.inc'); // Set the page title and include the HTML header. $page_title = 'Login'; include ('includes/header.html'); if (isset($_POST['submit'])) { // Check if the form has been submitted. require_once ('../mysql_connect.php'); // Connect to the database. if (empty($_POST['username'])) { // Validate the username. $u = FALSE; echo 'You forgot to enter your username!
'; } else { $u = escape_data($_POST['username']); } if (empty($_POST['password'])) { // Validate the password. $p = FALSE; echo 'You forgot to enter your password!
'; } else { $p = escape_data($_POST['password']); } if ($u && $p) { // If everything's OK. // Query the database. $query = "SELECT user_id, first_name FROM users WHERE username='$u' AND password=PASSWORD('$p')"; $result = @mysql_query ($query); $row = mysql_fetch_array ($result, MYSQL_NUM); if ($row) { // A match was made. // Start the session, register the values & redirect. $_SESSION['first_name'] = $row[1]; $_SESSION['user_id'] = $row[0]; ob_end_clean(); // Delete the buffer. header ("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/index.php"); exit(); } else { // No match was made. echo 'The username and password entered do not match those on file.
'; } mysql_close(); // Close the database connection. } else { // If everything wasn't OK. echo 'Please try again.
'; } } // End of SUBMIT conditional. ?>Your browser must allow cookies in order to login.
User Name:
Password:
<?php // Include the HTML footer. include ('includes/footer.html'); ?>[/php]
Is this cause of the global variables are still in the old code?