Jump to content
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.

Share this post


Link to post
Share on other 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?

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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!";
}
?>

?

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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.

 

 

Share this post


Link to post
Share on other 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 

 

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

  • Similar Content

    • By b2black
      Estava vendo para atualizar o Windows pro 11, e notei isso no site da Microsoft, alguém sabe qual repositorio, ou como pesquisar para desenvolver algo similar?
      Quando você rola a página, o menu fica transparente.
       
      Explore Windows 11 OS, Computers, Apps, & More | Microsoft
    • By Marcos RJ
      Bom dia, boa tarde, boa noite colegas.
       
      Tenho um projeto onde conterá diversos subdomínios. Ex.:
      empresa1.site.com.br empresa2.site.com.br empresa3.site.com.br Esses subdomínios acessarão o sistema que está dentro do seguinte diretório:
      site.com.br/sistema/ Gostaria de fazer com que os subdomínios acessassem o sistema sem alterar a url, pois o objetivo é quando fizer quaisquer alterações e/ou inclusões de novos recursos, não tenhamos a necessidade de fazer isso dentro de todos os subdomínios, haja vista que serão dezenas ou até mesmo centenas de subdomínios. As minhas tentativas foram diretamente no .htaccess:
      RewriteEngine on RewriteCond %{HTTP_HOST} ^empresa1.site.com$ [OR] RewriteCond %{HTTP_HOST} ^www.empresa1.site.com$ RewriteRule ^(.*) http://www.site.com/sistema/$1?key=empresa1 [P,L] E o PHP ficou dessa forma:
       
      $diretorio = $_REQUEST["key"]; if($directory != null){    require "http://".$diretorio.".site.com.br/sistema/class/conectCass.php"; }else{  require "conectClass.php";  } Mas não deu certo. Tentei diretamente pelo PHP, mas quando clico no link criado, ele me obriga que a página do link esteja dentro dos subdiretórios. Em cada subdomínio coloquei da seguinte forma:
      include 'sistema/'; E no index.php do diretório sistema/:
      $host = $_SERVER['SERVER_NAME']; $host = str_replace(['www.', '.site.com.br', 'site.com.br'], '', $host); if($host == '') {     // entra o conteúdo do sistema } else {     // Entra o conteúdo do subdomínio } Mas também não funcionou. Como eu poderia resolver isso?

      Muito obrigado!
    • By viniciusfroner
      Bom dia, quero fazer um botão onde ao der o click pelo pc leve a uma página de contato para o whatsapp e pelo celular leve o número de contato a discagem direta.
      Procurei em alguns lugares mas o método de implementação que encontrei dependeria de codigos javascript que pra mim ainda são muito complexos, como por exemplo:
       
      function detectar_mobile() { var check = false; //wrapper no check (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera); return check; } <a href="" class="get-started-btn scrollto">Ligue para nós</a>  
×

Important Information

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