Ir para conteúdo

Arquivado

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

santans

erro de função não definida na hora de enviar as informações do formulario

Recommended Posts

Quando envio as informações do meu formulario de cadastro para o banco de dados do wapserver     phpMyadmin, é exibida na tela de carregamento e verificação de erros a seguinte mensagem:

( ! ) Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:\wamp64\www\cadastro\cadastrando.php on line 11
( ! ) Error: Call to undefined function mysql_connect() in C:\wamp64\www\cadastro\cadastrando.php on line 11
Call Stack
# Time Memory Function Location
1 0.0016 407112 {main}( ) ...\cadastrando.php:0

 

Já verifiquei a linha do código escrito não encontrei erro, mas como sou iniciante acho que posso ter errado, os dados inseridos no formulário e no código juntamente com o endereço correspondem com os do banco de dados.

 

Aqui esta uma copia do código do FORMULÁRIO:

<html>
    <head>
        <title>sistema de cadastro</title>
    </head>
    <body>
        <form name="signup" method="post" action="cadastrando.php">
            Nome:<input type="text" name="nome" />
            <br/>
            <br/>
            Sobrenome:<input type="text" name="sobrenome" />
            <br/>
            <br/>
            Estado:<input type="text" name="estado"/>
            <br/>
            <br/>
            Cidade:<input type="text" name="cidade"/>
            <br/>
            <br/>
            CEP:<input type="text" name="cep"/>
            <br/>
            <br/>
            Endereço:<input type="text" name="endereco"/>
            <br/>
            <br/>
            Nº:<input type="text" name="numero"/>
            <br/>
            <br/>
            E-mail:<input type="text" name="e-mail"/>
            <br/>
            <br/>
            Senha:<input type="password" name="senha"/>
            <br/>
            <br/>
            <input type="submit" value="cadastrar"/>
        </form>
    </body>
</html>

A copia do codigo do script de envio de dados ao servidor do myphpadmin:

<html>
    <head>
        <title>cadastrando...</title>
    </head>
    <body>
        <?php
            $host = "localhost";
            $user = "root";
            $pass = "6768";
            $banco = "cadastro";
            $conexao = mysql_connect($host, $user, $pass) or die(mysql_error());
            mysql_select_db($banco) or die(mysql_error());
        ?>

        <?php
            $nome=$_POST['nome'];
            $sobrenome=$_POST['sobrenome'];
            $estado=$_POST['estado'];
            $cidade=$_POST['cidade'];
            $cep=$_POST['cep'];
            $endereco=$_POST['endereco'];
            $numero=$_POST['numero'];
            $email=$_POST['email'];
            $senha=$_POST['senha'];
            $sql = mysql_query("INSERT INTO usuarios(nome, sobrenome, estado, cidade, cep, endereco, numero, email, senha) VALUES('$nome', '$sobrenome', '$estado', '$cidade', '$cep', '$endereco', '$numero', '$email', '$senha')");
        ?>
    </body>
</html>

Abaixo tem um anexo com um print nomes dos parâmetros  que foram definidos no phpmysql na tabela usuarios...

 

Por favor fique a vontade para mostrar exemplos e dizer o que esta errado.

 

Nota que não sei desenvolver muito bem ainda, todo o exemplo é bem vindo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
4 horas atrás, navegantenarede disse:

Qual versão do PHP você está usando? A função mysql_connect só funciona até o PHP 5.

estou usando a ultima versão, quando escrevi o código segui os passos de um tutorial.

 

Há o que deve fazer para que funcione?

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 minutos atrás, santans disse:

estou usando a ultima versão, quando escrevi o código segui os passos de um tutorial.

 

Há o que deve fazer para que funcione?

 

Esquecer o tutorial que viu e também

Usar mysqli ou melhor usar PDO.

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 minutos atrás, Omar~ disse:

 

Esquecer o tutorial que viu e também

Usar mysqli ou melhor usar PDO.

