Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jacksonrct

Warning: mysql_num_rows() expects parameter 1 to be resource,

Recommended Posts

Boa tarde galera do iMasters, bom estou com um erro e não estou conseguindo resolvelo, quando eu confirmo o cadastro ele da o erro "

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\www\www8\idreg.php on line 35 "

E logo abaixo diz que os dados foram efetuados com sucesso, mas vou consultar no meu BD não tem nada.

doreg.php  //esse que envia os dados pro BD


</head>
<body background="" leftmargin="0" topmargin="0" onselectstart="return false" oncontextmenu="return false">
<html>
<head>
<title></title>
<style>
<!--
 .texto{
 font-family:Verdana;
 font-size:10px;
 color:#333333;
 }
-->
</style>

<?php require_once('Connections/MySql.php'); ?>

<?php require 'sql_inject.php'; ?>
<br>
<th scope="col">
      <p class="texto">
        <?php
		
$login = stripslashes($_POST['login']);
$name = stripslashes($_POST['name']);
$email = stripslashes($_POST['email']);
$pw = stripslashes($_POST['pw']);
$cpw = stripslashes($_POST['cpw']);
$endereco = stripslashes($_POST['endereco']);
$cpf = stripslashes($_POST['cpf']);

$sql_name_check = mysql_query("SELECT * FROM usuariosistema WHERE login='$login'"); 

$name_check = mysql_num_rows($sql_name_check); 

if (($name_check > 0) || empty($login) || empty($name) ||  empty($pw) || empty($cpw) || empty($endereco) || empty($cpf) || empty($email)) 
{ 
    echo "<br>ERRO: "; 
	
	if (($name_check > 0) || empty($login) || empty($name) ||   empty($pw) || empty($cpw) || empty($endereco) || empty($cpf) || empty($email)) 
{ 
echo "Alguns campos foram deixados em branco.";
}

 
    elseif ($name_check > 0)
	{ 
        echo "$login  Login já cadastrado!"; 
         $Error=1;
    } 
elseif ($pw != $cpw) 
{
	echo "As senhas que você digitou não combinam.";  $Error=1;
}
elseif ($extcode != $extcode1) 
{
	echo "Você deu entrada a um código malicioso.";  $Error=1;
}

}
else
{
$query2 = "SET IDENTITY_INSERT usuariosistema ON";
$query3 = "INSERT INTO FROM usuariosistema (login, name, pw, cpw, email, endereco, cpf, memb__id) VALUES ('$login', '$name', '$pw','$cpw', '$$email', '$endereco','$cpf', 'memb__id')";
$results= mysql_query($query2);
$results= mysql_query($query3);
echo "<p align='center'>Sua conta foi criada com sucesso!!!</p>
<b class=texto>
		  Anote em um lugar seguro todas essas informações,<br>
		  pois elas serão necessárias, para algumas funções do site!<br><br>
		  
		  <table border=0 align=center cellpadding=0 cellspacing=0 class=texto>
		  <tr><td>
		  <b>Login ID:</b> $login<br>
          <b>Nome:</b>  $name <br>
          <b>E-mail:</b> $email<br>
          <b>Senha:</b> ******<br>
          <b>Endereço:</b>$endereco<br>
          <b>CPF</b> $cpf
		  </td></tr>";
}
?>
==========================================


MySql.php   //esse e as configuração para o BD

<?php
# MySql configurações
$hostname_MySql = "localhost";  // Servidor
$database_MySql = "www8"; // banco de dados
$username_MySql = "root"; // Usuario
$password_MySql = "12345";  // senha
$MySql = mysql_connect($hostname_MySql, $username_MySql, $password_MySql) or trigger_error(mysql_error(),E_USER_ERROR); 
?>

Desculpe se eu tiver postado no local errado, alguem poderia me ajudar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque assim:

echo "SELECT * FROM usuariosistema WHERE login='$login'"; // Copie o que imprimir nesta linha e execute direto no banco pra ver se retorna algo
$sql_name_check = mysql_query("SELECT * FROM usuariosistema WHERE login='$login'") or die(mysql_error()); 
$name_check = mysql_num_rows($sql_name_check);

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim tem conexão sim, eu tava usando essta

MySql.php   //esse e as configuração para o BD

