Ir para conteúdo
Fórum Script Brasil
  • 0

Scripts Php Nao Gravam Dados No Mysql!


Guest Anderson Luis

Pergunta

Guest Anderson Luis

Seguinte galera !!! sou novato em PHP, e estou fazendo uma força pra aprender, estou com um problema que é o seguinte :

não consigo de jeito maneira inserir dados em uma base de dados MYSQL usando o PHP, simplesmente quando executo algum comando de inserção na base de dados não a contece nada "não grava na tabela do BD" "nem dá mensagem de erro no browser" !!!!!

Se alguém souber como resolver isso, me dá uma força que eu to precisando valeu !!!!!!!

OBS. uso isso pra conectar :

$1 = localhost;

$user = root;

$senha = (tá sem senha);

$base = 'nome do BD';

Link para o comentário
Compartilhar em outros sites

20 respostass a esta questão

Posts Recomendados

  • 0

Seguinte uso o WinXP Profissional, segue abaixo o codigo de configuração seguido do código de login :

OBS.quando digito o login e senha e dou ok, simplesmente não a contece nada, nem mensagem de erro dá !!!!!

CONFIG.INI

<style type="text/css">
  p.normal { font-family: verdana; font-size : 8pt; margin-left: 5pt; color: #0000C0; }
  p.titulo { font-family: verdana; font-weight:bold; font-size : 8pt; color: #336699;  margin-right: 2pt; }
  input { font-family: verdana; font-size : 8pt; }
  li { font-family: verdana; font-size : 8pt; margin-left: -5pt; }
  a:link { color:#336699; }
  a:visited { color:#336699; }
  a:active { color:#336699; }
</style>

<?php

// Configurações Gerais
$sigla    = "Sig";
$empresa  = "Produtos";
$dirImage = "../images/";
$bgForm   = "#F0F8FF";
$corTab   = "#6699CC";

// Identificação para o mySQL
$host     = "localhost";
$user     = "root";
$senha    = "";
$dbNome   = "aquario";

?>
LOGIN.PHP
<html>
<? require("config.ini"); ?>
<head>
  <title><? echo $sigla; ?> - Identificação</title>
</head>

<body bgcolor="<? echo "$bgForm"; ?>">
<?
 if (!isset($login)) {
?>

<center>
<img src="<? echo "$dirImage";?>sozinho.gif" border="0" alt="">
<h1><? echo "$sigla - $empresa" ?></h1>

<table border=1 width=500 cellspacing=0 cellpading=8>
  <tr>
    <td align=center colspan=2>
       <p class="titulo">É necessário que seja efetuado o login no sistema
    </td>
  </tr>
  <tr>
    <td align=center>
      <form method=post action="<? echo $PHP_SELF; ?>">
      <table width=100%>
        <tr>
          <td>
            <p class="normal" align=right>CPF:
          </td>
          <td>
            <input type=text size=20 maxlength=11 name="cpfUsu"
            style="border: 1 solid #669ACE">
          </td>
        </tr>
        <tr>
          <td>
            <p class="normal" align=right>Senha:
          </td>
          <td>
            <input type=password size=20 maxlength=10 name="pwdUsu"
            style="border: 1 solid #669ACE">
          </td>
        </tr>
      </table>
    </td>
  </tr>
  <tr>
    <td align=right colspan=2>
      <input type=submit name="login" value="Login">
    </td>
  </tr>
</table>
</html>
<?
die();
}
 elseif($login == "Login") {
  $db = mysql_connect("$host", "$user") or die("Erro de Conexão");
  mysql_select_db("$dbNome", $db) or die("Base de dados não existe");
  // Verifica a senha
  $query = "select priNome from operador where "
          ."cpfOperador='$cpfUsu' and desSenha=PASSWORD('$pwdUsu')";
  $resulta = mysql_query($query, $db);
  if(mysql_num_rows($resulta) == 0) {
?>
<body>
<center>

<h1><? echo "$sigla - $empresa" ?></h1>
<table>
  <tr><td><p class="titulo">
      Inválida combinação do CPF ou Senha.<br>
      Consulte o Administrador
  </td></tr>
</table>
</html>
<?
   mysql_free_result($resulta);
   mysql_close($db);
   die();
  }
  $nome = mysql_result($resulta,0,"priNome");
?>
  <form method=post action="menu.php" name=form2>
    <input type="hidden" name="cpfOperador" value="<? echo $cpfUsu;?>">
    <h1><? echo "$sigla - $empresa" ?></h1>
    <br>
    <center>
    <img src="<? echo "$dirImage";?>cadeado.gif" border="0" alt=""><p class="normal">Seja Bem Vindo <? echo "$nome";?>. Saiba que a partir deste momento você está na <b>Intranet</b> da empresa e todo o trabalho está sendo monitorado, não se esqueça de efetuar o Logoff antes de sair.<br><br>
    <table border=1 width=500 cellspacing=0 cellpading=8>
      <tr><td align=center colspan=2>
        <p class="titulo">Versão 1.0 - Novidades desta versão:
      </td></tr>
      <tr><td>
        <p class="normal">1.<br><br>
        2.<br>
      </td></tr>
    </table>
    <br><br>
    </center>
    <p align="right"><input type=submit name="entrada" value="Click Aqui"></p>
  </form>
<?
 mysql_free_result($resulta);
 mysql_close($db);
 }
?>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0

$db = mysql_connect("$host", "$user")

muda para

$db = mysql_connect("$host", "$user","") pois faltou colocar a senha, mesmo em branco, ela deve aparecer

Link para o comentário
Compartilhar em outros sites

  • 0
$db = mysql_connect("$host", "$user")

muda para

$db = mysql_connect("$host", "$user","") pois faltou colocar a senha, mesmo em branco, ela deve aparecer

Tentei fazer o que me sugeriu mas não deu certo, parece que está conectando no BD, só que não está retornando o resto da pagina quando se está logado !!!!!

OBS. Será que é algum problema com o IIS ?

Link para o comentário
Compartilhar em outros sites

  • 0
Use extensão .php para esses casos amigo, porque c não a página aparece no navegador mostrando sua senha (caso o arquivo for acessado diretamente)

desculpa a ignorancia, mas eu não entendi o que quis dizer, já estou usando a extensão .php !!!!

instalei o PHP + Mysql e IIS seguindo este tutorial :

http://www.imasters.com.br/web/conteudo/co...?codcoluna=1391

Será que algo nessa configuração que está errado ?

Link para o comentário
Compartilhar em outros sites

  • 0
ele disse pra você mudar a extensão do arquivo config de ini para php, pois se alguém digitar config.ini no browser vai aparecer os dados do arquivo como senha...

entendi, valeu dessa eu não sabia !!!!!!

quanto ao meu problema, fazem idéia do que pode estar acontecendo ?

Tem alguma coisa de errado no código do LOGIN.PHP ?

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, o seu register_globals do PHP.ini tá setado como 1 ou 0 ? Se estiver setado com 0 , você deve usar um _POST pra pegar os dados. O que ficaria assim:

<html>

<? require("config.ini");

$cpfUsu = $_POST[cpfUsu];

$pwdUsu = $_POST[pwdUsu];

?>

<head>

<title><? echo $sigla; ?> - Identificação</title>

</head>

<body bgcolor="<? echo "$bgForm"; ?>">

<?

if (!isset($login)) {

?>

<center>

<img src="<? echo "$dirImage";?>sozinho.gif" border="0" alt="">

<h1><? echo "$sigla - $empresa" ?></h1>

<table border=1 width=500 cellspacing=0 cellpading=8>

<tr>

<td align=center colspan=2>

<p class="titulo">É necessário que seja efetuado o login no sistema

</td>

</tr>

<tr>

<td align=center>

<form method=post action="<? echo $PHP_SELF; ?>">

<table width=100%>

<tr>

<td>

<p class="normal" align=right>CPF:

</td>

<td>

<input type=text size=20 maxlength=11 name="cpfUsu"

style="border: 1 solid #669ACE">

</td>

</tr>

<tr>

<td>

<p class="normal" align=right>Senha:

</td>

<td>

<input type=password size=20 maxlength=10 name="pwdUsu"

style="border: 1 solid #669ACE">

</td>

</tr>

</table>

</td>

</tr>

<tr>

<td align=right colspan=2>

<input type=submit name="login" value="Login">

</td>

</tr>

</table>

</html>

<?

die();

}

elseif($login == "Login") {

$db = mysql_connect("$host", "$user") or die("Erro de Conexão");

mysql_select_db("$dbNome", $db) or die("Base de dados não existe");

// Verifica a senha

$query = "select priNome from operador where "

."cpfOperador='$cpfUsu' and desSenha=PASSWORD('$pwdUsu')";

$resulta = mysql_query($query, $db);

if(mysql_num_rows($resulta) == 0) {

?>

<body>

<center>

<h1><? echo "$sigla - $empresa" ?></h1>

<table>

<tr><td><p class="titulo">

Inválida combinação do CPF ou Senha.<br>

Consulte o Administrador

</td></tr>

</table>

</html>

<?

mysql_free_result($resulta);

mysql_close($db);

die();

}

$nome = mysql_result($resulta,0,"priNome");

?>

<form method=post action="menu.php" name=form2>

<input type="hidden" name="cpfOperador" value="<? echo $cpfUsu;?>">

<h1><? echo "$sigla - $empresa" ?></h1>

<br>

<center>

<img src="<? echo "$dirImage";?>cadeado.gif" border="0" alt=""><p class="normal">Seja Bem Vindo <? echo "$nome";?>. Saiba que a partir deste momento você está na <b>Intranet</b> da empresa e todo o trabalho está sendo monitorado, não se esqueça de efetuar o Logoff antes de sair.<br><br>

<table border=1 width=500 cellspacing=0 cellpading=8>

<tr><td align=center colspan=2>

<p class="titulo">Versão 1.0 - Novidades desta versão:

</td></tr>

<tr><td>

<p class="normal">1.<br><br>

2.<br>

</td></tr>

</table>

<br><br>

</center>

<p align="right"><input type=submit name="entrada" value="Click Aqui"></p>

</form>

<?

mysql_free_result($resulta);

mysql_close($db);

}

?>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Seguinte meu "register_globals" está como off, e ainda não consegui interagir com o banco de dados !!!

Caramba tá difícil de resolver esse problema !!!!

Outra coisa fiz um script simples ontem só para gravar nome,email,telefone; dai crieium html com os inputs chamando esse script PHP para inserir, o que acontece é o seguinte ele faz o insert mas não aparecem os dados, só a chave primaria que no caso é auto incremental, parece que o html não passou direito as variaveis do input para o script PHP !!!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

mas tu perde em segurança. eu aconselho fortemente a usar register globals off e utilizar $_POST e/ou $_GET

Link para o comentário
Compartilhar em outros sites

  • 0

Muitas vulnerabilidades e erros de programação são causadas por esse fato, até por isso, nas versões mais recentes do php, o padrão para essa variável é OFF.

Link para o comentário
Compartilhar em outros sites

  • 0

galera ainda continuo com problemas , fiz um script simples só para teste de inclusao no db, o que acontece é que ele faz a inclusão no db mas não manda os dados, a unica coisa que é preenchida é a chave primaria que no caso é auto incremental segue abaixo o código :

INCCLIENTE.HTML // FORMULARIO HTML

<html>
<head>
<title>Documento sem t&iacute;tulo</title>
</head>
<body>
<strong><font size="3" face="Verdana, Arial, Helvetica, sans-serif">Inclus&atilde;o 
de Clientes<br>
</font></strong> 
<form name="incCliente" method="post" action="insere.php">
  <strong><font size="3" face="Verdana, Arial, Helvetica, sans-serif">Nome : </font></strong>
  <input name="edNome" type="text" size="40" maxlength="80">
  <br>
  <font size="3" face="Verdana, Arial, Helvetica, sans-serif"><strong>Sexo :</strong> 
  <input name="rgSexo" type="radio" value="M" checked>
  Masculino 
  <input type="radio" name="rgSexo" value="F">
  Feminino <strong><br>
  Endere&ccedil;o :</strong></font> 
  <textarea name="edendereco" rows="3"></textarea>
  <br>
  <input type="submit" name="Submit" value="Inclui">
</form>
</body>
</html>
INSERE.PHP
<?
$res1 = mysql_connect("localhost","root");
If ($res1) {
$sql = "insert into cliente"."(nom_cliente,sex_cliente,end_cliente)"."values ('$edNome','$rgSexo','$edEndereco')";
$res2 = mysql_db_query("pessoal","$sql",$res1);
If ($res2)
{echo ("Novo cliente adicionado");}
else
{echo ("Erro de inclusão".mysql_error()."\n");
}
}
else
{echo("Erro de conexão".mysql_error()."\n");}
mysql_free_result($res2);
mysql_close($res1);
?>

Link para o comentário
Compartilhar em outros sites

  • 0

cara,

Junta o insert e usa o POST !!

e no "mysql_connect()" você precisa por o pass ... mesmo que seja vazio !!

Vai ficar assim:

<?

$edNome = $_POST[edNome];

$rgSexo = $_POST[rgSexo];

$edendereco = $_POST[edendereco];

$res1 = mysql_connect("localhost","root","");

If ($res1) {

$sql = "insert into cliente"."(nom_cliente,sex_cliente,end_cliente)"."values ('$edNome','$rgSexo','$edEndereco')";

$res2 = mysql_db_query("pessoal","$sql",$res1);

If ($res2)

{echo ("Novo cliente adicionado");}

else

{echo ("Erro de inclusão".mysql_error()."\n");

}

}

else

{echo("Erro de conexão".mysql_error()."\n");}

mysql_free_result($res2);

mysql_close($res1);

?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...