StreetSlayer Posted June 14, 2013 at 02:07 PM Report #512926 Posted June 14, 2013 at 02:07 PM (edited) Pessoal o meu site está com um problema gravissimo 😄 então não é que dá para registar no meu site com o mesmo login as vezes que eu quiser? e com o mesmo email as vezes que eu quiser? Deixo aqui o codigo de registo php. <?php require_once('Connections/ligacao.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } $editFormAction = $_SERVER['PHP_SELF']; if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); } if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "registo")) { $insertSQL = sprintf("INSERT INTO jogadores (username, password, nome, email, localidade, msn) VALUES (%s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['username'], "text"), GetSQLValueString($_POST['password'], "text"), GetSQLValueString($_POST['nome'], "text"), GetSQLValueString($_POST['email'], "text"), GetSQLValueString($_POST['localidade'], "text"), GetSQLValueString($_POST['msn'], "text")); mysql_select_db($database_ligacao, $ligacao); $Result1 = mysql_query($insertSQL, $ligacao) or die(mysql_error()); $insertGoTo = "registo_ok.php"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $insertGoTo)); } ?> <?php include("header.php"); ?> <div id="all-we-site" style="width: 900px; margin-left: auto; margin-right: auto;"> <!-- TOP BANNER --> <div id="top-banner" style="height: 30px; line-height: 30px;"> <?php include("login.php"); ?> </div> <!-- TOP LOGO BANNER --> <div id="top-logo-banner"> <img src="images/logo.png" style="cursor: pointer;"> <div id="newsletter"> <div style="text-align: right; font-size: 18px;">NEWSLETTER</div> <div style="font-size: 11px;">Recebe notícias, truques ou estratégias para seres o melhor na TLA Portugal.</div> <form method='POST' action='newsletter.php'> <div style="text-align: center;"><input style="width: 140px;" value="Inserir email" name='txt_email' onfocus="if (this.value == this.defaultValue){ this.value=''; }" onblur="if (this.value == ''){ this.value = this.defaultValue; }"> <button id="button" type='submit' name='btnOK'>Subscrever</button></div> </form> </div> </div> <!-- MENU --> <div id="dropmenu"> <?php include("menu.php"); ?> <div style="width: 85px; margin-right: 3px; text-align: right; height: 24px; line-height: 24px; float: right;"> <a target="_blank" href="http://translate.google.com/translate?sl=pt&tl=en&u=http://tlaportugal.com"><img border="0" src="images/1.jpg" width="16" height="11" alt="English"></a> <a target="_blank" href="http://translate.google.com/translate?sl=pt&tl=fr&u=http://tlaportugal.com"><img border="0" src="images/2.jpg" width="16" height="11" alt="French"></a> <a target="_blank" href="http://translate.google.com/translate?sl=pt&tl=es&u=http://tlaportugal.com"><img border="0" src="images/3.jpg" width="16" height="11" alt="Spanish"></a> <a href="http://tlaportugal.com/index.php"><img border="0" src="images/4.jpg" width="16" height="11" alt="Português"></a> </div> </div> <!-- CONTENT --> <div id="content"> <div style="margin-bottom: 5px;"> <!-- SLIDESHOW --> </div> <!-- LAST THINGS --> <div id="site-content"> <font size="3"><tr> <td height="25" bgcolor="#444f6f" class="texto_header"><b>Registo Jogador</b></font></td> </tr> </table> <table width="882" border="0" cellspacing="1" cellpadding="0"><br><br> <tr> <td align="center" valign="top"> <tr> <td align="left" class="texto_normal"><font size="2">Preencha os seguintes campos:</font><br> <form action="<?php echo $editFormAction; ?>" method="POST" name="registo" id="registo"> <table width="878" border="0" cellpadding="2" bgcolor="#FFFFFF" class="tabela"> <tr> <td width="107" height="25" align="left" bgcolor="#FFFFFF" class="titulo_cinza" bordercolor="#FFFFFF"> <p align="center"> </td> <td height="25" align="left" bgcolor="#FFFFFF" class="texto_normal" width="186" bordercolor="#800000"> <p> <font color="#000000"><b>Dados Conta</b></font></td> <td height="230" align="left" bgcolor="#FFFFFF" class="texto_normal" width="566" bordercolor="#800000" rowspan="9" valign="top"> <p align="justify"><font size="3"><b>Regras Gerais</b></font> <br> <br> <strong><font size="2">a)</font></strong><font size="2"> Nunca deve insultar os restantes utilizadores, assim como não deverá utilizar palavrões ou palavras menos próprias de uma boa educação;<br> <strong>b)</strong> Não é permitido a venda / publicidade de qualquer produto, a não ser que isso se justifique.<br> <strong>c)</strong> Não é permitida a promoção de actividades ilegais, tais como a pirataria, doping e droga.<br> <strong>d)</strong> A pornografia não deve ser promovida no fórum, esta pode não agradar a muitos utilizadores e nomeadamente a utilizadoras, que não nos admira que sejam menos por estarem constantemente sujeitas a assédio e pornografia por parte dos demais utilizadores. Do mesmo modo, podem encontrar-se menores no fórum, o que não se pode considerar ideal para a sua formação.<br> <strong>e)</strong> A TLAPortugal reserva-se ao direito de recusar qualquer registo.<br> <br> </font><strong><font size="2">Acima de tudo.. respeite e seja respeitado !</font></strong></td> </tr> <tr> <td width="107" height="25" align="left" valign="middle" class="titulo2"> <font size="2">Username</font></td> <td height="25" align="left" valign="middle" class="texto_normal" width="186"><label> <input name="username" type="text" class="input" id="username" size="20"></label></td> </tr> <tr> <td width="107" height="25" align="left" valign="middle" class="titulo2"> <font size="2">Password</font></td> <td height="25" align="left" valign="middle" class="texto_normal" width="186"><label> <input name="password" type="password" class="input" id="password" size="20"></label></td> </tr> <tr> <td width="107" height="25" align="left" bgcolor="#FFFFFF" class="titulo_cinza"> <p align="center"> </td> <td height="25" align="left" bgcolor="#FFFFFF" class="texto_normal" width="186"> <p align="justify"> <font color="#000000"><b>Dados Pessoais</b></font></td> </tr> <tr> <td height="25" align="left" valign="middle" class="titulo2"> <font size="2">Nome</font></td> <td height="25" align="left" valign="middle" class="texto_normal" width="186"><label> <input name="nome" type="text" class="input" id="nome" size="20"></label></td> </tr> <tr> <td height="25" align="left" valign="middle" class="titulo2"> <font size="2">E-Mail</font></td> <td height="25" align="left" valign="middle" class="texto_normal" width="186"><label> <input name="email" type="text" class="input" id="email" size="20"></label></td> </tr> <tr> <td height="25" align="left" valign="middle" class="titulo2"> <font size="2">Localidade</font></td> <td height="25" align="left" valign="middle" class="texto_normal" width="186"><label> <input name="localidade" type="text" class="input" id="localidade" size="20"></label></td> </tr> <tr> <td height="25" align="left" valign="middle" class="titulo2"> <font size="2">MSN</font></td> <td height="25" align="left" valign="middle" class="texto_normal" width="186"><label> <input name="msn" type="text" class="input" id="msn" size="20"></label></td> </tr> <tr> <td height="30" align="left" valign="middle" bgcolor="#FFFFFF" class="titulo2"> </td> <td height="30" align="left" valign="middle" bgcolor="#FFFFFF" class="texto_normal" width="186"><label> <input name="button" type="submit" class="botao" id="button" value="Efectuar Registo"></label></td> </tr> <tr> <td height="30" align="left" valign="middle" bgcolor="#FFFFFF" class="titulo2" colspan="3"> <font size="2">Todos os campos são de preenchimento obrigatório.</font></td> </tr> </table> <input type="hidden" name="MM_insert" value="registo"> </form> <p> </p></td> </tr> </table></td> </tr> </table> <br> </div></td> </div> <!-- PUB BANNER --> <?php include("pubbanner.php"); ?> <!-- FOOTER BANNER --> <div id="footer-banner"> <?php include("footer.php"); ?> </div> </div> </body> </html> <script type="text/javascript"> var menu=new menu.dd("menu"); menu.init("menu","menuhover"); </script> Edited June 14, 2013 at 05:17 PM by yoda
bioshock Posted June 14, 2013 at 03:09 PM Report #512949 Posted June 14, 2013 at 03:09 PM Então e qual é o problema? Crias uma função que, antes de inserir um utilizador, verifica se o mesmo já existe. http://stuffpinho.com/php-the-way-mysqli-works-part-3-queries/
brunoais Posted June 15, 2013 at 08:06 AM Report #513082 Posted June 15, 2013 at 08:06 AM Quantas vezes é que vou precisar de avisar que o dreamweaver só gera código difícil de ler e um tanto confuso para além de usar o mysql_* que já está em deprecation phase!?!?! Porque é que não aprendem e fazem este tipo de coisa por vocês próprios? 1 Report "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
StreetSlayer Posted June 15, 2013 at 09:20 PM Author Report #513194 Posted June 15, 2013 at 09:20 PM Sinceramente desculpa la', mas não fui eu que fiz o code :> alias não percebo nada de php! So' precisava de uma ajudinha. Não e' preciso responder dessa maneira! Mas prontos, eu depois arranjo uma pessoa que me ajude. Alias ate' pensei que este forum fosse para ajudar o pessoal mas ja' vi que me enganei! ate' ja'
vitorpegas Posted June 15, 2013 at 10:16 PM Report #513198 Posted June 15, 2013 at 10:16 PM (edited) StreetSlayer não ligues... Não percebo muito do teu código, nunca fiz as coisas com esses métodos mas posso-te dizer que basta fazeres: $user = $_POST["username"]; //o input de registo de username $userCheck = mysql_query("SELECT `username` FROM `tabela` WHERE `username` = '$user'"); if($userCheck) //User already exists else //Good to go Está e a maneira como eu faço nos meus jogos de browser e sites com registo, funciona 100% 🙂 Boa sorte. Edited June 15, 2013 at 10:19 PM by yoda
HappyHippyHippo Posted June 15, 2013 at 10:20 PM Report #513200 Posted June 15, 2013 at 10:20 PM StreetSlayer não ligues... Não percebo muito do teu código, nunca fiz as coisas com esses métodos mas posso-te dizer que basta fazeres: $user = $_POST["username"]; //o input de registo de username $userCheck = mysql_query("SELECT `username` FROM `tabela` WHERE `username` = '$user'"); if($userCheck) //User already exists else //Good to go Está e a maneira como eu faço nos meus jogos de browser e sites com registo, funciona 100% 🙂 Boa sorte. vais ter de alterar o teu código o mysql_query retorna um recordset (assumindo que o SQL é válido), existindo o utilizador ou não. o que irá validar sempre a condição do if o que terás de fazer é verificar se o recordset contem um ou mais registos com a função mysql_num_rows IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
I-NOZex Posted June 15, 2013 at 10:25 PM Report #513201 Posted June 15, 2013 at 10:25 PM Sinceramente desculpa la', mas não fui eu que fiz o code :> alias não percebo nada de php! So' precisava de uma ajudinha. Não e' preciso responder dessa maneira! Mas prontos, eu depois arranjo uma pessoa que me ajude. Alias ate' pensei que este forum fosse para ajudar o pessoal mas ja' vi que me enganei! ate' ja' é mesmo por te ajudarmos que dizemos estas coisas, dreamweaver para trabalhar php é do pior, usa notepad++ ou pspad...se simplesmente dizes que nao sabes php, tenta aprender mais 😉 w3schools, php.net, youtube... tudo serve, se eu e muitos outros conseguimos, tbm tu consegues 😉 B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
vitorpegas Posted June 16, 2013 at 10:37 AM Report #513224 Posted June 16, 2013 at 10:37 AM vais ter de alterar o teu código o mysql_query retorna um recordset (assumindo que o SQL é válido), existindo o utilizador ou não. o que irá validar sempre a condição do if o que terás de fazer é verificar se o recordset contem um ou mais registos com a função mysql_num_rows Sim, eu depois de ter escrito reparei. Eu tenho uma function que ao dar o username faz: $playerInfo = mysql_fetch_array( mysql_query("SELECT * FROM `user` WHERE `Username` = '$player'")); return $playerInfo; e depois basta fazer $userCheck = Function($username); e ai sim pode-se fazer if($userCheck) porque esta variavel irá conter a array de informação vinda da base de dados 😄 Obrigado por apontares o erro 😉 é mesmo por te ajudarmos que dizemos estas coisas, dreamweaver para trabalhar php é do pior, usa notepad++ ou pspad... se simplesmente dizes que nao sabes php, tenta aprender mais w3schools, php.net, youtube... tudo serve, se eu e muitos outros conseguimos, tbm tu consegues Eu usava o dreamweaver mas começei a ficar irritado com o intelisense e passei de volta para o notepad++ 🙂 Quem sabe o código deve escreve-lo de cabeça e não com ajuda 😛
I-NOZex Posted June 16, 2013 at 10:41 AM Report #513225 Posted June 16, 2013 at 10:41 AM claro, essas ajudas apenas servem para dar um impluso na velocidade de desenvolvimento do codigo ne (: e sempre elucida a memoria, pois por vezes ficamos uns tempos sem programar... mas se bem me lembro o notepad++ tambem tem autocomplete, se configurares como deve de ser (: eu gosto do rapid php poque se integra alem de outras, com a framework yii que por vezes da sempre jeito essa interligaçao B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
vitorpegas Posted June 16, 2013 at 04:20 PM Report #513256 Posted June 16, 2013 at 04:20 PM claro, essas ajudas apenas servem para dar um impluso na velocidade de desenvolvimento do codigo ne (: e sempre elucida a memoria, pois por vezes ficamos uns tempos sem programar... mas se bem me lembro o notepad++ tambem tem autocomplete, se configurares como deve de ser (: eu gosto do rapid php poque se integra alem de outras, com a framework yii que por vezes da sempre jeito essa interligaçao Não sei se tem :O Nunca vi 😛
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now