<?php
# MySql configurações
$hostname_MySql = "localhost";  // Servidor
$database_MySql = "www8"; // banco de dados
$username_MySql = "root"; // Usuario
$password_MySql = "12345";  // senha
$MySql = mysql_connect($hostname_MySql, $username_MySql, $password_MySql) or trigger_error(mysql_error(),E_USER_ERROR); 
?>

mas troquei por uma outra aqui similar so que tem sql_inject

está e a nova conexão

<? include ("anti_inject.php"); ?><?
////////////////////////////////////
////////------------------/////////
///////CONFIGURAR CONEXÃO//////////
////////------------------/////////
///////////////////////////////////

// -- USUARIO SQL ( PADRÂO = root )

# MySql configurações
$hostname_MySql = "localhost";  // Servidor
$database_MySql = "www8"; // banco de dados
$username_MySql = "root"; // Usuario
$password_MySql = "12345";  // senha
$MySql = mysql_pconnect($hostname_MySql, $username_MySql, $password_MySql) or trigger_error(mysql_error(),E_USER_ERROR);


////////////////////////////////////
////////------------------/////////
////////////////////////////////////
////////------------------/////////
///////////////////////////////////


?>

função sql_inject

<?PHP


class sql_inject
{
    /**
	 * @shortdesc url to redirect if an sql inject attempt is detect. if unset, value is FALSE
	 * @private
	 * @type mixed
	 */
    var $urlRedirect;
    /**
	 * @shortdesc does the session must be destroy if an attempt is detect
	 * @private
	 * @type bool
	 */
    var $bdestroy_session;
    /**
	 * @shortdesc the SQL data currently test
	 * @private
	 * @type string
	 */
    var $rq;
    /**
	 * @shortdesc if not FALSE, the url to the log file
	 * @private
	 * @type mixed
	 */
    var $bLog;
    
    /**
	 * Builder
	 *
	 * @param bool bdestroy_session optional. does the session must be destroy if an attempt is detect?
	 * @param string urlRedirect optional. url to redirect if an sql inject attempt is detect
     * @public
	 * @type void
     */
    function sql_inject($mLog=FALSE,$bdestroy_session=FALSE,$urlRedirect=FALSE)
    {
        $this->bLog = (($mLog!=FALSE)?$mLog:'');
        $this->urlRedirect = (((trim($urlRedirect)!='') && file_exists($urlRedirect))?$urlRedirect:'');
        $this->bdestroy_session = $bdestroy_session;
        $this->rq = '';
    }

    /**
	 * @shortdesc test if there is a sql inject attempt detect
	 * test if there is a sql inject attempt detect
	 *
	 * @param string sRQ required. SQL Data to test
     * @public
	 * @type bool
     */
    function test($sRQ)
    {
        $sRQ = strtolower($sRQ);
        $this->rq = $sRQ;
        $aValues = array();
        $aTemp = array(); // temp array
        $aWords = array(); //
        $aSep = array(' and ',' or '); // separators for detect the
        $sConditions = '(';
        $matches = array();
        $sSep = '';
        // is there an attempt to unused part of the rq?
        if (is_int((strpos($sRQ,"#")))&&$this->_in_post('#')) return $this->detect();
        
        // is there a attempt to do a 2nd SQL requete ?
        if (is_int(strpos($sRQ,';'))){
            $aTemp = explode(';',$sRQ);
            if ($this->_in_post($aTemp[1])) return $this->detect();
        }
        
        $aTemp = explode(" where ",$sRQ);
        if (count($aTemp)==1) return FALSE;
        $sConditions = $aTemp[1];
        $aWords = explode(" ",$sConditions);
        if(strcasecmp($aWords[0],'select')!=0) $aSep[] = ',';
        $sSep = '('.implode('|',$aSep).')';
        $aValues = preg_split($sSep,$sConditions,-1, PREG_SPLIT_NO_EMPTY);

        // test the always true expressions
        foreach($aValues as $i => $v)
        {
            // SQL injection like 1=1 or a=a or 'za'='za'
            if (is_int(strpos($v,'=')))
            {
                 $aTemp = explode('=',$v);
                 if (trim($aTemp[0])==trim($aTemp[1])) return $this->detect();
            }
            
            //SQL injection like 1<>2
            if (is_int(strpos($v,'<>')))
            {
                $aTemp = explode('<>',$v);
                if ((trim($aTemp[0])!=trim($aTemp[1]))&& ($this->_in_post('<>'))) return $this->detect();
            }
        }
        
        if (strpos($sConditions,' null'))
        {
            if (preg_match("/null +is +null/",$sConditions)) return $this->detect();
            if (preg_match("/is +not +null/",$sConditions,$matches))
            {
                foreach($matches as $i => $v)
                {
                    if ($this->_in_post($v))return $this->detect();
                }
            }
        }
        
        if (preg_match("/[a-z0-9]+ +between +[a-z0-9]+ +and +[a-z0-9]+/",$sConditions,$matches))
        {
            $Temp = explode(' between ',$matches[0]);
            $Evaluate = $Temp[0];
            $Temp = explode(' and ',$Temp[1]);
            if ((strcasecmp($Evaluate,$Temp[0])>0) && (strcasecmp($Evaluate,$Temp[1])<0) && $this->_in_post($matches[0])) return $this->detect();
        }
        return FALSE;
    }

