IEatYourCookies Posted August 19, 2014 Share Posted August 19, 2014 (edited) Hello there! I've tried everything to get my register working. But when the user signs up it signs them up fine, but then I get a list of errors. Deprecated: Function ereg() is deprecated in /home/*****/public_html/register.php on line 23 Deprecated: Function ereg() is deprecated in /home/*****/public_html/register.php on line 31 Deprecated: Function ereg() is deprecated in /home/*****/public_html/register.php on line 35 Deprecated: Function ereg() is deprecated in /home/*****/public_html/register.php on line 41 You may tell me to switch it for Preg_Match, Yes I understand, But I cant seem to do it. Could anyone possibly edit it for me and re-post? Here's the outdated version I have. <?php include "config.php"; global $_CONFIG; define("MONO_ON", 1); require "class/class_db_{$_CONFIG['driver']}.php"; $db=new database; $db->configure($_CONFIG['hostname'], $_CONFIG['username'], $_CONFIG['password'], $_CONFIG['database'], $_CONFIG['persistent']); $db->connect(); $c=$db->connection_id; $set=array(); $settq=$db->query("SELECT * FROM settings"); while($r=$db->fetch_row($settq)) { $set[$r['conf_name']]=$r['conf_value']; } //thx to http://www.phpit.net/code/valid-email/ for valid_email function valid_email($email) { // First, we check that there's one @ symbol, and that the lengths are right if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) { // Email invalid because wrong number of characters in one section, or wrong number of @ symbols. return false; } // Split it into sections to make life easier $email_array = explode("@", $email); $local_array = explode(".", $email_array[0]); for ($i = 0; $i < sizeof($local_array); $i++) { if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) { return false; } } if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { // Check if domain is IP. If not, it should be valid domain name $domain_array = explode(".", $email_array[1]); if (sizeof($domain_array) < 2) { return false; // Not enough parts to domain } for ($i = 0; $i < sizeof($domain_array); $i++) { if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) { return false; } } } return true; } session_start(); print <<<EOF <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>{$set['game_name']}</title> <script type="text/javascript"> var xmlHttp // xmlHttp variable function GetXmlHttpObject(){ // This function we will use to call our xmlhttpobject. var objXMLHttp=null // Sets objXMLHttp to null as default. if (window.XMLHttpRequest){ // If we are using Netscape or any other browser than IE lets use xmlhttp. objXMLHttp=new XMLHttpRequest() // Creates a xmlhttp request. }else if (window.ActiveXObject){ // ElseIf we are using IE lets use Active X. objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP") // Creates a new Active X Object. } // End ElseIf. return objXMLHttp // Returns the xhttp object. } // Close Function function CheckPasswords(password){ // This is our fucntion that will check to see how strong the users password is. xmlHttp=GetXmlHttpObject() // Creates a new Xmlhttp object. if (xmlHttp==null){ // If it cannot create a new Xmlhttp object. alert ("Browser does not support HTTP Request") // Alert Them! return // Returns. } // End If. var url="check.php?password="+escape(password) // Url that we will use to check the password. xmlHttp.open("GET",url,true) // Opens the URL using GET xmlHttp.onreadystatechange = function () { // This is the most important piece of the puzzle, if onreadystatechange = equal to 4 than that means the request is done. if (xmlHttp.readyState == 4) { // If the onreadystatechange is equal to 4 lets show the response text. document.getElementById("passwordresult").innerHTML = xmlHttp.responseText; // Updates the div with the response text from check.php } // End If. }; // Close Function xmlHttp.send(null); // Sends NULL insted of sending data. } // Close Function. function CheckUsername(password){ // This is our fucntion that will check to see how strong the users password is. xmlHttp=GetXmlHttpObject() // Creates a new Xmlhttp object. if (xmlHttp==null){ // If it cannot create a new Xmlhttp object. alert ("Browser does not support HTTP Request") // Alert Them! return // Returns. } // End If. var url="checkun.php?password="+escape(password) // Url that we will use to check the password. xmlHttp.open("GET",url,true) // Opens the URL using GET xmlHttp.onreadystatechange = function () { // This is the most important piece of the puzzle, if onreadystatechange = equal to 4 than that means the request is done. if (xmlHttp.readyState == 4) { // If the onreadystatechange is equal to 4 lets show the response text. document.getElementById("usernameresult").innerHTML = xmlHttp.responseText; // Updates the div with the response text from check.php } // End If. }; // Close Function xmlHttp.send(null); // Sends NULL insted of sending data. } // Close Function. function CheckEmail(password){ // This is our fucntion that will check to see how strong the users password is. xmlHttp=GetXmlHttpObject() // Creates a new Xmlhttp object. if (xmlHttp==null){ // If it cannot create a new Xmlhttp object. alert ("Browser does not support HTTP Request") // Alert Them! return // Returns. } // End If. var url="checkem.php?password="+escape(password) // Url that we will use to check the password. xmlHttp.open("GET",url,true) // Opens the URL using GET xmlHttp.onreadystatechange = function () { // This is the most important piece of the puzzle, if onreadystatechange = equal to 4 than that means the request is done. if (xmlHttp.readyState == 4) { // If the onreadystatechange is equal to 4 lets show the response text. document.getElementById("emailresult").innerHTML = xmlHttp.responseText; // Updates the div with the response text from check.php } // End If. }; // Close Function xmlHttp.send(null); // Sends NULL insted of sending data. } // Close Function. function PasswordMatch() { pwt1=document.getElementById('pw1').value; pwt2=document.getElementById('pw2').value; if(pwt1 == pwt2) { document.getElementById('cpasswordresult').innerHTML="<font color='green'>OK</font>"; } else { document.getElementById('cpasswordresult').innerHTML="<font color='red'>Not Matching</font>"; } } </script> <style type="text/css"> <!-- body { background-color: #DEDEDE; margin-top: 0px; margin-bottom: 0px; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; } .lgrad { background-image:url(lgrad.jpg); background-repeat:repeat-y; width:19px; } .linegrad { background-image:url(linegrad.PNG); background-repeat:repeat-y; background-align: center; width:2px; } .rgrad { background-image:url(rgrad.jpg); background-repeat:repeat-y; width:19px; } .dgrad { background-image:url(dgrad.jpg); background-repeat:repeat-x; height:38px; } .dgradl { background-image:url(dgradl.jpg); background-repeat:no-repeat; height:38px; width:38px; } .dgradr { background-image:url(dgradr.jpg); background-repeat:no-repeat; height:38px; width:38px; } .center { width:932px; background-color:#FFFFFF; vertical-align:top; text-align:center; } .table { background-color:#000000; } .table3 { background-color:#000000; } .table td { background-color:#DEDEDE; height:22px; } .table3 td { background-color:#CCCCCC; } td .alt { background-color:#EEEEEE; height:22px; } td .h { background-image:url(tablehgrad.png); background-repeat:repeat-x; font-weight: bold; } .table th { background-image:url(tablehgrad.png); background-repeat:repeat-x; font-weight: bold; } --> </style></head> <body> <center> <table width="970" border="0" cellpadding="0" cellspacing="0" class="table2"> <tr> <td class="lgrad"></td> <td class="center"><img src="title.jpg" alt="Mccodes Version 2" /><br /> <!-- Begin Main Content --> EOF; $IP = ($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']; if(file_exists('ipbans/'.$IP)) { die("<b><font color=red size=+1>Your IP has been banned, there is no way around this.</font></b></body></html>"); } if($_POST['username']) { if($set['regcap_on']) { if(!$_SESSION['captcha'] or $_SESSION['captcha'] != $_POST['captcha']) { unset($_SESSION['captcha']); die("Captcha Test Failed<br /> ><a href='register.php'>Back</a>"); } unset($_SESSION['captcha']); } if(!valid_email($_POST['email'])) { die("Sorry, the email is invalid.<br /> ><a href='register.php'>Back</a>"); } if(strlen($_POST['username']) < 4) { die("Sorry, the username is too short.<br /> ><a href='register.php'>Back</a>"); } $sm=100; if($_POST['promo'] == "Your Promo Code Here") { $sm+=100; } $username=$_POST['username']; $username=str_replace(array("<", ">"), array("<", ">"), $username); $q=$db->query("SELECT * FROM users WHERE username='{$username}' OR login_name='{$username}'"); $q2=$db->query("SELECT * FROM users WHERE email='{$_POST['email']}'"); if($db->num_rows($q)) { print "Username already in use. Choose another.<br /> ><a href='register.php'>Back</a>"; } else if($db->num_rows($q2)) { print "E-Mail already in use. Choose another.<br /> ><a href='register.php'>Back</a>"; } else if($_POST['password'] != $_POST['cpassword']) { print "The passwords did not match, go back and try again.<br /> ><a href='register.php'>Back</a>"; } else { $_POST['ref'] = abs((int) $_POST['ref']); $IP = ($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']; $q=$db->query("SELECT * FROM users WHERE lastip='$IP' AND userid={$_POST['ref']}"); if($db->num_rows($q)) { die("No creating referral multies. Bad dog.<br /> ><a href='register.php'>Back</a>"); } if($_POST['ref']) { $q=$db->query("SELECT * FROM users WHERE userid={$_POST['ref']}"); $r=$db->fetch_row($q); } $db->query("INSERT INTO users (username, login_name, userpass, level, money, crystals, donatordays, user_level, energy, maxenergy, will, maxwill, brave, maxbrave, hp, maxhp, location, gender, signedup, email, bankmoney, lastip, lastip_signup) VALUES( '{$username}', '{$username}', md5('{$_POST['password']}'), 1, $sm, 0, 0, 1, 12, 12, 100, 100, 5, 5, 100, 100, 1, '{$_POST['gender']}', unix_timestamp(), '{$_POST['email']}', -1, '$IP', '$IP')"); $i=$db->insert_id(); $db->query("INSERT INTO userstats VALUES($i, 10, 10, 10, 10, 10)"); if($_POST['ref']) { require "global_func.php"; $db->query("UPDATE users SET crystals=crystals+2 WHERE userid={$_POST['ref']}"); event_add($_POST['ref'],"For refering $username to the game, you have earnt 2 valuable crystals!",$c); $db->query("INSERT INTO referals VALUES('', {$_POST['ref']}, $i, unix_timestamp(),'{$r['lastip']}','$IP')"); } print "You have signed up, enjoy the game.<br> > <a href='login.php'>Login</a>"; } } else { if($set['regcap_on']) { $chars="123456789abcdefghijklmnpqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!?\\/%^"; $len=strlen($chars); $_SESSION['captcha']=""; for($i=0;$i<6;$i++) $_SESSION['captcha'].=$chars[rand(0, $len - 1)]; } print "<h3>{$set['game_name']} Registration</h3>"; print "<form action=register.php method=post> <table width='75%' class='table' cellspacing='1'> <tr> <td width='30%'>Username</td> <td width='40%'><input type=text name=username onkeyup='CheckUsername(this.value);'></td> <td width='30%'><div id='usernameresult'></div></td> </tr> <tr> <td>Password</td> <td><input type=password id='pw1' name=password onkeyup='CheckPasswords(this.value);PasswordMatch();'></td> <td><div id='passwordresult'></div></td> </tr> <tr> <td>Confirm Password</td><td><input type=password name=cpassword id='pw2' onkeyup='PasswordMatch();'></td> <td><div id='cpasswordresult'></div></td> </tr> <tr> <td>Email</td><td><input type=text name=email onkeyup='CheckEmail(this.value);'></td> <td><div id='emailresult'></div></td> </tr> <tr> <td>Gender</td> <td colspan='2'><select name='gender' type='dropdown'> <option value='Male'>Male <option value='Female'>Female</select></td> </tr> <tr> <td>Promo Code</td><td colspan=2><input type=text name=promo></td> </tr> <input type=hidden name=ref value='"; if($_GET['REF']) { print $_GET['REF']; } print "' />"; if($set['regcap_on']) { print "<tr> <td colspan=3><img src='captcha_verify.php?bgcolor=C3C3C3' /><br /> <input type='text' name='captcha' /></td> </tr>"; } print " <tr> <td colspan=3 align=center><input type=submit value=Submit></td> </tr> </table> </form><br /> > <a href='login.php'>Go Back</a>"; } print <<<OUT </td> <td class="rgrad"></td> </tr> <tr> <td colspan="3"> <table cellpadding="0" cellspacing="0" border="0" width="100%"> <tr> <td class="dgradl"> </td> <td class="dgrad"> </td> <td class="dgradr"> </td> </tr> </table> </td> </tr> </table> </center> </body> </html> OUT; ?> If you can, It would be much appreciated! Best Regards -Alex. :) Edited August 19, 2014 by IEatYourCookies Quote Link to comment Share on other sites More sharing options...
sniko Posted August 19, 2014 Share Posted August 19, 2014 (edited) ereg has been deprecated, and dropped in later versions of PHP. You're going to want to look at preg_match http://uk1.php.net/preg_match. Warning This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged. Edited August 19, 2014 by sniko Quote Link to comment Share on other sites More sharing options...
IEatYourCookies Posted August 19, 2014 Author Share Posted August 19, 2014 Not being funny... You may tell me to switch it for Preg_Match, Yes I understand, But I cant seem to do it. Could anyone possibly edit it for me and re-post? Here's the outdated version I have. Quote Link to comment Share on other sites More sharing options...
sniko Posted August 19, 2014 Share Posted August 19, 2014 I'll give you the fishing rod, but not the fish. if (preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $email) == FALSE) { See regex tester Quote Link to comment Share on other sites More sharing options...
IEatYourCookies Posted August 19, 2014 Author Share Posted August 19, 2014 I've attempted yet again, so many different combinations, I've even tried erasing the domain_array, no luck. May I have the fishy now please? :) Best Regards. -Alex. Quote Link to comment Share on other sites More sharing options...
sniko Posted August 19, 2014 Share Posted August 19, 2014 (edited) I've attempted yet again, so many different combinations, I've even tried erasing the domain_array, no luck. May I have the fishy now please? :) Best Regards. -Alex. Replace your valid_email() function with; function valid_email($email) { if(preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $email) == FALSE) { // Email invalid return false; } return true; } Live preview Edited August 19, 2014 by sniko Quote Link to comment Share on other sites More sharing options...
IEatYourCookies Posted August 19, 2014 Author Share Posted August 19, 2014 Warning: preg_match() expects parameter 2 to be string, array given in /home/*****/public_html/register.php on line 33 Call Stack There's genuinely no hope for me. Quote Link to comment Share on other sites More sharing options...
sniko Posted August 19, 2014 Share Posted August 19, 2014 Warning: preg_match() expects parameter 2 to be string, array given in /home/*****/public_html/register.php on line 33 Call Stack There's genuinely no hope for me. Paste your implementation. - Just the function, the function call, and how the parameters are built. Quote Link to comment Share on other sites More sharing options...
IEatYourCookies Posted August 19, 2014 Author Share Posted August 19, 2014 Omg :3 - Those are complicated words. (i have a Limited brain capacity) Aha, could you not just edit my current one & repost? :o Best Regards Quote Link to comment Share on other sites More sharing options...
sniko Posted August 19, 2014 Share Posted August 19, 2014 Aha, could you not just edit my current one & repost? :o Then your "brain capacity" won't enhance - you won't learn. Quote Link to comment Share on other sites More sharing options...
IEatYourCookies Posted August 19, 2014 Author Share Posted August 19, 2014 Oh God, you words of wisdom, give me severe pains. Lmao. Idk what to do lmao. Ill pay you £2 ;) Quote Link to comment Share on other sites More sharing options...
sniko Posted August 19, 2014 Share Posted August 19, 2014 Oh God, you words of wisdom, give me severe pains. Lmao. Idk what to do lmao. Ill pay you £2 ;) £2 is more of an insult than not being paid at all. I think I've given you enough information to correctly implement the code into your system. Quote Link to comment Share on other sites More sharing options...
IEatYourCookies Posted August 19, 2014 Author Share Posted August 19, 2014 Well it's something lmao. Idk what to do, I'll go jump off a bridge. Toodles :( Quote Link to comment Share on other sites More sharing options...
Script47 Posted August 19, 2014 Share Posted August 19, 2014 http://www.w3schools.com/php/filter_validate_email.asp You could have used that. Makes life easier. Quote Link to comment Share on other sites More sharing options...
IEatYourCookies Posted August 19, 2014 Author Share Posted August 19, 2014 Where's my noose? :mad: Quote Link to comment Share on other sites More sharing options...
sniko Posted August 19, 2014 Share Posted August 19, 2014 (edited) http://www.w3schools.com/php/filter_validate_email.asp You could have used that. Makes life easier. To note, you'd need PHP 5 or above installed for this to work. Pretty sure most hosting companies are at PHP 5, but I thought I might as well post it function valid_email($email) { if( filter_var($email, FILTER_VALIDATE_EMAIL) == FALSE ) { // Email invalid return false; } return true; } Live Preview Edited August 19, 2014 by sniko Quote Link to comment Share on other sites More sharing options...
IEatYourCookies Posted August 19, 2014 Author Share Posted August 19, 2014 Still Can't manage to sort it. Anyone £5 to do it? :P Best Regards -Al Quote Link to comment Share on other sites More sharing options...
Script47 Posted August 19, 2014 Share Posted August 19, 2014 To note, you'd need PHP 5 or above installed for this to work. Pretty sure most hosting companies are at PHP 5, but I thought I might as well post it I don't see why people don't use that. Sure RegEx is very powerful and can be used for so many reasons. But in this case I think to make life that little bit easier why don't people use filter_var();. One of the reasons I think is because they are inexperienced maybe never heard of the function. That's speaking from personal experiences. I remember a while back it was [MENTION=68711]KyleMassacre[/MENTION] that told me about the filter_var(); function. Still Can't manage to sort it. Anyone £5 to do it? :P Best Regards -Al If you can't do it after the link I gave you then you should stop. There is a working example shown with the code. Maybe you should look at it. Quote Link to comment Share on other sites More sharing options...
KyleMassacre Posted August 19, 2014 Share Posted August 19, 2014 (edited) I'll change like 2-3 lines of code for £5 and then another £5 to do your Ajax handler pages. Or better yet I have a mod that fixes this issue that I will sell to you for $15. It comes with user activation, full registration settings, and a default email template. Since its in it's early stages I'll even install it for you Edited August 19, 2014 by KyleMassacre Quote Link to comment Share on other sites More sharing options...
IEatYourCookies Posted August 19, 2014 Author Share Posted August 19, 2014 Aslong as it works. =] Yeah sure, Ill pay =] - - - Updated - - - Pm me? Need your paypal address :P Quote Link to comment Share on other sites More sharing options...
Veramys Posted August 19, 2014 Share Posted August 19, 2014 Just did change from ereg to preg_match on one of my testing sites, wasn't difficult. Idk why OP is having so much trouble, [MENTION=65371]sniko[/MENTION] gave you everything. Even wrapped it and put a bow on it for you. Quote Link to comment Share on other sites More sharing options...
IEatYourCookies Posted August 19, 2014 Author Share Posted August 19, 2014 Don't Worry, I can Install =] Aslong as it let's users sign up without errors', I'm willing to pay =] Quote Link to comment Share on other sites More sharing options...
sniko Posted August 19, 2014 Share Posted August 19, 2014 Don't Worry, I can Install =] Evidence in this thread suggests otherwise... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.