View Full Version : Registration Error
When someone tries to register, they get this:
Something is very, very wrong. Please contact Rusnak PHP Scripts about this error.
Any ideas?
Seapyramid
06-30-2009, 06:42 PM
What have you changed recently?
Well, functions.php. About a 10 days ago, I used to get like 3-5 members registering a day, the it stopped all of a sudden, so today I tried registering but got that message. Also I chexked the members page and noticed a member that had no username, email, ect. so I deleted it with phpMyAdmin.
Seapyramid
06-30-2009, 07:30 PM
What did you change in the functions.php?
All I did was edit the links and added a new string.
Seapyramid
06-30-2009, 09:31 PM
Hun,
I know your trying, but something you changed is causing the issue. In order to help I need to know exactually what you changed. Saying you added a string is vague.. please post your current functions.php so we can look at it and try to find the issue & please be specific on what you changed so we have a starting point.
Sea
Okay, and thank for the help. The string I added was called $topbar. :)
<?php
// File ID: functions.php
// Purpose: Provides basic sitewide functions
//Connect to the database first
connect();
//This function simply connects us to the database
function connect(){
include("config.php");
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to MySQL');
mysql_select_db($dbname);
}
//This function performs security checks on all incoming form data
function secure($data){
if(is_array($data)){
die("Hacking Attempt!");
}
//MySQL Real Escape String
$data = mysql_real_escape_string($data);
//Strip HTML tags
$data = strip_tags($data, '');
return $data;
}
function getsitecontent($page){
include("config.php");
$query = "SELECT * FROM ".$prefix."content WHERE page = '$page'";
$result = @mysql_query($query);
$num = @mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$title=@mysql_result($result,$i,"title");
$content=@mysql_result($result,$i,"content");
$title = stripslashes($title);
$content = stripslashes($content);
$i++;
}
$value[content] = $content;
$value[title] = $title;
return $value;
}
//This function replaces template values
function replace($old,$new,$template)
{
$template = str_replace($old, $new, $template);
return $template;
}
function logincheck(){
include("config.php");
//Function to determine if user is logged in.
//Set up our login info...
$username = "";
$password = "";
//Check for cookie
if (isset($_COOKIE['auser']) and isset($_COOKIE['apass'])){
$username = $_COOKIE['auser'];
$password = $_COOKIE['apass'];
$username = preg_replace("/[^a-zA-Z0-9\\040.]/", "", $username);
$username = secure($username);
$password = secure($password);
//Run login operation
$query = "SELECT * FROM ".$prefix."users WHERE username = '$username'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$luser=@mysql_result($result,$i,"username");
$lpass=@mysql_result($result,$i,"password");
$i++;
}
if($username == $luser and $password == $lpass){
$isloggedin = "yes";
}
else{
if (isset($_COOKIE['auser'])){
$past = time() - 10;
setcookie("auser",$username,$past);
}
if (isset($_COOKIE['apass'])){
$past = time() - 10;
setcookie("apass",$password,$past);
}
$isloggedin = "no";
}
}
else
{
//User is not logged in
$isloggedin = "no";
}
//Return our user data
$userdata[loginstatus] = $isloggedin;
$userdata[username] = $username;
return $userdata;
}
function grabanysetting($where){
include("config.php");
$query = "SELECT * FROM ".$prefix."settings WHERE name = '".$where."'";
$result = @mysql_query($query);
$num = @mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$value=@mysql_result($result,$i,"value");
$value = stripslashes($value);
$i++;
}
return $value;
}
function getlinks(){
include("config.php");
//This function gets the links for the top bar from the database
/*
$links = "<li><a href='index.php'>Home</a></li>
<li><a href='adopt.php'>Adopt</a></li>
<li><a href='myadopts.php'>My Adopts</a></li>
<li><a href='account.php'>My Account</a></li>
<li><a href='messages.php'>Message Center</a></li>
<li><a href='trade.php'>Trade Adopts</a></li>
<li><a href='featured.php'>Popular</a></li>";
*/
// We will be getting our links from the database...
$links = "";
$query = "SELECT * FROM ".$prefix."links ORDER BY id ASC";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < $num) {
$linktext=@mysql_result($result,$i,"linktext");
$linkurl=@mysql_result($result,$i,"linkurl");
$linktext = stripslashes($linktext);
$links = $links." <li><a href='".$linkurl."'>".$linktext."</a></li> ";
$i++;
}
return $links;
}
function getsidebar(){
include("config.php");
//This function determines what shows in the side bar of the template
//This will most likely be either a login prompt, quick account access, or something else
//First we see if we are logged in or not
$loginstatus = logincheck();
$isloggedin = $loginstatus[loginstatus];
$loggedinname = $loginstatus[username];
if($isloggedin == "yes"){
$msgctr = "<a href='messages.php'>Visit Message Center</a><br>";
$query = "SELECT * FROM ".$prefix."messages WHERE touser='".$loggedinname."' and status='unread'";
$result = mysql_query($query);
$num = mysql_numrows($result);
if($num > 0){
$msgctr = "<a href='messages.php'>Visit Message Center <b>(".$num.")</b></a>";
}
$sidebar = "<li><a href='profile.php?user=".$loggedinname."'>Profile</a></li>
<li><a href='account.php?act=changesettings'>Settings</a></li>
<li><a href='account.php'>My Account</a></li>
<li><a href='messages.php'>Private Messages <b>(".$num.")</b></a></li>
<li><a href='profile.php'>Members</a></li>
<li><a href='admin.php'>Admin CP</a></li>
<li><a href='logout.php'>Log Out</a></li>";
}
else{
$sidebar = "<li align='right'><a href='login.php'>Login</a></li><li align='right'><a href='register.php'>Register</a></li><li align='right'><a href='forgotpass.php'>Forgot Password?</a></li>";
}
return $sidebar;
}
$aid=@mysql_result($result,$i,"aid"); //The adoptable's ID
$currentlevel=@mysql_result($result,$i,"currentlevel");
$type=@mysql_result($result,$i,"type");
$name=@mysql_result($result,$i,"name");
$totalclicks=@mysql_result($result,$i,"totalclicks");
function gettopbar(){
include("config.php");
//This function determines what shows in the top bar of the template
//This will most likely be either a login prompt, quick account access, or something else
//First we see if we are logged in or not
$loginstatus = logincheck();
$isloggedin = $loginstatus[loginstatus];
$loggedinname = $loginstatus[username];
if($isloggedin == "yes"){
$msgctr = "<a href='messages.php'>Visit Message Center</a><br>";
$query = "SELECT * FROM ".$prefix."messages WHERE touser='".$loggedinname."' and status='unread'";
$result = mysql_query($query);
$num = mysql_numrows($result);
if($num > 0){
$msgctr = "<a href='messages.php'>Visit Message Center <b>(".$num.")</b></a>";
}
$topbar = "<table cellpadding='0px' cellspacing='0px' width='100%' border='0px' background='http://omploader.org/vMXBvaA'>
<tr>
<td background='http://omploader.org/vMXBvaA'>
Welcome Back <a href='profile.php?user=$loggedinname'>$loggedinname</a>!
</td>
<td>
<center><b>News:</b>Look for more updates!</center>
</td>
<td><div align='right'>
<Div id='links'><a href='profile.php?user=$loggedinname'><img src='http://i39.tinypic.com/10d9pah.jpg' border='0px solid #777777'></a></div>
<Div id='links'><a href='myadopts.php'><img src='http://nsider.com/forums/style_images/rank_prefixes/Pokeball.png' border='0'></a></div>
<Div id='links'><a href='account.php?act=changesettings'><img src='http://i43.tinypic.com/34t1tah.png' border='0'></a></div>
<Div id='links'><a href='messages.php'><img src='http://i39.tinypic.com/293yjwy.png' border='0'></a></div>
<Div id='links'><a href='adopt.php'><img src='http://i40.tinypic.com/2501bi9.png' border='0'></a></div>
<Div id='links'><a href='promo.php'><img src='http://i40.tinypic.com/6em70g.png' border='0' alt='Enter Promo Code'></a></div>
<Div id='links'><a href='profile.php'><img src='http://i43.tinypic.com/2h2l9fk.jpg' border='0'></a></div>
<Div id='links'><a href='logout.php'><img src='http://i43.tinypic.com/25ujqzs.png' border='0'></a></div></div>
</td>
<td width='7%'>
<div id='itronclock' align='right'></div>
</td>
</tr>
</table>";
}
else{
$topbar = "<table cellpadding='0px' cellspacing='0px' width='100%' border='0px' background='http://omploader.org/vMXBvaA'>
<tr>
<td background='http://omploader.org/vMXBvaA'>
Welcome guest! <a href='login.php'>login</a> <a href='register.php'>register</a> <a href='forgotpass.php'>forgot your password?</a>
</td>
<td><div align='right'>
<a href='login.php'><img src='http://i43.tinypic.com/voa1br.png' border='0'></a>
<a href='register.php'><img src='http://i43.tinypic.com/91fcs3.png' border='0'></a>
<a href='forgotpass.php'><img src='http://i44.tinypic.com/2igyo2x.png' border='0'></a></div>
</td>
</tr>
</table>";
}
return $topbar;
}
function dologin($username, $password){
//This function logs a user in...
include("config.php");
$query = "SELECT * FROM ".$prefix."users WHERE username = '$username'";
$result = @mysql_query($query);
$num = @mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$luser=@mysql_result($result,$i,"username");
$lpass=@mysql_result($result,$i,"password");
$i++;
}
if($username == $luser and $password == $lpass){
$status = "success";
//If the cookie already exists for some reason, delete it
if (isset($_COOKIE['auser']) and isset($_COOKIE['apass'])){
$past = time() - 10;
setcookie("auser",$username,$past);
setcookie("apass",$password,$past);
}
// Set the cookie
$Month = 2592000 + time();
setcookie("auser",$username,$Month);
setcookie("apass",$password,$Month);
}
else{
$status = "error";
}
return $status;
}
function getgroup(){
//This function gets the numerical usergroup ID of a user, or returns 0 if is a guest
include("config.php");
$loginstatus = logincheck();
$isloggedin = $loginstatus[loginstatus];
$loggedinname = $loginstatus[username];
if($isloggedin == "yes"){
$query = "SELECT * FROM ".$prefix."users WHERE username = '$loggedinname'";
$result = @mysql_query($query);
$num = @mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$group=@mysql_result($result,$i,"usergroup");
$i++;
}
return $group;
}
else{
return 0;
}
}
function cancp($usergroup){
include("config.php");
//This function determines if a usergroup is allowed to access the Admin CP
$query = "SELECT * FROM ".$prefix."groups WHERE gid = '$usergroup'";
$result = @mysql_query($query);
$num = @mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$cancp=@mysql_result($result,$i,"cancp");
$i++;
}
if($cancp == "" or $usergroup == 0){
$cancp = "no";
}
return $cancp;
}
function getadmlinks(){
include("config.php");
//This function shows special links to the site admin
$links = "<li><a href='index.php'>Home</a></li>
<li><a href='admin.php?set=adopts'>Change Adoptables</a></li>
<li><a href='admin.php?set=content'>Change Content</a></li>
<li><a href='admin.php?set=users'>Change Users</a></li>
<li><a href='admin.php?set=settings'>Site Settings</a></li>
<li><a href='admin.php?set=ads'>Manage Ads</a></li>";
return $links;
}
function cando($usergroup, $do){
include("config.php");
//This function determines if a usergroup is allowed to do a specific task
$query = "SELECT * FROM ".$prefix."groups WHERE gid = '$usergroup'";
$result = @mysql_query($query);
$num = @mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$cando=@mysql_result($result,$i,$do);
$i++;
}
if($cando == "" or $usergroup == 0){
$cando = "no";
}
return $cando;
}
function canadopt($aid, $cond, $promocode){
include("config.php");
// This function determines if a user can adopt a specific adoptable...
$canadopt = "yes"; // The default status is that we CAN adopt, unless proven false...
// The first thing we check is that we are logged in
$loginstatus = logincheck();
$isloggedin = $loginstatus[loginstatus];
$loggedinname = $loginstatus[username];
if($isloggedin != "yes" and $cond != "showing"){
$canadopt = "no";
}
// Now we check if our usergroup has permission to adopt the adoptable...
$group = getgroup();
$dbcanadpt = cando($group, "canadopt");
if($dbcanadpt != "yes" and $cond != "showing"){
$canadopt = "no";
}
// We need to pull a lot of junk from the database for these next few checks
$query = "SELECT * FROM ".$prefix."adoptables WHERE id='$aid'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$whenisavail=@mysql_result($result,$i,"whenisavail");
$correctpromocode=@mysql_result($result,$i,"promocode");
$freqcond=@mysql_result($result,$i,"freqcond");
$number=@mysql_result($result,$i,"number");
$date=@mysql_result($result,$i,"date");
$datecond=@mysql_result($result,$i,"datecond");
$adoptscond=@mysql_result($result,$i,"adoptscond");
$morethannumberen=@mysql_result($result,$i,"moreless");
$morethannumber=@mysql_result($result,$i,"morelessnum");
$usergroupsen=@mysql_result($result,$i,"levelgrle");
$usergroupid=@mysql_result($result,$i,"grlelevel");
$type=@mysql_result($result,$i,"type");
$i++;
}
// Now we check if the adoptable requires a promo code and if the promo code submitted is correct...
if($whenisavail == "promo" and $promocode != $correctpromocode){
// A promo code is required but the submitted promo code is not the correct code
$canadopt = "no";
}
// Now we check those three conditions we have in the Admin CP
// If ANY of them fails, this check fails!
if($whenisavail == "conditions"){
// If we have a restriction on the number of times this can be adopted...
if($freqcond == "enabled"){
// We have a frequency based condition
// Select from the database and determine how many times this adoptable type has been adopted
$num = 0;
$query = "SELECT * FROM ".$prefix."owned_adoptables WHERE type='$type'";
$result = mysql_query($query);
$num = mysql_numrows($result);
if($num > $number){
// Not Available
$canadopt = "no";
}
} // End the frequency condition IF statement
// Begin the date restriction check
$today = date('Y-m-d');
if($datecond == "enabled" and $date != $today){
$canadopt = "no";
}
// We are checking to see how many of this adoptable a user owns
// If they own more than the specifed number, they cannot adopt...
if($morethannumberen == "enabled"){
$num = 0;
$query = "SELECT * FROM ".$prefix."owned_adoptables WHERE owner='$loggedinname' and type='$type'";
$result = mysql_query($query);
$num = mysql_numrows($result);
if($num > $morethannumber){
$canadopt = "no";
}
} // End morethannumberen check
// Check if the user is of a specified usergroup...
if($usergroupsen == "enabled"){
$ourgid = getgroup();
// If the two numbers do not match, do not allow the adoption...
if($ourgid != $usergroupid){
$canadopt = "no";
}
}
} // End the is there conditions if statement
return $canadopt;
}
function getaltstatus($parentid, $childid, $childlevel){
include("config.php");
// This function determines if we will use alternate images...
// All this does is give us a yes or no
// This does NOT actually assign the alternate images in the DB.....
$altstatus = "no";
$run = "no";
// First we need to see if this adoptable type has alternate images enabled...
$query = "SELECT * FROM ".$prefix."adoptables WHERE id='$parentid'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$alternates=@mysql_result($result,$i,"alternates");
$altoutlevel=@mysql_result($result,$i,"altoutlevel");
$altchance=@mysql_result($result,$i,"altchance");
$i++;
}
// If alternate images are enabled, we must run some checks to see if we use them...
if($alternates == "enabled"){
// Let's see if the level we are on is the level that requires alternates
// If we're not on a level that requires to check alternates, why bother?
if($childlevel == $altoutlevel){
$run = "yes";
}
}
if($run == "yes"){
// This is where we actually determine if we use alternate images...
$randnum = rand(1, $altchance);
if($randnum == 1){
$altstatus = "yes"; // If we pull a 1 as the random number, we use the alternate images :)
}
}
return $altstatus;
}
function getcurrentimage($id){
// This function determines which image we should use for a given adoptable...
include("config.php"); // This is so we can use the table prefix
$image = "";
// First we select the adoptable from the database and get some basic information...
$query = "SELECT * FROM ".$prefix."owned_adoptables WHERE aid='$id'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$type=@mysql_result($result,$i,"type");
$currentlevel=@mysql_result($result,$i,"currentlevel");
$imageurl=@mysql_result($result,$i,"imageurl");
$usealternates=@mysql_result($result,$i,"usealternates");
$i++;
}
if($imageurl != ""){
// If we are using a custom image for this adoptable, use that
$image = $imageurl;
}
else{
// We have to dig this up ourselves...
// Check if we are using an egg image or a level image...
if($currentlevel == 0 or $currentlevel == "0"){
// Let's see what the egg image is...
$query = "SELECT * FROM ".$prefix."adoptables WHERE type='$type'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$eggimage=@mysql_result($result,$i,"eggimage");
$i++;
}
$image = $eggimage; // Set the image URL equal to the egg image...
}
else{
// We have to find out what level we are using...
// Then we can choose the appropriate image for what we are using...
$query = "SELECT * FROM ".$prefix."levels WHERE adoptiename='$type' and thisislevel='$currentlevel'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$primaryimage=@mysql_result($result,$i,"primaryimage");
$alternateimage=@mysql_result($result,$i,"alternateimage");
$i++;
}
// If alternate images are enabled and an alternate image exists, use it
if($usealternates == "yes" and $alternateimage != ""){
$image = $alternateimage; // Use the alternate image
}
else{
$image = $primaryimage; // Set the image equal to the primary image for the level
}
}
}
if($type == "" or $image == ""){
// We did not settle on an image, so we show an error image...
$image = "http://www.".$domain."".$scriptpath."/templates/icons/delete.gif";
}
return $image;
}
function getcurrentlevel($id){
// This function gets the current level of an adoptable...
include("config.php");
$query = "SELECT * FROM ".$prefix."owned_adoptables WHERE aid='$id'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$currentlevel=@mysql_result($result,$i,"currentlevel");
$i++;
}
if($currentlevel == ""){
$currentlevel = "error"; // If the adoptable does not have a current level or does not exist, we return an error...
}
// Return the level
return $currentlevel;
}
function getnextlevelexists($type, $currentlevel){
include("config.php");
// This function determines if a higher level exists for an adopt, or if it is at max level.
$query = "SELECT * FROM ".$prefix."levels WHERE adoptiename='$type' and thisislevel > '$currentlevel'";
$result = mysql_query($query);
$num = mysql_numrows($result);
$exists = "false";
if($num > 0){
$exists = "true"; // A higher level exists
}
return $exists;
}
function convertidtotype($id){
// This function takes in an adoptable's ID and returns the type of adoptable it is...
include("config.php");
$query = "SELECT * FROM ".$prefix."owned_adoptables WHERE aid='$id'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$type=@mysql_result($result,$i,"type");
$i++;
}
if($type == ""){
$type = "error";
}
return $type;
}
function converttypetoparentid($type){
// This function takes in an adoptable type and returns the ID of the parent
include("config.php");
$query = "SELECT * FROM ".$prefix."adoptables WHERE type='$type'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$id=@mysql_result($result,$i,"id");
$i++;
}
if($id == ""){
$id = "error";
}
return $id;
}
function reward($id, $type, $currentlevel, $owner){
include("config.php");
// This function determines if we are giving the user a reward or not...
$query = "SELECT * FROM ".$prefix."levels WHERE adoptiename='$type' and thisislevel='$currentlevel'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$rewarduser=@mysql_result($result,$i,"rewarduser");
$promocode=@mysql_result($result,$i,"promocode");
$i++;
}
if($rewarduser == "yes" and $promocode != ""){
// We are sending out a reward...
$mtitle = "You have received a reward!";
$mtext = "Congratulations! You have received a reward because one of your adoptables leveled up and the site admin has chosen to reward you for this.<br><br>
<b><u>Your reward is the following promo code:</u></b> ".$promocode."<br><br>
You may use this promo code on the <a href='promo.php?promocode=".$promocode."'>Promo Code Page</a> to receive a special exclusive or limited edition adoptable!<br><br>
Congratulations on your reward!";
$mtext = mysql_real_escape_string($mtext);
$date = date('Y-m-d');
$query = "INSERT INTO ".$prefix."messages VALUES ('', 'SYSTEM', '$owner','unread','$date','$mtitle', '$mtext')";
mysql_query($query);
// Now we check if we are sending out an email to the user alerting them of the message...
$query = "SELECT * FROM ".$prefix."users WHERE username='".$owner."'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$newmessagenotify=@mysql_result($result,$i,"newmessagenotify");
$email=@mysql_result($result,$i,"email");
$i++;
}
if($newmessagenotify == 1){
// We are sending this user an email about the new message...
$systememail = grabanysetting("systememail");
$headers = "From: ".$systememail."";
$site_name = grabanysetting("sitename");
$message = "Hello ".$owner.";\n\nYou have received a new Private Message from SYSTEM at ".$site_name." with the title ".$mtitle.".\n
You can read this message at: http://www.".$domain."".$scriptpath."/messages.php\n
Thank You. The ".$site_name." team.";
mail($email, $site_name." - You Have Received a Reward", $message, $headers);
}
}
return $rewardstatus;
}
function getadmimages(){
include("config.php");
$formcontent = "";
$query = "SELECT * FROM ".$prefix."filesmap";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < $num) {
$wwwpath=@mysql_result($result,$i,"wwwpath");
$friendlyname=@mysql_result($result,$i,"friendlyname");
$formcontent = $formcontent."<option value='".$wwwpath."'>".$friendlyname."</option>";
$i++;
}
return $formcontent;
}
function deleteuser($user){
include("config.php");
//This function deletes a user from the system...
$user = secure($user);
$query = "DELETE FROM ".$prefix."users WHERE username = '".$user."'";
$result = mysql_query($query);
$query = "DELETE FROM ".$prefix."owned_adoptables WHERE owner = '".$user."'";
$result = mysql_query($query);
}
function getads($page){
// Function to display site advertisements
include("config.php");
if($page == "any"){
$page = "";
}
$query = "SELECT * FROM ".$prefix."ads WHERE page = '".$page."' and status = 'active' ORDER BY RAND() LIMIT 1";
$result = @mysql_query($query);
$num = @mysql_numrows($result);
if($num > 0){
//Loop out code
$i=0;
while ($i < 1) {
$value=@mysql_result($result,$i,"text");
$value = stripslashes($value);
$aid=@mysql_result($result,$i,"id");
$actualimpressions=@mysql_result($result,$i,"actualimpressions");
$impressions=@mysql_result($result,$i,"impressions");
$i++;
}
if($impressions == ""){
$impressions = 0;
}
$actualimpressions = $actualimpressions + 1;
//Update the impressions count
$query = "UPDATE ".$prefix."ads SET actualimpressions='".$actualimpressions."' WHERE id='".$aid."'";
mysql_query($query);
//Check that ad is not over max impressions...
if ($actualimpressions >= $impressions and $impressions != 0){
$query = "UPDATE ".$prefix."ads SET status='inactive' WHERE id='".$aid."'";
mysql_query($query);
}
}
else{
$value = "";
}
return $value;
}
?>
Seapyramid
06-30-2009, 10:40 PM
Ok.. I am looking at this.. Brandon if you could as well it would be appreciated.
Sea
***EDIT OK why did you comment out the top links.. but not the whole function & then create a new one?
***EDIT agin & you do realize that Div id='links' is not the same as div id='links' in many browsers
***EDIT I still do not see the register issue. Brandon might as he wrote it so knows it better then I, but the questions above still exsist & should be consider for what you are doing is ineffienct to say the least & could cause issues later.
Sea
1. I commented about the new string I made because I don't know when the problem started, so I was just saying the latest thing I did.
2. Woops, I didn't realize I capitalized it. I made the first one then copied and pasted it.
3. And okay :) thanks for trying at least.
Bloodrun
07-01-2009, 06:43 AM
okay when you try to register an account, do you get, the warning, "something is very, very wrong, ....etc"?
If so, that means that it is having trouble logging you in.
You need to check to see if your user table in your MySql, matches the amount of fields in your registration.php file.
If they are the same number, make sure that things are in the right spot.
If they are, then you need to check your functions.php page, because the registration.php uses the functions.php to log in.
If you don't know what your looking for, then please paste your functions.php file here so I can take a look at it.
I cant seem to find the problem. Everything is in the right spot, and there is enough fields. I even re-uploaded register.php.
Just in case I missed something...
Functions.php
<?php
// File ID: functions.php
// Purpose: Provides basic sitewide functions
//Connect to the database first
connect();
//This function simply connects us to the database
function connect(){
include("config.php");
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to MySQL');
mysql_select_db($dbname);
}
//This function performs security checks on all incoming form data
function secure($data){
if(is_array($data)){
die("Hacking Attempt!");
}
//MySQL Real Escape String
$data = mysql_real_escape_string($data);
//Strip HTML tags
$data = strip_tags($data, '');
return $data;
}
function getsitecontent($page){
include("config.php");
$query = "SELECT * FROM ".$prefix."content WHERE page = '$page'";
$result = @mysql_query($query);
$num = @mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$title=@mysql_result($result,$i,"title");
$content=@mysql_result($result,$i,"content");
$title = stripslashes($title);
$content = stripslashes($content);
$i++;
}
$value[content] = $content;
$value[title] = $title;
return $value;
}
//This function replaces template values
function replace($old,$new,$template)
{
$template = str_replace($old, $new, $template);
return $template;
}
function logincheck(){
include("config.php");
//Function to determine if user is logged in.
//Set up our login info...
$username = "";
$password = "";
//Check for cookie
if (isset($_COOKIE['auser']) and isset($_COOKIE['apass'])){
$username = $_COOKIE['auser'];
$password = $_COOKIE['apass'];
$username = preg_replace("/[^a-zA-Z0-9\\040.]/", "", $username);
$username = secure($username);
$password = secure($password);
//Run login operation
$query = "SELECT * FROM ".$prefix."users WHERE username = '$username'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$luser=@mysql_result($result,$i,"username");
$lpass=@mysql_result($result,$i,"password");
$i++;
}
if($username == $luser and $password == $lpass){
$isloggedin = "yes";
}
else{
if (isset($_COOKIE['auser'])){
$past = time() - 10;
setcookie("auser",$username,$past);
}
if (isset($_COOKIE['apass'])){
$past = time() - 10;
setcookie("apass",$password,$past);
}
$isloggedin = "no";
}
}
else
{
//User is not logged in
$isloggedin = "no";
}
//Return our user data
$userdata[loginstatus] = $isloggedin;
$userdata[username] = $username;
return $userdata;
}
function grabanysetting($where){
include("config.php");
$query = "SELECT * FROM ".$prefix."settings WHERE name = '".$where."'";
$result = @mysql_query($query);
$num = @mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$value=@mysql_result($result,$i,"value");
$value = stripslashes($value);
$i++;
}
return $value;
}
function getlinks(){
include("config.php");
//This function gets the links for the top bar from the database
/*
$links = "<li><a href='index.php'>Home</a></li>
<li><a href='adopt.php'>Adopt</a></li>
<li><a href='myadopts.php'>My Adopts</a></li>
<li><a href='account.php'>My Account</a></li>
<li><a href='messages.php'>Message Center</a></li>
<li><a href='trade.php'>Trade Adopts</a></li>
<li><a href='featured.php'>Popular</a></li>";
*/
// We will be getting our links from the database...
$links = "";
$query = "SELECT * FROM ".$prefix."links ORDER BY id ASC";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < $num) {
$linktext=@mysql_result($result,$i,"linktext");
$linkurl=@mysql_result($result,$i,"linkurl");
$linktext = stripslashes($linktext);
$links = $links." <li><a href='".$linkurl."'>".$linktext."</a></li> ";
$i++;
}
return $links;
}
function getsidebar(){
include("config.php");
//This function determines what shows in the side bar of the template
//This will most likely be either a login prompt, quick account access, or something else
//First we see if we are logged in or not
$loginstatus = logincheck();
$isloggedin = $loginstatus[loginstatus];
$loggedinname = $loginstatus[username];
if($isloggedin == "yes"){
$msgctr = "<a href='messages.php'>Visit Message Center</a><br>";
$query = "SELECT * FROM ".$prefix."messages WHERE touser='".$loggedinname."' and status='unread'";
$result = mysql_query($query);
$num = mysql_numrows($result);
if($num > 0){
$msgctr = "<a href='messages.php'>Visit Message Center <b>(".$num.")</b></a>";
}
$sidebar = "<li><a href='profile.php?user=".$loggedinname."'>Profile</a></li>
<li><a href='account.php?act=changesettings'>Settings</a></li>
<li><a href='account.php'>My Account</a></li>
<li><a href='messages.php'>Private Messages <b>(".$num.")</b></a></li>
<li><a href='profile.php'>Members</a></li>
<li><a href='admin.php'>Admin CP</a></li>
<li><a href='logout.php'>Log Out</a></li>";
}
else{
$sidebar = "<li align='right'><a href='login.php'>Login</a></li><li align='right'><a href='register.php'>Register</a></li><li align='right'><a href='forgotpass.php'>Forgot Password?</a></li>";
}
return $sidebar;
}
function gettopbar(){
include("config.php");
//This function determines what shows in the top bar of the template
//This will most likely be either a login prompt, quick account access, or something else
//First we see if we are logged in or not
$loginstatus = logincheck();
$isloggedin = $loginstatus[loginstatus];
$loggedinname = $loginstatus[username];
if($isloggedin == "yes"){
$msgctr = "<a href='messages.php'>Visit Message Center</a><br>";
$query = "SELECT * FROM ".$prefix."messages WHERE touser='".$loggedinname."' and status='unread'";
$result = mysql_query($query);
$num = mysql_numrows($result);
if($num > 0){
$msgctr = "<a href='messages.php'>Visit Message Center <b>(".$num.")</b></a>";
}
$topbar = "<table cellpadding='0px' cellspacing='0px' width='100%' border='0px' background='http://omploader.org/vMXBvaA'>
<tr>
<td background='http://omploader.org/vMXBvaA'>
Welcome Back <a href='profile.php?user=$loggedinname'>$loggedinname</a>!
</td>
<td>
<center><b>News:</b>Look for more updates!</center>
</td>
<td><div align='right'>
<div id='links'><a href='profile.php?user=$loggedinname'><img src='http://i39.tinypic.com/10d9pah.jpg' border='0px solid #777777'></a></div>
<div id='links'><a href='myadopts.php'><img src='http://nsider.com/forums/style_images/rank_prefixes/Pokeball.png' border='0'></a></div>
<div id='links'><a href='account.php?act=changesettings'><img src='http://i43.tinypic.com/34t1tah.png' border='0'></a></div>
<div id='links'><a href='messages.php'><img src='http://i39.tinypic.com/293yjwy.png' border='0'></a></div>
<div id='links'><a href='adopt.php'><img src='http://i40.tinypic.com/2501bi9.png' border='0'></a></div>
<div id='links'><a href='promo.php'><img src='http://i40.tinypic.com/6em70g.png' border='0' alt='Enter Promo Code'></a></div>
<div id='links'><a href='profile.php'><img src='http://i43.tinypic.com/2h2l9fk.jpg' border='0'></a></div>
<div id='links'><a href='logout.php'><img src='http://i43.tinypic.com/25ujqzs.png' border='0'></a></div></div>
</td>
<td width='7%'>
<div id='itronclock' align='right'></div>
</td>
</tr>
</table>";
}
else{
$topbar = "<table cellpadding='0px' cellspacing='0px' width='100%' border='0px' background='http://omploader.org/vMXBvaA'>
<tr>
<td background='http://omploader.org/vMXBvaA'>
Welcome guest! <a href='login.php'>login</a> <a href='register.php'>register</a> <a href='forgotpass.php'>forgot your password?</a>
</td>
<td><div align='right'>
<a href='login.php'><img src='http://i43.tinypic.com/voa1br.png' border='0'></a>
<a href='register.php'><img src='http://i43.tinypic.com/91fcs3.png' border='0'></a>
<a href='forgotpass.php'><img src='http://i44.tinypic.com/2igyo2x.png' border='0'></a></div>
</td>
</tr>
</table>";
}
return $topbar;
}
function dologin($username, $password){
//This function logs a user in...
include("config.php");
$query = "SELECT * FROM ".$prefix."users WHERE username = '$username'";
$result = @mysql_query($query);
$num = @mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$luser=@mysql_result($result,$i,"username");
$lpass=@mysql_result($result,$i,"password");
$i++;
}
if($username == $luser and $password == $lpass){
$status = "success";
//If the cookie already exists for some reason, delete it
if (isset($_COOKIE['auser']) and isset($_COOKIE['apass'])){
$past = time() - 10;
setcookie("auser",$username,$past);
setcookie("apass",$password,$past);
}
// Set the cookie
$Month = 2592000 + time();
setcookie("auser",$username,$Month);
setcookie("apass",$password,$Month);
}
else{
$status = "error";
}
return $status;
}
function getgroup(){
//This function gets the numerical usergroup ID of a user, or returns 0 if is a guest
include("config.php");
$loginstatus = logincheck();
$isloggedin = $loginstatus[loginstatus];
$loggedinname = $loginstatus[username];
if($isloggedin == "yes"){
$query = "SELECT * FROM ".$prefix."users WHERE username = '$loggedinname'";
$result = @mysql_query($query);
$num = @mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$group=@mysql_result($result,$i,"usergroup");
$i++;
}
return $group;
}
else{
return 0;
}
}
function cancp($usergroup){
include("config.php");
//This function determines if a usergroup is allowed to access the Admin CP
$query = "SELECT * FROM ".$prefix."groups WHERE gid = '$usergroup'";
$result = @mysql_query($query);
$num = @mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$cancp=@mysql_result($result,$i,"cancp");
$i++;
}
if($cancp == "" or $usergroup == 0){
$cancp = "no";
}
return $cancp;
}
function getadmlinks(){
include("config.php");
//This function shows special links to the site admin
$links = "<li><a href='index.php'>Home</a></li>
<li><a href='admin.php?set=adopts'>Change Adoptables</a></li>
<li><a href='admin.php?set=content'>Change Content</a></li>
<li><a href='admin.php?set=users'>Change Users</a></li>
<li><a href='admin.php?set=settings'>Site Settings</a></li>
<li><a href='admin.php?set=ads'>Manage Ads</a></li>";
return $links;
}
function cando($usergroup, $do){
include("config.php");
//This function determines if a usergroup is allowed to do a specific task
$query = "SELECT * FROM ".$prefix."groups WHERE gid = '$usergroup'";
$result = @mysql_query($query);
$num = @mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$cando=@mysql_result($result,$i,$do);
$i++;
}
if($cando == "" or $usergroup == 0){
$cando = "no";
}
return $cando;
}
function canadopt($aid, $cond, $promocode){
include("config.php");
// This function determines if a user can adopt a specific adoptable...
$canadopt = "yes"; // The default status is that we CAN adopt, unless proven false...
// The first thing we check is that we are logged in
$loginstatus = logincheck();
$isloggedin = $loginstatus[loginstatus];
$loggedinname = $loginstatus[username];
if($isloggedin != "yes" and $cond != "showing"){
$canadopt = "no";
}
// Now we check if our usergroup has permission to adopt the adoptable...
$group = getgroup();
$dbcanadpt = cando($group, "canadopt");
if($dbcanadpt != "yes" and $cond != "showing"){
$canadopt = "no";
}
// We need to pull a lot of junk from the database for these next few checks
$query = "SELECT * FROM ".$prefix."adoptables WHERE id='$aid'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$whenisavail=@mysql_result($result,$i,"whenisavail");
$correctpromocode=@mysql_result($result,$i,"promocode");
$freqcond=@mysql_result($result,$i,"freqcond");
$number=@mysql_result($result,$i,"number");
$date=@mysql_result($result,$i,"date");
$datecond=@mysql_result($result,$i,"datecond");
$adoptscond=@mysql_result($result,$i,"adoptscond");
$morethannumberen=@mysql_result($result,$i,"moreless");
$morethannumber=@mysql_result($result,$i,"morelessnum");
$usergroupsen=@mysql_result($result,$i,"levelgrle");
$usergroupid=@mysql_result($result,$i,"grlelevel");
$type=@mysql_result($result,$i,"type");
$i++;
}
// Now we check if the adoptable requires a promo code and if the promo code submitted is correct...
if($whenisavail == "promo" and $promocode != $correctpromocode){
// A promo code is required but the submitted promo code is not the correct code
$canadopt = "no";
}
// Now we check those three conditions we have in the Admin CP
// If ANY of them fails, this check fails!
if($whenisavail == "conditions"){
// If we have a restriction on the number of times this can be adopted...
if($freqcond == "enabled"){
// We have a frequency based condition
// Select from the database and determine how many times this adoptable type has been adopted
$num = 0;
$query = "SELECT * FROM ".$prefix."owned_adoptables WHERE type='$type'";
$result = mysql_query($query);
$num = mysql_numrows($result);
if($num > $number){
// Not Available
$canadopt = "no";
}
} // End the frequency condition IF statement
// Begin the date restriction check
$today = date('Y-m-d');
if($datecond == "enabled" and $date != $today){
$canadopt = "no";
}
// We are checking to see how many of this adoptable a user owns
// If they own more than the specifed number, they cannot adopt...
if($morethannumberen == "enabled"){
$num = 0;
$query = "SELECT * FROM ".$prefix."owned_adoptables WHERE owner='$loggedinname' and type='$type'";
$result = mysql_query($query);
$num = mysql_numrows($result);
if($num > $morethannumber){
$canadopt = "no";
}
} // End morethannumberen check
// Check if the user is of a specified usergroup...
if($usergroupsen == "enabled"){
$ourgid = getgroup();
// If the two numbers do not match, do not allow the adoption...
if($ourgid != $usergroupid){
$canadopt = "no";
}
}
} // End the is there conditions if statement
return $canadopt;
}
function getaltstatus($parentid, $childid, $childlevel){
include("config.php");
// This function determines if we will use alternate images...
// All this does is give us a yes or no
// This does NOT actually assign the alternate images in the DB.....
$altstatus = "no";
$run = "no";
// First we need to see if this adoptable type has alternate images enabled...
$query = "SELECT * FROM ".$prefix."adoptables WHERE id='$parentid'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$alternates=@mysql_result($result,$i,"alternates");
$altoutlevel=@mysql_result($result,$i,"altoutlevel");
$altchance=@mysql_result($result,$i,"altchance");
$i++;
}
// If alternate images are enabled, we must run some checks to see if we use them...
if($alternates == "enabled"){
// Let's see if the level we are on is the level that requires alternates
// If we're not on a level that requires to check alternates, why bother?
if($childlevel == $altoutlevel){
$run = "yes";
}
}
if($run == "yes"){
// This is where we actually determine if we use alternate images...
$randnum = rand(1, $altchance);
if($randnum == 1){
$altstatus = "yes"; // If we pull a 1 as the random number, we use the alternate images :)
}
}
return $altstatus;
}
function getcurrentimage($id){
// This function determines which image we should use for a given adoptable...
include("config.php"); // This is so we can use the table prefix
$image = "";
// First we select the adoptable from the database and get some basic information...
$query = "SELECT * FROM ".$prefix."owned_adoptables WHERE aid='$id'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$type=@mysql_result($result,$i,"type");
$currentlevel=@mysql_result($result,$i,"currentlevel");
$imageurl=@mysql_result($result,$i,"imageurl");
$usealternates=@mysql_result($result,$i,"usealternates");
$i++;
}
if($imageurl != ""){
// If we are using a custom image for this adoptable, use that
$image = $imageurl;
}
else{
// We have to dig this up ourselves...
// Check if we are using an egg image or a level image...
if($currentlevel == 0 or $currentlevel == "0"){
// Let's see what the egg image is...
$query = "SELECT * FROM ".$prefix."adoptables WHERE type='$type'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$eggimage=@mysql_result($result,$i,"eggimage");
$i++;
}
$image = $eggimage; // Set the image URL equal to the egg image...
}
else{
// We have to find out what level we are using...
// Then we can choose the appropriate image for what we are using...
$query = "SELECT * FROM ".$prefix."levels WHERE adoptiename='$type' and thisislevel='$currentlevel'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$primaryimage=@mysql_result($result,$i,"primaryimage");
$alternateimage=@mysql_result($result,$i,"alternateimage");
$i++;
}
// If alternate images are enabled and an alternate image exists, use it
if($usealternates == "yes" and $alternateimage != ""){
$image = $alternateimage; // Use the alternate image
}
else{
$image = $primaryimage; // Set the image equal to the primary image for the level
}
}
}
if($type == "" or $image == ""){
// We did not settle on an image, so we show an error image...
$image = "http://www.".$domain."".$scriptpath."/templates/icons/delete.gif";
}
return $image;
}
function getcurrentlevel($id){
// This function gets the current level of an adoptable...
include("config.php");
$query = "SELECT * FROM ".$prefix."owned_adoptables WHERE aid='$id'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$currentlevel=@mysql_result($result,$i,"currentlevel");
$i++;
}
if($currentlevel == ""){
$currentlevel = "error"; // If the adoptable does not have a current level or does not exist, we return an error...
}
// Return the level
return $currentlevel;
}
function getnextlevelexists($type, $currentlevel){
include("config.php");
// This function determines if a higher level exists for an adopt, or if it is at max level.
$query = "SELECT * FROM ".$prefix."levels WHERE adoptiename='$type' and thisislevel > '$currentlevel'";
$result = mysql_query($query);
$num = mysql_numrows($result);
$exists = "false";
if($num > 0){
$exists = "true"; // A higher level exists
}
return $exists;
}
function convertidtotype($id){
// This function takes in an adoptable's ID and returns the type of adoptable it is...
include("config.php");
$query = "SELECT * FROM ".$prefix."owned_adoptables WHERE aid='$id'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$type=@mysql_result($result,$i,"type");
$i++;
}
if($type == ""){
$type = "error";
}
return $type;
}
function converttypetoparentid($type){
// This function takes in an adoptable type and returns the ID of the parent
include("config.php");
$query = "SELECT * FROM ".$prefix."adoptables WHERE type='$type'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$id=@mysql_result($result,$i,"id");
$i++;
}
if($id == ""){
$id = "error";
}
return $id;
}
function reward($id, $type, $currentlevel, $owner){
include("config.php");
// This function determines if we are giving the user a reward or not...
$query = "SELECT * FROM ".$prefix."levels WHERE adoptiename='$type' and thisislevel='$currentlevel'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$rewarduser=@mysql_result($result,$i,"rewarduser");
$promocode=@mysql_result($result,$i,"promocode");
$i++;
}
if($rewarduser == "yes" and $promocode != ""){
// We are sending out a reward...
$mtitle = "You have received a reward!";
$mtext = "Congratulations! You have received a reward because one of your adoptables leveled up and the site admin has chosen to reward you for this.<br><br>
<b><u>Your reward is the following promo code:</u></b> ".$promocode."<br><br>
You may use this promo code on the <a href='promo.php?promocode=".$promocode."'>Promo Code Page</a> to receive a special exclusive or limited edition adoptable!<br><br>
Congratulations on your reward!";
$mtext = mysql_real_escape_string($mtext);
$date = date('Y-m-d');
$query = "INSERT INTO ".$prefix."messages VALUES ('', 'SYSTEM', '$owner','unread','$date','$mtitle', '$mtext')";
mysql_query($query);
// Now we check if we are sending out an email to the user alerting them of the message...
$query = "SELECT * FROM ".$prefix."users WHERE username='".$owner."'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$newmessagenotify=@mysql_result($result,$i,"newmessagenotify");
$email=@mysql_result($result,$i,"email");
$i++;
}
if($newmessagenotify == 1){
// We are sending this user an email about the new message...
$systememail = grabanysetting("systememail");
$headers = "From: ".$systememail."";
$site_name = grabanysetting("sitename");
$message = "Hello ".$owner.";\n\nYou have received a new Private Message from SYSTEM at ".$site_name." with the title ".$mtitle.".\n
You can read this message at: http://www.".$domain."".$scriptpath."/messages.php\n
Thank You. The ".$site_name." team.";
mail($email, $site_name." - You Have Received a Reward", $message, $headers);
}
}
return $rewardstatus;
}
function getadmimages(){
include("config.php");
$formcontent = "";
$query = "SELECT * FROM ".$prefix."filesmap";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < $num) {
$wwwpath=@mysql_result($result,$i,"wwwpath");
$friendlyname=@mysql_result($result,$i,"friendlyname");
$formcontent = $formcontent."<option value='".$wwwpath."'>".$friendlyname."</option>";
$i++;
}
return $formcontent;
}
function deleteuser($user){
include("config.php");
//This function deletes a user from the system...
$user = secure($user);
$query = "DELETE FROM ".$prefix."users WHERE username = '".$user."'";
$result = mysql_query($query);
$query = "DELETE FROM ".$prefix."owned_adoptables WHERE owner = '".$user."'";
$result = mysql_query($query);
}
function getads($page){
// Function to display site advertisements
include("config.php");
if($page == "any"){
$page = "";
}
$query = "SELECT * FROM ".$prefix."ads WHERE page = '".$page."' and status = 'active' ORDER BY RAND() LIMIT 1";
$result = @mysql_query($query);
$num = @mysql_numrows($result);
if($num > 0){
//Loop out code
$i=0;
while ($i < 1) {
$value=@mysql_result($result,$i,"text");
$value = stripslashes($value);
$aid=@mysql_result($result,$i,"id");
$actualimpressions=@mysql_result($result,$i,"actualimpressions");
$impressions=@mysql_result($result,$i,"impressions");
$i++;
}
if($impressions == ""){
$impressions = 0;
}
$actualimpressions = $actualimpressions + 1;
//Update the impressions count
$query = "UPDATE ".$prefix."ads SET actualimpressions='".$actualimpressions."' WHERE id='".$aid."'";
mysql_query($query);
//Check that ad is not over max impressions...
if ($actualimpressions >= $impressions and $impressions != 0){
$query = "UPDATE ".$prefix."ads SET status='inactive' WHERE id='".$aid."'";
mysql_query($query);
}
}
else{
$value = "";
}
return $value;
}
?>
Register.php
<?php
// ************************************************** ********************
// Rusnak PHP Adoptables Script
// Copyright 2009 Brandon Rusnak
// For help and support: http://www.rusnakweb.com/forum/
//
// Redistribution prohibited without written permission
// ************************************************** ********************
// Wake the sleeping giant
// ************************************************** ********************
// Basic Configuration Info
// ************************************************** ********************
include("inc/functions.php");
include("inc/config.php");
include("lang/lang.php");
$themeurl = grabanysetting("themeurl");
// ************************************************** ********************
// Define our top links by calling getlinks()
// ************************************************** ********************
$links = getlinks();
// ************************************************** ********************
// Define our ads by calling getads()
// ************************************************** ********************
$ads = getads("register");
// ************************************************** ********************
// Grab any dynamic article content from the content table
// ************************************************** ********************
$pagecontent = getsitecontent("index");
$article_title = $pagecontent[title];
$article_content = $pagecontent[content];
$article_content = nl2br($article_content);
// ************************************************** ********************
// Grab any settings that we will need for the current page from the DB
// ************************************************** ********************
$browsertitle = grabanysetting("browsertitle");
$sitename = grabanysetting("sitename");
$slogan = grabanysetting("slogan");
// ************************************************** ********************
// Check and see if the user is logged in to the site
// ************************************************** ********************
$loginstatus = logincheck();
$isloggedin = $loginstatus[loginstatus];
$loggedinname = $loginstatus[username];
// ************************************************** ********************
// End Prepwork - Output the page to the user
// ************************************************** ********************
if($isloggedin == "yes"){
$article_title = "You already have an account";
$article_content = "You already have an account, thus there is no need for you to register a new one.";
}
else{
//Grab the post data from the form
$username = $_POST["username"];
$pass1 = $_POST["pass1"];
$pass2 = $_POST["pass2"];
$email = $_POST["email"];
$tos = $_POST["tos"];
$hidden = $_POST["hidden"];
//Protect the database
$username = preg_replace("/[^a-zA-Z0-9\\040.]/", "", $username);
$username = secure($username);
$pass1 = secure($pass1);
$pass2 = secure($pass2);
$email = preg_replace("/[^a-zA-Z0-9@._-]/", "", $email);
$email = secure($email);
$tos = preg_replace("/[^a-zA-Z0-9s]/", "", $tos);
$hidden = preg_replace("/[^a-zA-Z0-9s]/", "", $hidden);
if($hidden != "goregister"){
//The form was not submitted, so we are showing the signup page...
$article_title = $regnew;
$article_content = $regnewexplain."<br><form name='form1' method='post' action='register.php'>
<p>Username: <input name='username' type='text' id='username' maxlength='20'></p>
<p>Your username may be up to 20 characters long and may only contain letters, numbers and spaces. </p>
<p>Password: <input name='pass1' type='password' id='pass1' maxlength='20'></p>
<p>Your password may be up to 20 characters long and may contain letters, numbers, spaces and special characters. The use of a special character, such as * or ! is recommended for increased security. </p>
<p>Confirm Password: <input name='pass2' type='password' id='pass2' maxlength='20'></p>
<p>Email Address: <input name='email' type='text' id='email'></p>
<p><input name='tos' type='checkbox' id='tos' value='yes'> I agree to the <a href='tos.php' target='_blank'>Terms of Service</a>.
<input name='hidden' type='hidden' id='hidden' value='goregister'></p>
<p><input type='submit' name='Submit' value='Register'>
</p></form>";
}
else{
//We are attempting to register the user...
//First MD5 hash the passwords:
$pass1 = md5($pass1);
$pass2 = md5($pass2);
//Next check that the username does not already exist...
$flag = 0;
$query = "SELECT * FROM ".$prefix."users WHERE username = '$username'";
$result = @mysql_query($query);
$num = @mysql_numrows($result);
if($num > 0){
$flag = 1;
}
//Now we verify that the email address is a valid email address...
$emailisvalid = "no";
if(eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
$emailisvalid = "yes";
}
//First check that something required was not left blank...
if($username == "" or $pass1 == "" or $pass2 == "" or $email == ""){
$article_title = "Error";
$article_content = $regblank;
}
else if($pass1 != $pass2){
//Passwords do not match
$article_title = "Your passwords do not match";
$article_content = $passnomatch;
}
else if($tos != "yes"){
//User did not agree to TOS
$article_title = "Terms of Service Error";
$article_content = $notos;
}
else if($flag > 0){
//Username already exists
$article_title = "Your username already exists";
$article_content = $userexists;
}
else if($emailisvalid != "yes"){
//Email address is not valid or is a fake
$article_title = "Email address is not valid";
$article_content = $emailinvalid;
}
else{
//All checks are done, actually create the user's account on the database
$date = date('Y-m-d');
mysql_query("INSERT INTO ".$prefix."users VALUES ('', '$username', '$pass1','$email','3','1', '$date', '0','','','','','','')");
//Now that we have created the user, let's log them in...
$status = dologin($username, $pass1);
if($status != "success"){
$article_title = "Something is Wrong!";
$article_content = "Something is very, very wrong. Please contact Rusnak PHP Scripts about this error.";
}
else{
//We are registered and logged in...
$article_title = $titleregsuccess;
$article_content = $regsuccess."".$username."".$regsuccess2;
//Reflect our changes in the sidebar...
$sidebar = "<b><u>Welcome ".$username."</u></b>:<br><a href='account.php'>Go to My Account</a><br><a href='adopt.php'>Adopt Some Pets</a>";
}
}
}
}
// ************************************************** ********************
// Begin Template Definition
// ************************************************** ********************
//Define our current theme
$file = $themeurl;
// Do the template changes and echo the ready template
$template = file_get_contents($file);
$template = replace(':ARTICLETITLE:',$article_title,$template) ;
$template = replace(':ARTICLECONTENT:',$article_content,$templ ate);
$template = replace(':ARTICLEDATE:',$article_date,$template);
$template = replace(':BROWSERTITLE:',$browsertitle,$template);
$template = replace(':SITENAME:',$sitename,$template);
//Define our links
$template = replace(':LINKSBAR:',$links,$template);
//Get the content for the side bar...
if($sidebar == ""){
$sidebar = getsidebar();
}
$template = replace(':SIDEFEED:',$sidebar,$template);
//Get the ad content...
$template = replace(':ADS:',$ads,$template);
//Get the slogan info
$template = replace(':SLOGAN:',$slogan,$template);
echo $template;
// ************************************************** ********************
// End Template Definition
// ************************************************** ********************
?>
BMR777
07-01-2009, 03:50 PM
If you check in your PHPMyAdmin in the adopts_users table is the new user account being created in the table?
BMR777
07-01-2009, 04:09 PM
What modifications have you installed / attempted to install? Usually the most common reason for this is a table column mismatch.
If you want you can PM me the table structure for your adopts_users table from PHPMyAdmin / database backup.
Brandon
By mismatch do you mean info going in the wrong tables? Because that did happen. Also there was a table with no info at all. And sending the PM.
BMR777
07-01-2009, 04:20 PM
Well, if the data is going into the wrong table then that's certainly an issue. What table is it going into? What do you have set as your table prefix in config.php?
It starts with the usernames going in age, the the rest of the info in the table before it. And the prefix is adopts_
BMR777
07-01-2009, 04:25 PM
I think the problem is that you added a new field to the users table for the user's age. You made it so that there is the right number of fields, but they're not in the right order. :)
Find:
mysql_query("INSERT INTO ".$prefix."users VALUES ('', '$username', '$pass1','$email','3','1', '$date', '0','','','','','','')");
Replace With:
mysql_query("INSERT INTO ".$prefix."users VALUES ('', "", '$username', '$pass1','$email','3','1', '$date', '0','','','','','')");
Try that and see if new users can register. Since you put the age field before the username field and your age table only allows 3 characters, all usernames were being cut to 3 characters, thus they could never log in. The fields also most certainly did not match up.
Try that and see if it works better. :)
Nope :([hr]
EDIT: Okay fixed now. There was an extra ,''. Thanks for the help :)
BMR777
07-01-2009, 05:03 PM
Glad it's working now. :)
Remember that the fields in the registration query must match what's in the database exactly. I'm sure this won't be the last time an issue like this is posted by someone here. :)
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.