Jump to content
paulojakie

meu script simplesmente parou de funcionar

Recommended Posts

seguinte galera sou iniciante em php e to criando um site pra cadastro de usuarios so pra aprender, so que meu codigo parou de funcionar alguem tem alguma ideia do que seja, na pagina so fala Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\cadastro.php on line 9 

meu codigo:

 

<?php 
$login = ($_POST['login']);
$senha = MD5($_POST['senha']);
$connect = mysqli_connect('localhost','root','','test');
if(!$connect){
    echo "Não obteve exito na conexão"; //Se a conexão não for realizada com sucesso, retornamos uma mensagem de erro
}
$sql = "INSERT INTO usuarios (login,senha) VALUES ('$login','$senha')"; 
mysqli_query($sql);
?>

Share this post


Link to post
Share on other sites

 

Ali no erro diz que mysqli_query espera 2 parâmetros, no caso você passou apenas o parâmetro $sql e o mysqli_query necessita do parâmetro da conexão, que no caso é $connect, ou seja, tem que ficar assim: mysqli_query($connect , $sql);

<?php 
$login = ($_POST['login']);
$senha = MD5($_POST['senha']);
$connect = mysqli_connect('localhost','root','','test');
if(!$connect){
    echo "Não obteve exito na conexão"; //Se a conexão não for realizada com sucesso, retornamos uma mensagem de erro
}
$sql = "INSERT INTO usuarios (login,senha) VALUES ('$login','$senha')"; 
mysqli_query($connect,$sql);
?>

 

Share this post


Link to post
Share on other sites

agr preciso criar um script que faça com que antes de cadastrar o usuario ele faça uma verificação se o usuario ja existe 

<?php 
$login = ($_POST['login']);
$senha = MD5($_POST['senha']);
$sql = "INSERT INTO usuarios (login,senha) VALUES ('$login','$senha')";
$connect = mysqli_connect('localhost','root','','test');
$query1 = mysqli_query($connect, "SELECT * FROM usuarios where login = '$login'");
if(mysqli_num_rows($query1) == 1){ echo "<script>alert('Usuário já existe.'); history.back();</script>";}
else{ mysqli_query($connect,$sql) ; }
if (mysqli_query($connect,$sql)) { echo "<script>alert('Usuário cadastrado com sucesso.'); history.back();</script>" ;}

 

Share this post


Link to post
Share on other sites

@paulojakie nesse caso você tem que fazer uma verificação usando SELECT antes de realizar o INSERT INTO, aí você usa uma forma pra identificar o usuário, um email por exemplo, se a busca retornar maior que zero, isso significa que o usuário já existe no banco, se a busca retornar zero ( == 0 ), isso significa que você pode cadastrar o usuário. A lógica é essa aqui:


<?php

$servername = "localhost";
$username   = "seuuser";
$password   = "suasenha";
$dbname     = "seubanco";

$login = ($_POST['login']);
$senha = MD5($_POST['senha']);

$con = new mysqli($servername,$username,$password,$dbname);
$sql = "SELECT * FROM usuarios WHERE login='$login'";
$verifica = $con->query($sql);
if($verifica->num_rows == 0){
	$sql = "INSERT INTO usuarios (login,senha) VALUES ('$login','$senha')";
	$cadastra = $con->query($sql);
	if($con->query($sql) === TRUE){
		echo "<script>alert('Usuário cadastrado com sucesso.'); history.back();</script>";
	}
}else{
	echo "<script>alert('Usuário já existe.'); history.back();</script>";
}
$con->close();
?>

 

Share this post


Link to post
Share on other sites

e para deslogar ? fiz uma pagina login.php e logout.php a login.php ta assim >

<?php 
  $login = $_POST['login'];
  $entrar = $_POST['entrar'];
  $senha = md5($_POST['senha']);
  $connect = mysqli_connect('localhost','root','','test');
  
    if (isset($entrar)) {
            
      $verifica = mysqli_query($connect, "SELECT * FROM usuarios WHERE login = '$login' AND senha = '$senha'") or die("erro ao selecionar");
        if (mysqli_num_rows($verifica)<=0){
          echo"<script language='javascript' type='text/javascript'>alert('Login e/ou senha incorretos');window.location.href='login.html';</script>";
          die();
        }else{
          setcookie("login",$login);
          header("Location:index.php");
        }
    }
?>

 

como eu faço pra deslogar ?

 

Share this post


Link to post
Share on other sites

Olá Paulo.

Nós temos varios scripts de Logins aqui no Fórum, basta você dar uma pesquisada.

E sobre deslogar, basta você deletar o cookie do usuário.

 

if (isset($_COOKIE['login'])) {
    unset($_COOKIE['login']);
    setcookie('login', null, -1, '/');
}

 

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.