    function _in_post($value)
    {
        foreach($_POST as $i => $v)
        {
             if (is_int(strpos(strtolower($v),$value))) return TRUE;
        }
        return FALSE;
    }

    function detect()
    {
        // log the attempt to sql inject?
        if ($this->bLog)
        {
            $fp = @fopen($this->bLog,'a+');
            if ($fp)
            {
                fputs($fp,"\r\n".date("d-m-Y H:i:s").' ['.$this->rq.'] from '.$this->sIp = getenv("REMOTE_ADDR"));
                fclose($fp);
            }
        }
        // destroy session?
        if ($this->bdestroy_session) session_destroy();
        // redirect?
        if ($this->urlRedirect!=''){
             if (!headers_sent())  header("location: $this->urlRedirect");
        }
        return TRUE;
    }


function protect1($protected) { // This Will be the fuction we call to protect the variables.
	$banlist = array (";","!","#","$","%","^","&","(",")","[","]","{","}","=","+","|",":",";","<",">","?","~","'","*","/"," \ ", "insert", "select", "update", "delete", "distinct", "having", "truncate", "replace", "handler", "like", "procedure", "limit", "order by", "group by", "asc", "desc", "shutdown", "delete"); 
	//$banlist is the list of words you dont want to allow.
	if ( eregi ( "[a-zA-Z0-9@]+", $protected ) ) { // Makes sure only legitimate Characters are used.
		$protected = trim(str_replace($banlist, '', $protected)); // Takes out whitespace, and removes any banned words.
		return $protected;
		//echo "+";
	} else {
		//echo "-";
		echo $protected;
		die ( ' Is invalid for that spot, please try a different entry.' ); // Message if thier is any characters not in [a-zA-Z0-9].
	} // ends the if ( eregi ( "[a-zA-Z0-9]+", $this->protected ) ) {
} // ends the function Protect() {

function protect2($protected) { // This Will be the fuction we call to protect the variables.
	$banlist = array ("'", "\"", "<", "\\", "|", "/", "=", "insert", "select", "update", "delete", "distinct", "having", "truncate", "replace", "handler", "like", "procedure", "limit", "order by", "group by", "asc", "desc"); 
	//$banlist is the list of words you dont want to allow.
	if ( eregi ( "[0-9]+", $protected ) ) { // Makes sure only legitimate Characters are used.
		$protected = trim(str_replace($banlist, '', $protected)); // Takes out whitespace, and removes any banned words.
		return $protected;
		//echo "+";
	} else {
		//echo "-";
		echo $protected;
		die ( ' Is invalid for that spot, please try a different entry.' ); // Message if thier is any characters not in [a-zA-Z0-9].
	} // ends the if ( eregi ( "[a-zA-Z0-9]+", $this->protected ) ) {
} // ends the function Protect() {


}
?>

Só que agora aparece isto quando finalizo o cadastro

 

SELECT * FROM usuariosistema WHERE login='teste'
Warning: mysql_query(): Access denied for user ''@'localhost' (using password: NO) in C:\xampp\htdocs\www\www8\idreg.php on line 34

Warning: mysql_query(): A link to the server could not be established in C:\xampp\htdocs\www\www8\idreg.php on line 34
Access denied for user ''@'localhost' (using password: NO)

 

Compartilhar este post


Link para o post
Compartilhar em outros sites


</head>
<body background="" leftmargin="0" topmargin="0" onselectstart="return false" oncontextmenu="return false">
<html>
<head>
<title></title>
<style>
<!--
 .texto{
 font-family:Verdana;
 font-size:10px;
 color:#333333;
 }
