هناك خطأ في كل مرة أحاول التسجيل يظهر لي هذا الخطأ :
An error occurred in script /home/*****/public_html/test/register.php on line 66: mysql_num_rows(): supplied argument is not a valid MySQL result resource
You could not be registered due to a system error. We apologize for any inconvenience.
هذا محتوى الملف register.php
و محتوى ملف config.incكود:<?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'); ?>
و محتوى ملف mysql_connect.phpكود:<?php # Script 12.3 - config.inc // 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, $e_file, $e_line) { $message = 'An error occurred in script ' . $e_file . ' on line ' . $e_line . ": $e_message"; //error_log ($message, 1, 'phpmysql@dmcinsights.com'); // Production (send email) echo '<font color="red" size="+1">', $message, '</font>'; // Development (print the error in red) } set_error_handler('my_error_handler'); ?>
طبعا مع وضع اسم قاعدة البيانات و كلمة المرور و اسم المستخدم قاعدة البيانات بشكل صحيح فما هي المشكلة ؟كود:<?php # Script 12.4 - mysql_connect.php // This file contains the database access information. This file also establishes a connection to MySQL and selects the database. // Set the database access information as constants. DEFINE ('DB_USER', 'username'); DEFINE ('DB_PASSWORD', 'password'); DEFINE ('DB_HOST', 'localhost'); DEFINE ('DB_NAME', 'sitename'); if ($dbc = @mysql_connect (DB_HOST, DB_USER, DB_PASSWORD)) { // Make the connnection. if (!mysql_select_db (DB_NAME)) { // If it can't select the database. // Handle the error. my_error_handler (mysql_errno(), 'Could not select the database: ' . mysql_error()); // Print a message to the user, include the footer, and kill the script. echo '<p><font color="red">The site is currently experiencing technical difficulties. We apologize for any inconvenience.</font></p>'; include_once ('includes/footer.html'); exit(); } // End of mysql_select_db IF. } else { // If it couldn't connect to MySQL. // Print a message to the user, include the footer, and kill the script. my_error_handler (mysql_errno(), 'Could not connect to the database: ' . mysql_error()); echo '<p><font color="red">The site is currently experiencing technical difficulties. We apologize for any inconvenience.</font></p>'; include_once ('includes/footer.html'); exit(); } // End of $dbc IF. // Function for escaping and trimming form data. function escape_data ($data) { global $dbc; if (ini_get('magic_quotes_gpc')) { $data = stripslashes($data); } return mysql_real_escape_string (trim ($data), $dbc); } // End of escape_data() function. ?>


رد مع اقتباس
