Ricard0 0 Denunciar post Postado Dezembro 13, 2015 Olá pessoal, estou tentando fazer com que uma conta nova seja criada apenas se o login e o email não esteja em uso mas não obtive resultado. Tinha tentado fazer um select e depois fiz um if/else para caso tenha resultados aparecer uma mensagem de erro, caso não, cadastrar o usuário mas não funcionou.. Segue meu código (tirei o que eu havia feito): <?php $servername = "localhost"; $username = "usuario"; $password = "senha"; $dbname = "db"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } if(!empty($_POST)) { $login = trim($_POST['login']); $senha = trim($_POST['senha']); $email = trim($_POST['email']); $link = trim($_POST['link']); $nome = trim($_POST['nome']); $descricao = trim($_POST['descricao']); $rates = trim($_POST['rates']); $banner = trim($_POST['banner']); $sql = "INSERT INTO servidores (login, senha, email, link, nome, descricao, rates, banner) VALUES ('$login', '$senha', '$email', '$link', '$nome', '$descricao', '$rates', '$banner')"; if ($conn->query($sql) === TRUE) { echo "<div class=\"col-md-6 col-md-offset-3\"> <div class=\"alert alert-success text-center\">Cadastro realizado com sucesso, faça o login!</div>"; } else { echo "<div class=\"col-md-5 col-md-offset-4\"> <div class=\"alert alert-danger text-center\">Houve um erro no envio dos dados, tente novamente mais tarde.</div>"; } } $conn->close(); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Wesley Inacio 6 Denunciar post Postado Dezembro 13, 2015 num_rows. Compartilhar este post Link para o post Compartilhar em outros sites
Ricard0 0 Denunciar post Postado Dezembro 13, 2015 Como eu disse no post, tentei fazer assim e não obtive resultado. Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Dezembro 13, 2015 Recoloque a parte do if/else e vamos trabalhar nisto. Compartilhar este post Link para o post Compartilhar em outros sites
Ricard0 0 Denunciar post Postado Dezembro 13, 2015 Tentei refazer de outro jeito, sem resultados hahaha: <?php $servername = "localhost"; $username = ""; $password = ""; $dbname = ""; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } if(!empty($_POST)) { $login = trim($_POST['login']); $senha = trim($_POST['senha']); $email = trim($_POST['email']); $link = trim($_POST['link']); $nome = trim($_POST['nome']); $descricao = trim($_POST['descricao']); $rates = trim($_POST['rates']); $banner = trim($_POST['banner']); if($result_premium = $db->query("SELECT login, email FROM servidores WHERE login = '$login' AND email = '$email'")){ if($result_premium->num_rows){ while($row_premium = $result_premium->fetch_object()){ echo "<div class=\"col-md-5 col-md-offset-4\"> <div class=\"alert alert-danger text-center\">Nome/email em uso.</div> </div>"; } }else{ $sql = "INSERT INTO servidores (login, senha, email, link, nome, descricao, rates, banner) VALUES ('$login', '$senha', '$email', '$link', '$nome', '$descricao', '$rates', '$banner')"; if ($conn->query($sql) === TRUE) { echo "<div class=\"col-md-6 col-md-offset-3\"> <div class=\"alert alert-success text-center\">Cadastro realizado com sucesso, faça o login!</div> </div>"; } else { //echo "Error: " . $sql . "<br>" . $conn->error; echo "<div class=\"col-md-5 col-md-offset-4\"> <div class=\"alert alert-danger text-center\">Houve um erro no envio dos dados, tente novamente mais tarde.</div> </div>"; } } } } $conn->close(); ?> Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Dezembro 13, 2015 $result_premium = $db->query("SELECT login, email FROM servidores WHERE login = '$login' OR email = '$email' LIMIT 1"); if($result_premium->num_rows != '0'){ echo "<div class=\"col-md-5 col-md-offset-4\"> <div class=\"alert alert-danger text-center\">Nome/email em uso.</div> </div>"; }else{ // faz cadastro } Compartilhar este post Link para o post Compartilhar em outros sites
Ricard0 0 Denunciar post Postado Dezembro 13, 2015 Não funcionou, agora não cadastra nem se não existir o login/email ainda.. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Dezembro 13, 2015 Criei uma PRIMARY KEY também como garantia adicional. https://dev.mysql.com/doc/refman/5.5/en/optimizing-primary-keys.html Compartilhar este post Link para o post Compartilhar em outros sites
Ricard0 0 Denunciar post Postado Dezembro 14, 2015 Ta dando esse warning no log de erros, será que tem algo a ver? Headers and client library minor version mismatch. Headers:50540 Library:50627 Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Dezembro 14, 2015 Ricardo, você conseguiu entender a lógica que eu apliquei ou só copiou/colou e voltou aqui para dar a chorada básica? Como ficou o script APÓS a alteração? Debugou a query para ver se tem algum erro nela? Compartilhar este post Link para o post Compartilhar em outros sites
Ricard0 0 Denunciar post Postado Dezembro 14, 2015 Já consegui, obrigado. Tinha a ver com a mensagem de erro, eu estava utilizando bibliotecas do php 6.2 enquanto o php no meu servidor está na versão 5.4. Compartilhar este post Link para o post Compartilhar em outros sites