-->
</style>
<? include ('configs/conf_sql.php');?>
<?php require_once('configs/conf_sql.php'); ?>

<?php require 'sql_inject.php'; ?>
<br>
<th scope="col">
      <p class="texto">
        <?php
		$connect = mysql_connect("$localhost","root","12345") or die('error connecting: ' . mysql_error());
mysql_select_db("www8") or die('error selecting db: ' . mysql_error()); 
//selec
		
$login = stripslashes($_POST['login']);
$name = stripslashes($_POST['name']);
$email = stripslashes($_POST['email']);
$pw = stripslashes($_POST['pw']);
$cpw = stripslashes($_POST['cpw']);
$endereco = stripslashes($_POST['endereco']);
$cpf = stripslashes($_POST['cpf']);


echo "SELECT * FROM usuariosistema WHERE login='$login'"; // Copie o que imprimir nesta linha e execute direto no banco pra ver se retorna algo
$sql_name_check = mysql_query("SELECT * FROM usuariosistema WHERE login='$login'") or die(mysql_error()); 

$name_check = mysql_num_rows($sql_name_check);

if (($name_check > 0) || empty($login) || empty($name) ||  empty($pw) || empty($cpw) || empty($endereco) || empty($cpf) || empty($email)) 
{ 
    echo "<br>ERRO: "; 
	
	if (($name_check > 0) || empty($login) || empty($name) ||   empty($pw) || empty($cpw) || empty($endereco) || empty($cpf) || empty($email)) 
{ 
echo "Alguns campos foram deixados em branco.";
}

 
    elseif ($name_check > 0)
	{ 
        echo "$login  Login já cadastrado!"; 
         $Error=1;
    } 
elseif ($pw != $cpw) 
{
	echo "As senhas que você digitou não combinam.";  $Error=1;
}
elseif ($extcode != $extcode1) 
{
	echo "Você deu entrada a um código malicioso.";  $Error=1;
}

}
else
{
$query2 = "SET IDENTITY_INSERT usuariosistema ON";
$query3 = "INSERT INTO FROM usuariosistema (login, name, pw, cpw, email, endereco, cpf, memb__id) VALUES ('$login', '$name', '$pw','$cpw', '$$email', '$endereco','$cpf', 'memb__id')";
$results= mysql_query($query2);
$results= mysql_query($query3);
echo "<p align='center'>Sua conta foi criada com sucesso!!!</p>
<b class=texto>
		  Anote em um lugar seguro todas essas informações,<br>
		  pois elas serão necessárias, para algumas funções do site!<br><br>
		  
		  <table border=0 align=center cellpadding=0 cellspacing=0 class=texto>
		  <tr><td>
		  <b>Login ID:</b> $login<br>
          <b>Nome:</b>  $name <br>
          <b>E-mail:</b> $email<br>
          <b>Senha:</b> ******<br>
          <b>Endereço:</b>$endereco<br>
          <b>CPF</b> $cpf
		  </td></tr>";
		  
}
?>

Eu deixei o codigo assim pra ver se conectava pelo visto conecta mas agora aparece

SELECT * FROM usuariosistema WHERE login=''

 

ele não ta encontrando a onde inserir os dados neh?

bd: www8

table: usuariosistema

bduser: root

dbpassworld:12345

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele não grava no BD.

Array(    [login] => teste    [pw] => 12345    [cpw] => 12345    [email] => teste@testes.com    [name] => testesss    [cpf] => 12131231231    [endereco] => 12312sdsdf    [Submit] => CONCLUIR)

Sua conta foi criada com sucesso!!!

Anote em um lugar seguro todas essas informações,
pois elas serão necessárias, para algumas funções do site!



Login ID: teste
Nome: testesss
E-mail: teste@testes.com
Senha: ******
Endereço:12312sdsdf
CPF 12131231231


</head>
<body background="" leftmargin="0" topmargin="0" onselectstart="return false" oncontextmenu="return false">
<html>
<head>
<title></title>
<style>
<!--
 .texto{
 font-family:Verdana;
 font-size:10px;
 color:#333333;
 }
-->
</style>
<? include ('configs/conf_sql.php');?>
<?php require_once('configs/conf_sql.php'); ?>

<?php require 'sql_inject.php'; ?>
<br>
<th scope="col">
      <p class="texto">
        <?php
