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.