Ir para conteúdo

Featured Replies

Postado

Website Baiak

Boa Tarde Pessoal.

 

Estou com problema de criação de conta no Website, quando adiciono todos os campos , Conta, E-mail, Senha, etc. depois  concluir (I Agree) no botão.

ele carrega a pagina http://localhost/?subtopic=createaccount&action=saveaccount , vou consutar na tabela do meu banco de dados MySQL não consta nada.

vou tentar logar com a conta no site informa que não tem cadastrado.

Você tem o código disponível? Se tiver publique-o aqui:

<?php
if(!defined('INITIALIZED'))
	exit;

//CRIAR PÁGINA DE FORMULÁRIO DE CONTA
if($action == "")
{
	$main_content .= '<script type="text/javascript">

var accountHttp;

function checkAccount()
{
	if(document.getElementById("account_name").value=="")
	{
		document.getElementById("acc_name_check").innerHTML = \'<b><font color="red">Por favor, digite o nome da conta.</font></b>\';
		return;
	}
	accountHttp=GetXmlHttpObject();
	if (accountHttp==null)
	{
		return;
	}
	var account = document.getElementById("account_name").value;
	var url="?subtopic=ajax_check_account&account=" + account + "&uid="+Math.random();
	accountHttp.onreadystatechange=AccountStateChanged;
	accountHttp.open("GET",url,true);
	accountHttp.send(null);
} 

function AccountStateChanged() 
{ 
	if (accountHttp.readyState==4)
	{ 
		document.getElementById("acc_name_check").innerHTML=accountHttp.responseText;
	}
}

var emailHttp;

//sprawdza czy dane konto istnieje czy nie
function checkEmail()
{
	if(document.getElementById("email").value=="")
	{
		document.getElementById("email_check").innerHTML = \'<b><font color="red">Por favor insira e-mail.</font></b>\';
		return;
	}
	emailHttp=GetXmlHttpObject();
	if (emailHttp==null)
	{
		return;
	}
	var email = document.getElementById("email").value;
	var url="?subtopic=ajax_check_email&email=" + email + "&uid="+Math.random();
	emailHttp.onreadystatechange=EmailStateChanged;
	emailHttp.open("GET",url,true);
	emailHttp.send(null);
} 

function EmailStateChanged() 
{
	if (emailHttp.readyState==4)
	{
		document.getElementById("email_check").innerHTML=emailHttp.responseText;
	}
}

	function validate_required(field,alerttxt)
	{
		with (field)
			{
			if (value==null||value==""||value==" ")
			{
				alert(alerttxt);
				return false;
			}
			else
			{
				return true;
			}
		}
	}

	function validate_email(field,alerttxt)
	{
		with (field)
		{
			apos=value.indexOf("@");
			dotpos=value.lastIndexOf(".");
			if (apos<1||dotpos-apos<2) 
			{
				alert(alerttxt);
				return false;
			}
			else
			{
				return true;
			}
		}
	}

	function validate_form(thisform)
	{
		with (thisform)
		{
			if(validate_required(account_name,"Por favor, digite o numero da nova conta!")==false)
			{
				account_name.focus();
				return false;
			}
			if(validate_required(email,"Por favor introduza o seu e-mail!")==false)
			{
				email.focus();
				return false;
			}
			if(validate_email(email,"Formato de email inválido!")==false)
			{
				email.focus();
				return false;
			}
			if(verifpass==1)
			{
				if(validate_required(passor,"Por favor, insira a senha!")==false)
				{
					passor.focus();
					return false;
				}
				if (validate_required(passor2,"Por favor, repita a senha!")==false)
				{
					passor2.focus();
					return false;
				}
				if(passor2.value!=passor.value)
				{
					alert(\'Senha repetida não é igual a senha!\');
					return false;
				}
			}
			if(verifya==1)
			{
				if (validate_required(verify,"Por favor insira o código de verificação!")==false)
				{
					verify.focus();return false;
				}
			}
			if(rules.checked==false)
			{
				alert(\'Para criar uma conta, você deve aceitar as regras do servidor!\');
				return false;
			}
		}
	}
	</script>';
	$main_content .= 'Para jogar '.htmlspecialchars($config['server']['serverName']).' você precisa de uma conta.<BR><BR>
						<FORM ACTION="?subtopic=createaccount&action=saveaccount" onsubmit="return validate_form(this)" METHOD=post>
						<TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4>
						<TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Criar uma Conta no '.htmlspecialchars($config['server']['serverName']).'</B></TD></TR>
						<TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><TABLE BORDER=0 CELLSPACING=8 CELLPADDING=0>
						  <TR><TD>
						    <TABLE BORDER=0 CELLSPACING=5 CELLPADDING=0>';
	$main_content .= '<TR><TD width="150" valign="top"><B>Numero Conta: </B></TD><TD colspan="2"><INPUT id="account_name" NAME="reg_name" onkeyup="checkAccount();" VALUE="" SIZE=30 MAXLENGTH=50><BR><font size="1" face="verdana,arial,helvetica">(Digite o numero Conta (até 8 numeros)</font></TD></TR>
					  <TR><TD width="150"><b>Numero status:</b></TD><TD colspan="2"><b><div id="acc_name_check">Por favor insira o numero da sua conta.</div></b></TD></TR>
					<TR><TD width="150" valign="top"><B>Endereço de e-mail: </B></TD><TD colspan="2"><INPUT id="email" NAME="reg_email" onkeyup="checkEmail();" VALUE="" SIZE=30 MAXLENGTH=50><BR><font size="1" face="verdana,arial,helvetica">(Seu endereço de e-mail é necessário para recuperar account '.htmlspecialchars($config['server']['serverName']).')</font></TD></TR>
					  <TR><TD width="150"><b>Email status:</b></TD><TD colspan="2"><b><div id="email_check">Por favor introduza o seu e-mail.</div></b></TD></TR>';
	if(!$config['site']['create_account_verify_mail'])
	$main_content .= '<script type="text/javascript">var verifpass=1;</script>
						<TR><TD width="150" valign="top"><B>Senha: </B></TD><TD colspan="2"><INPUT TYPE="password" id="passor" NAME="reg_password" VALUE="" SIZE=30 MAXLENGTH=50><BR><font size="1" face="verdana,arial,helvetica">(Preencha sua senha para uma nova conta '.htmlspecialchars($config['server']['serverName']).')</font></TD></TR>
					  <TR><TD width="150" valign="top"><B>Repetir Senha: </B></TD><TD colspan="2"><INPUT TYPE="password" id="passor2" NAME="reg_password2" VALUE="" SIZE=30 MAXLENGTH=50><BR><font size="1" face="verdana,arial,helvetica">(Repita sua senha)</font></TD></TR>';
	else
		$main_content .= '<script type="text/javascript">var verifpass=0;</script>';
	if($config['site']['verify_code'])
		$main_content .= '<script type="text/javascript">var verifya=1;</script><TR><TD width="150"><B>Código: </B></TD><TD colspan="2"><img src="?subtopic=imagebuilder&image_refresher='.mt_rand(1,99999).'" border="0" alt="Image Verification is missing, please contact the administrator"></TD></TR>
						  <TR><TD width="150" valign="top"><B>Verificação Código: </B></TD><TD colspan="2"><INPUT id="verify" NAME="reg_code" VALUE="" SIZE=30 MAXLENGTH=50><BR><font size="1" face="verdana,arial,helvetica">(Escrever aqui o código de verificação da imagem)</font></TD></TR>';
	else
		$main_content .= '<script type="text/javascript">var verifya=0;</script>';
	$main_content .= '</TABLE>
					  </TD></TR>
					  <TR><TD>
					    <TABLE BORDER=0 CELLSPACING=5 CELLPADDING=0><TR><TD>
						Por favor, reveja os seguintes termos e declare o seu acordo abaixo.
					    </TD></TR>
					    <TR><TD>
					      <B>Termo do Otserver '.htmlspecialchars($config['server']['serverName']).'</B><BR>
					      <TEXTAREA ROWS="7" WRAP="physical" COLS="85" READONLY="true">';
	//Carregar regras do servidor a partir do arquivo
	include("pages/tibiarules.php");
	$main_content .= '</TEXTAREA>
					    </TD></TR></TABLE>
					  </TD></TR>
					  <TR><TD>
					    <TABLE BORDER=0 CELLSPACING=5 CELLPADDING=0>
					    <TR><TD>
					      <INPUT TYPE="checkbox" NAME="rules" id="rules" value="true" /><label for="rules"><u> Eu concordo com o Termo '.htmlspecialchars($config['server']['serverName']).'.</u></lable><BR>
					    </TD></TR>
					    <TR><TD><br>
						Se você concorda plenamente com este termo, clique no botão "Eu concordo", a fim de criar um conta '.htmlspecialchars($config['server']['serverName']).'<BR>
						Se você não concordar com estes termos ou não quiser criar uma conta '.htmlspecialchars($config['server']['serverName']).',por favor clique no botão "Cancelar".
					    </TD></TR></TABLE>
					  </TD></TR>
					</TABLE></TD></TR>
					</TABLE>
					<BR>
					<TABLE BORDER=0 WIDTH=100%>
					  <TR><TD ALIGN=center>
					    <IMG SRC="'.$layout_name.'/images/blank.gif" WIDTH=120 HEIGHT=1 BORDER=0><BR>
					  </TD><TD ALIGN=center VALIGN=top>
					    <INPUT TYPE=image NAME="I Agree" SRC="'.$layout_name.'/images/buttons/sbutton_iagree.gif" BORDER=0 WIDTH=120 HEIGHT=18>
					    </FORM>
					  </TD><TD ALIGN=center>
					    <FORM  ACTION="?subtopic=latestnews" METHOD=post>
					    <INPUT TYPE=image NAME="Cancel" SRC="'.$layout_name.'/images/buttons/sbutton_cancel.gif" BORDER=0 WIDTH=120 HEIGHT=18>
					    </FORM>
					  </TD><TD ALIGN=center>
					    <IMG SRC="/images/blank.gif" WIDTH=120 HEIGHT=1 BORDER=0><BR>
					  </TD></TR>
					</TABLE>
					</TD>
					<TD><IMG SRC="'.$layout_name.'/images/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD>
					</TR>
					</TABLE>';
}
//CRIAR PÁGINA DE CONTA (salvar conta no banco de dados)
if($action == "saveaccount")
{
	$reg_name = strtoupper(trim($_POST['reg_name']));
	$reg_email = trim($_POST['reg_email']);
	$reg_password = trim($_POST['reg_password']);
	$reg_code = trim($_POST['reg_code']);
	//PRIMEIRA Checagem
	//Checagem e-mail
	if(empty($reg_name))
		$reg_form_errors[] = "Por favor, insira o numero da conta.";
	elseif(!check_account_name($reg_name))
		$reg_form_errors[] = "Formato de conta inválido. Use apenas numeros 0-9.";
	if(empty($reg_email))
		$reg_form_errors[] = "Por favor, indique o seu endereço de e-mail.";
	else
	{
		if(!check_mail($reg_email))
			$reg_form_errors[] = "O endereço de e-mail não está correto.";
	}
	if($config['site']['verify_code'])
	{
		//checagem verificação código
		$string = strtoupper($_SESSION['string']);
		$userstring = strtoupper($reg_code);
		session_destroy();
		if(empty($string))
			$reg_form_errors[] = "As informações sobre o código de verificação na sessão estão vazias.";
		else
		{
			if(empty($userstring))
				$reg_form_errors[] = "Por favor, insira o código de verificação.";
			else
			{
				if($string != $userstring)
					$reg_form_errors[] = "O código de verificação está incorreto.";
			}
		}
	}
	//checagem senha
	if(empty($reg_password) && !$config['site']['create_account_verify_mail'])
		$reg_form_errors[] = "Por favor, digite a senha para sua nova conta.";
	elseif(!$config['site']['create_account_verify_mail'])
	{
		if(!check_password($reg_password))
			$reg_form_errors[] = "Senha contém caracteres ilegais (a-z, A-Z e 0-9 só!) ou comprimento.";
	}
	//SEGUNDA Checagem
	//checagem do endereço e-mail a database
	if(empty($reg_form_errors))
	{
		if($config['site']['one_email'])
		{
			$test_email_account = new Account();
			//carregar conta com este e-mail
			$test_email_account->findByEmail($reg_email);
			if($test_email_account->isLoaded())
				$reg_form_errors[] = "Conta com este endereço de e-mail já existe em nosso banco de dados.";
		}
		$account_db = new Account();
		$account_db->find($reg_name);
		if($account_db->isLoaded())
			$reg_form_errors[] = 'Conta com este numero já existe.';
	}
	// ----------Criar Conta-------------(salva no database)
	if(empty($reg_form_errors))
	{
		//criar objeto 'conta' e gerar novos acessos número.
		if($config['site']['create_account_verify_mail'])
		{
			$reg_password = '';
			for ($i = 1; $i <= 6; $i++)
				$reg_password .= mt_rand(0,9);
		}
		$reg_account = new Account();
		// salva informações da conta no banco de dados
		$reg_account->setName($reg_name);
		$reg_account->setPassword($reg_password);
		$reg_account->setEMail($reg_email);
		$reg_account->setGroupID(1);
		$reg_account->setCreateDate(time());
		$reg_account->setCreateIP(Visitor::getIP());
		$reg_account->setFlag(Website::getCountryCode(long2ip(Visitor::getIP())));
		if(isset($config['site']['newaccount_premdays']) && $config['site']['newaccount_premdays'] > 0)
		{
			$reg_account->set("premdays", $config['site']['newaccount_premdays']);
			$reg_account->set("lastday", time());
		}
		$reg_account->save();
		//mostrar informações sobre registro
		if($config['site']['send_emails'] && $config['site']['create_account_verify_mail'])
		{
			$mailBody = '<html>
			<body>
			<h3>O numero da sua conta e senha!</h3>
			<p>Você ou outra pessoa registrada no servidor <a href="'.$config['server']['url'].'"><b>'.htmlspecialchars($config['server']['serverName']).'</b></a> com este e-mail.</p>
			<p>Numero Conta: <b>'.htmlspecialchars($reg_name).'</b></p>
			<p>Senha: <b>'.htmlspecialchars(trim($reg_password)).'</b></p>
			<br />
			<p>Após o login você pode:</p>
			<li>Crie novos personagens
			<li>Mude sua senha atual
			<li>Alterar seu e-mail atual
			</body>
			</html>';
			$mail = new PHPMailer();
			if ($config['site']['smtp_enabled'])
			{
				$mail->IsSMTP();
				$mail->Host = $config['site']['smtp_host'];
				$mail->Port = (int)$config['site']['smtp_port'];
				$mail->SMTPAuth = $config['site']['smtp_auth'];
				$mail->Username = $config['site']['smtp_user'];
				$mail->Password = $config['site']['smtp_pass'];
			}
			else
				$mail->IsMail();
			$mail->IsHTML(true);
			$mail->From = $config['site']['mail_address'];
			$mail->AddAddress($reg_email);
			$mail->Subject = $config['server']['serverName']." - Cadastrado";
			$mail->Body = $mailBody;
			if($mail->Send())
			{
				$main_content .= 'Sua conta foi criada. Verifique seu e-mail. Vejo você no Tibia!<BR><BR>';
				$main_content .= '<TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4>
				<TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Conta criada</B></TD></TR>
				<TR><TD BGCOLOR="'.$config['site']['darkborder'].'">
				  <TABLE BORDER=0 CELLPADDING=1><TR><TD>
				    <BR>O numero da sua conta é <b>'.$reg_name.'</b>.
					<BR><b><i>Você receberá e-mail (<b>'.htmlspecialchars($reg_email).'</b>) com sua senha.</b></i><br>';
				$main_content .= 'Você precisará do nome da conta e sua senha para jogar '.htmlspecialchars($config['server']['serverName']).'.
				Por favor, mantenha seu numero de conta e senha em um local seguro e
				nunca dê seu numero de conta ou senha para ninguém.<BR><BR>';
				$main_content .= '<br /><small>Estas informações foram enviadas no endereço de e-mail <b>'.htmlspecialchars($reg_email).'</b>. Por favor, verifique sua caixa de entrada / pasta de spam.';
			}
			else
			{
				$main_content .= '<br /><small>Ocorreu um erro durante o envio de email! Conta não criada. Tente novamente.</small>';
				$reg_account->delete();
			}
		}
		else
		{
			$main_content .= 'Sua conta foi criada. Agora você pode entrar e criar seu primeiro personagem. Vejo você no Tibia!<BR><BR>';
			$main_content .= '<TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4>
			<TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Conta criada</B></TD></TR>
			<TR><TD BGCOLOR="'.$config['site']['darkborder'].'">
			  <TABLE BORDER=0 CELLPADDING=1><TR><TD>
			    <BR>O numero da sua conta é <b>'.htmlspecialchars($reg_name).'</b><br>Você precisará do numero da conta e sua senha para jogar '.htmlspecialchars($config['server']['serverName']).'.
			    Por favor, mantenha seu numero de conta e senha em um local seguro e
			    nunca dê seu numero de conta ou senha para ninguém.<BR><BR>';
			if($config['site']['send_emails'] && $config['site']['send_register_email'])
			{
				$mailBody = '<html>
				<body>
				<h3>O numero da sua conta e senha!</h3>
				<p>Você ou outra pessoa registrada no servidor <a href="'.$config['server']['url'].'"><b>'.htmlspecialchars($config['server']['serverName']).'</b></a> com este e-mail.</p>
				<p>Numero da conta: <b>'.htmlspecialchars($reg_name).'</b></p>
				<p>Senha: <b>'.htmlspecialchars(trim($reg_password)).'</b></p>
				<br />
				<p>Após o login você pode:</p>
				<li>Crie novos personagens
				<li>Mude sua senha atual
				<li>Alterar seu e-mail atual
				</body>
				</html>';
				$mail = new PHPMailer();
				if ($config['site']['smtp_enabled'])
				{
					$mail->IsSMTP();
					$mail->Host = $config['site']['smtp_host'];
					$mail->Port = (int)$config['site']['smtp_port'];
					$mail->SMTPAuth = $config['site']['smtp_auth'];
					$mail->Username = $config['site']['smtp_user'];
					$mail->Password = $config['site']['smtp_pass'];
				}
				else
					$mail->IsMail();
				$mail->IsHTML(true);
				$mail->From = $config['site']['mail_address'];
				$mail->AddAddress($reg_email);
				$mail->Subject = $config['server']['serverName']." - Cadastrado";
				$mail->Body = $mailBody;
				if($mail->Send())
					$main_content .= '<br /><small>Estas informações foram enviadas no endereço de e-mail <b>'.htmlspecialchars($reg_email).'</b>.';
				else
					$main_content .= '<br /><small>Ocorreu um erro durante o envio de email (<b>'.htmlspecialchars($reg_email).'</b>)!</small>';
			}
		}
		$main_content .= '</TD></TR></TABLE></TD></TR></TABLE><BR><BR>';
	}
	else
	{
		//MOSTRAR ERROS se os dados do formulário estiverem errados
		$main_content .= '<div class="SmallBox" >  <div class="MessageContainer" >    <div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif);" /></div>    <div class="BoxFrameEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>    <div class="BoxFrameEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>    <div class="ErrorMessage" >      <div class="BoxFrameVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></div>      <div class="BoxFrameVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></div>      <div class="AttentionSign" style="background-image:url('.$layout_name.'/images/content/attentionsign.gif);" /></div><b>Os seguintes erros aconteceram:</b><br/>';
		foreach($reg_form_errors as $show_msg)
		{
					$main_content .= '<li>'.$show_msg.'</li>';
		}
		$main_content .= '</div>    <div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif);" /></div>    <div class="BoxFrameEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>    <div class="BoxFrameEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>  </div></div><br/>
		<BR>
		<CENTER>
		<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><FORM ACTION=?subtopic=createaccount METHOD=post><TR><TD>
		<INPUT TYPE=hidden NAME=email VALUE="">

		<INPUT TYPE=image NAME="Back" ALT="Back" SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" BORDER=0 WIDTH=120 HEIGHT=18>
		</TD></TR></FORM></TABLE>
		</CENTER>';
	}
}

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.

tela1.jpg

tela2.jpg

Editado por richardtavares (veja o histórico de edições)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.8k

Informação Importante

Confirmação de Termo