<?php
$link = mysql_connect('HOST', 'BASE', 'SENHA');
if (!$link) {
    die('Erro ao conectar ao banco: ' . mysql_error());
}
echo 'Conectado com sucesso';
mysql_close($link);
?>

no caso um desses dois códigos

<?php
$mysqli_connection = new MySQLi('HOST', 'USUARIO', 'SENHA', 'BASE');
if($mysqli_connection->connect_error){
   echo "Desconectado! Erro: " . $mysqli_connection->connect_error;
}else{
   echo "Conectado!";
}
?>

?

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui conectar com o servidor

mas agora apareceu esse seguinte erro pra mim

 

Conectado! // 

( ! ) Notice: Undefined index: email in C:\wamp64\www\cadastro\cadastrando.php on line 33
Call Stack
# Time Memory Function Location
1 0.0013 407128 {main}( ) ...\cadastrando.php:0

 

( ! ) Fatal error: Uncaught Error: Call to undefined function mysql_query() in C:\wamp64\www\cadastro\cadastrando.php on line 35
( ! ) Error: Call to undefined function mysql_query() in C:\wamp64\www\cadastro\cadastrando.php on line 35
Call Stack
# Time Memory Function Location
1 0.0013 407128 {main}( ) ...\cadastrando.php:0

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, santans disse:

consegui conectar com o servidor

mas agora apareceu esse seguinte erro pra mim

 

Conectado! // 

( ! ) Notice: Undefined index: email in C:\wamp64\www\cadastro\cadastrando.php on line 33
Call Stack
# Time Memory Function Location
1 0.0013 407128 {main}( ) ...\cadastrando.php:0

 

( ! ) Fatal error: Uncaught Error: Call to undefined function mysql_query() in C:\wamp64\www\cadastro\cadastrando.php on line 35
( ! ) Error: Call to undefined function mysql_query() in C:\wamp64\www\cadastro\cadastrando.php on line 35
Call Stack
# Time Memory Function Location
1 0.0013 407128 {main}( ) ...\cadastrando.php:0

O erro da linha 33 é que ele não encontrou o index 'email' dentro da variável $_POST.

Os outros 2 erro são porque você precisa alterar todo o código para usar somente PDO ou mysqli. Se não entende muito de orientação a objeto utilize o mysqli que funciona de forma procedural também.

 

https://imasters.com.br/back-end/como-atualizar-scripts-php-de-mysql-para-mysqli

 

Leia esse passo a passo que vai te ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos lá...

digamos assim:

mysql_connect('HOST', 'BASE', 'SENHA'); // Alerta dessa linha porque usa mysql

$email = $_POST['alguma_coisa'] ? $_POST['alguma_coisa'] : ''nada;

if ($email) { // <- Erro nessa linha mesmo que a var existe e possui um valor qualquer

}

Erro pelo fato que o código foi morto no momento do alerta cancelando todo restante das definições.

Mesmo que esse não é o motivo do erro (Linha 33), mas poderia ser pelo que disse acima...

 

Então vamos ao erro em questão dessa linha 33:

18 horas atrás, santans disse:

E-mail:<input type="text" name="e-mail"/>

 

18 horas atrás, santans disse:

$email=$_POST['email'];

 

name="e-mail" / $_POST['email']

Ou seja em nenhum momento o arquivo recebeu dados da array super global post como índice email e sim e-mail.

 

No mais a questão do banco de dados procure estudar a respeito pois existem muitos conteúdos (a maioria uma porcaria) mas existem conteúdos bons espalhados na web

Para lhe dar uma direção de começo sugiro que dê uma lida nesse tópico:

https://forum.imasters.com.br/topic/565800-crud-introdução-a-pdo/

 

No resto é pesquisar para aprender, e é de grande aproveito fazer algum curso com empresas sérias, mesmo que tenha que pagar alguns trocados por isso.