$connect = mysql_connect("localhost","root","12345") or die('error connecting: ' .  mysql_error());
mysql_select_db("www8") or die('error selecting db:  ' . mysql_error()); 
//selec
		
$login = stripslashes($_POST['login']);
$name = stripslashes($_POST['name']);
$email = stripslashes($_POST['email']);
$pw = stripslashes($_POST['pw']);
$cpw = stripslashes($_POST['cpw']);
$endereco = stripslashes($_POST['endereco']);
$cpf = stripslashes($_POST['cpf']);


echo '<pre>';
print_r($_POST);
echo '</pre>';
$sql_name_check = mysql_query("SELECT * FROM usuariosistema WHERE login='$login'") or die(mysql_error()); 

$name_check = mysql_num_rows($sql_name_check);

if (($name_check > 0) || empty($login) || empty($name) ||  empty($pw) || empty($cpw) || empty($endereco) || empty($cpf) || empty($email)) 
{ 
    echo "<br>ERRO: "; 
	
	if (($name_check > 0) || empty($login) || empty($name) ||   empty($pw) || empty($cpw) || empty($endereco) || empty($cpf) || empty($email)) 
{ 
echo "Alguns campos foram deixados em branco.";
}

 
    elseif ($name_check > 0)
	{ 
        echo "$login  Login já cadastrado!"; 
         $Error=1;
    } 
elseif ($pw != $cpw) 
{
	echo "As senhas que você digitou não combinam.";  $Error=1;
}
elseif ($extcode != $extcode1) 
{
	echo "Você deu entrada a um código malicioso.";  $Error=1;
}

}
else
{
$query2 = "SET IDENTITY_INSERT [ www8] .  usuariosistema { ON  }" or die(mysql_error()); ;
$query3 = "INSERT INTO FROM usuariosistema (login, name, pw, cpw, email, endereco, cpf) VALUES ('$login', '$name', '$pw','$cpw', '$$email', '$endereco','$cpf')" or die(mysql_error()); ;
$results= mysql_query($query2)or die(mysql_error()); ;
$results= mysql_query($query3)or die(mysql_error()); ;
echo "<p align='center'>Sua conta foi criada com sucesso!!!</p>
<b class=texto>
		  Anote em um lugar seguro todas essas informações,<br>
		  pois elas serão necessárias, para algumas funções do site!<br><br>
		  
		  <table border=0 align=center cellpadding=0 cellspacing=0 class=texto>
		  <tr><td>
		  <b>Login ID:</b> $login<br>
          <b>Nome:</b>  $name <br>
          <b>E-mail:</b> $email<br>
          <b>Senha:</b> ******<br>
          <b>Endereço:</b>$endereco<br>
          <b>CPF</b> $cpf
		  </td></tr>";
		  
}
?>

Eu tirei do codigo o memb_id ( ai ele aparece

Array(    [login] => teste    [pw] => 12345    [cpw] => 12345    [email] => teste@teste.com    [name] => reteste    [cpf] => 12131231231    [endereco] => qdawdadada    [Submit] => CONCLUIR)

Unknown system variable 'IDENTITY_INSERT'

 

 

 

E se eu coloco o memb_id ele sai esse "erro" de "IDENTITY_INSERT" e diz que tem campos em branco, então tenho que cria um campo no meu formulario so para para o memb_id ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No insert tem dois ; fechando. E tem um FROM na query, tente assim:

$query3 = "INSERT INTO usuariosistema (login, name, pw, cpw, email, endereco, cpf) VALUES ('$login', '$name', '$pw','$cpw', '$$email', '$endereco','$cpf')" or die(mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

Unknown system variable 'IDENTITY_INSERT'


Unknown system variable 'IDENTITY_INSERT'

query2 = "SET IDENTITY_INSERT [ www8] . usuariosistema { ON }" or die(mysql_error()); ;
$query3 = "INSERT INTO FROM usuariosistema (login, name, pw, cpw, email, endereco, cpf) VALUES ('$login', '$name', '$pw','$cpw', '$email', '$endereco','$cpf')" or die(mysql_error()); ;
$results= mysql_query($query2)or die(mysql_error()); ;
$results= mysql_query($query3)or die(mysql_error()); ;

 

 

 

tirei os dois or die dos results, e agora foi cadastro no bd,


allex_carvalho muito obrigado pela ajuda, hehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.