A melhor alternativa é procurar escolas/empresas que ensinam a arte de programar de forma correta.

 

Spoiler

Só por passa tempo pode se fazer a conexão com mysqli assim:


<?php
$conn = mysqli_connect('ip_do_banco', 'usuario', 'senha', 'banco_de_dados');
if (!$conn) {
    die('Erro na conexão: ' . mysqli_connect_error());
}
mysqli_query($conn, 'SET NAMES \'utf8\'');
// Código aqui....
mysqli_close($conn);

Entretanto devo ressaltar para usar PDO.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
21 horas atrás, Omar~ disse:

Vamos lá...

digamos assim:

mysql_connect('HOST', 'BASE', 'SENHA'); // Alerta dessa linha porque usa mysql

$email = $_POST['alguma_coisa'] ? $_POST['alguma_coisa'] : ''nada;

if ($email) { // <- Erro nessa linha mesmo que a var existe e possui um valor qualquer

}

Erro pelo fato que o código foi morto no momento do alerta cancelando todo restante das definições.

Mesmo que esse não é o motivo do erro (Linha 33), mas poderia ser pelo que disse acima...

 

Então vamos ao erro em questão dessa linha 33:

 

 

name="e-mail" / $_POST['email']

Ou seja em nenhum momento o arquivo recebeu dados da array super global post como índice email e sim e-mail.

 

No mais a questão do banco de dados procure estudar a respeito pois existem muitos conteúdos (a maioria uma porcaria) mas existem conteúdos bons espalhados na web

Para lhe dar uma direção de começo sugiro que dê uma lida nesse tópico:

https://forum.imasters.com.br/topic/565800-crud-introdução-a-pdo/

 

No resto é pesquisar para aprender, e é de grande aproveito fazer algum curso com empresas sérias, mesmo que tenha que pagar alguns trocados por isso.

A melhor alternativa é procurar escolas/empresas que ensinam a arte de programar de forma correta.

 

  Mostrar conteúdo oculto

Só por passa tempo pode se fazer a conexão com mysqli assim:



<?php
$conn = mysqli_connect('ip_do_banco', 'usuario', 'senha', 'banco_de_dados');
if (!$conn) {
    die('Erro na conexão: ' . mysqli_connect_error());
}
mysqli_query($conn, 'SET NAMES \'utf8\'');
// Código aqui....
mysqli_close($conn);

Entretanto devo ressaltar para usar PDO.

 

 

ja conseguir fazer funcionar muito obrigado 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, ativo. Nela tem cadastrado vários itens. No campo ativo eu coloco a letra "S" para informar que este item está ativo no sistema. Por exemplo: 1, casa, S 2, mesa, S 3, cama, S 4, moto S 5, rádio O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "produtos" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, mesa, moto 2, mesa, casa, cama 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela produtos da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "mesa". Preciso fazer com que o php me liste todos os registros da tabela "produtos" que contenham a palavra "mesa". Até aqui tudo bem eu consigo listar. Estou fazendo assim: <?php $item = "mesa" $sql = mysqli_query($conn, "SELECT * FROM produtos WHERE item1 LIKE '$item' OR item2 LIKE '$item' OR item3 LIKE '$item' LIMIT 10"); while($aux = mysqli_fetch_assoc($sql)) { $id = $aux["id"]; $item1 = $aux["item1"]; $item2 = $aux["item2"]; $item3 = $aux["item3"]; echo $id . " - " . $item1 . ", " . $item2 . ", " $item3 . "<br>"; } ?> O problema é que está listando todos os registros que contém o item mesa. Eu preciso que o php verifique os demais item e me liste somente os registro em que todos os registros estejam ativos no sistema. No exemplo acima ele não deveria listar o registro 3. pois nesse registro contém o item "radio" e este item não está ativo no sistema. Ou seja, o registro "radio" na tabela itens não possui um "S" na coluna "ativo". Alguém sabe como resolver isso?
    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
×

Informação importante

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