Ir para conteúdo
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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por MAKAVELIQUE
      Pessoal, imaginem a seguinte situação: o usuário A clica no botão enviar no mesmo instante que o usuário B, caso a ação do sql seja um comando update no mesmo campo, id=7 por exemplo e isso acontecer exatamente no mesmo instante, ocorre perca de dados? 
      <?php $update = "UPDATE br_gang SET i='$i', data= NOW() WHERE id='$id'"; $query = mysqli_query($update, $conn) or die (mysqli_error($conn)); if($update==true){ echo "<script>alert ('DADOS SALVOS COM SUCESSO, BOA SORTE!');</script>"; } ?> Se isso acontecer e ocorrer perca de dados, qual o procedimento possível para resolver o problema?
    • Por Bobrinha
      Olá a todos.
       
      Tenho uma dúvida e não sei se é possível caso tenha alguma sugestão por favor avise.
       
      Adicionar resultado de um innerhtml dentro de um link atributo href é possível? ou seja eu tenho um input onde seleciono um ano 
       
      <select id="ano"> <option selected>2019</option> <option value="2018">2018</option> <option value="2017">2017</option> </select> <div id="anoAtual"></div> No query pego o valor ou seja o ano selecionado e jogo no html
       
      $("select").change(function () { document.getElementById("ano").innerHTML = document.getElementById("anoAtual").value; });  
      Agora vem a dúvida como eu jogo na URL? existe uma outra forma? é possível?
       
      <a href='resultado.php&ano=COMO JOGAR O ANO AQUI?'>  
       
    • Por MoiDVAec
      Boa tarde,
       
      Agradeço desde já a ajuda! Estou precisando conecta ao banco de dados e minha classe da o seguinte erro:
       
       Já fiz varias pesquisas ja fiz varias correções mas o erro persisti. Alguem pode me ajuda a entender onde errei?
       
      Segue o código:
       
      <?php abstract class banco{ //PROPRIEDADES public $servidor = "localhost:84"; public $usuario = "root"; public $senha = ""; public $nomeBanco = "ourlady"; public $conexao = NULL; public $dataset = NULL;//resultados das pesquisas public $linhasAfetadas = -1; //METODOS public function __construct(){ $this->connecta(); }//fim construtor public function __destruct(){ if($this->conexao != NULL): mysqli_close($this->conexao); endif; }//fim destrutor public function connecta(){ $con = $this->conexao = mysqli_connect($this->servidor,$this->usuario, $this->senha) or die($this->tratarErro(__FILE__,__FUNCTION__,mysqli_errno(),errorInfo(),True)); mysqli_select_db($con,$this->nomeBanco) or die($this->tratarErro(__FILE__,__FUNCTION__,mysqli_errno(),errorInfo(),True)); mysqli_set_charset($con,'utf8'); }// fim connecta public function inserirDados($objeto){ $conec = $this->connecta(); $erro = $this->tratarErro(__FILE__,__FUNCTION__); $sqlInserir = "INSERT INTO ".$objeto->tabela." ("; //loop inseri valores dentro do comando sql para ser inserido no banoc de dados for($i=0; $i<count($objeto->valores); $i++): $sqlInserir .= key($objeto->valores); //validação para inserir a virgula no meio do loop if($i < (count($objeto->valores)-1)): $sqlInserir .= ", "; else: $sqlInserir .= ") "; endif; next($objeto->valores); endfor; reset($objeto->valores); $sqlInserir .= "VALUES ("; for($i=0; $i<count($objeto->valores); $i++): // validação tenaria para puxar o segundo valor da array $sqlInserir .= is_numeric($objeto->valores[key($objeto->valores)]) ? $objeto->valores[key($objeto->valores)] : "'".$objeto->valores[key($objeto->valores)]."'"; //validação para inserir a virgula no meio do loop if($i < (count($objeto->valores)-1)): $sqlInserir .= ", "; else: $sqlInserir .= ");"; endif; next($objeto->valores); endfor; echo $sqlInserir; $query = mysqli_query($conec, $sqlInserir); return $query or $erro; }// fim inserir daddos public function tratarErro($arquivo=NULL, $rotina=NULL, $numErro=NULL, $msgErro=NULL, $geraExcept=FALSE){ if($arquivo==NULL) $arquivo="não informado"; if($rotina==NULL) $rotina="não informado"; if($numErro==NULL) $numErro=mysqli_connect_errno($this->conexao); if($msgErro==NULL) $msgErro=mysqli_connect_error($this->conexao); $resultado = 'Ocorreu o seguinte erro:<br/> <b>Arquivo</b>'.$arquivo.'<br/> <b>Rotina</b>'.$rotina.'<br/> <b>Erro</b>'.$numErro.'<br/> <b>Mensagem</b>'.$msgErro; if($geraExcept==False): echo($resultado); else : die($resultado); endif; }// fim tratarerro }// fim da claas banco ?>  
       
    • Por LuanMartinsTI
      Eu tenho o seguinte codigo para capturar minha camera e meu audio, toda vez que eu entro na pagina x ela executa o js e pede acesso a camera de quem acessa a pagina, porem eu vou bloquear essa pagina para que apenas eu ou pessoa autorizadas possam acessar, queria saber o seguinte, eu sei capturar o video e audio, mas como eu vou mostrar pro usuario o meu video e o meu audio??
      <script> video = document.createElement('video'); video.width = 320; video.height = 240; video.autoplay = true; var hasUserMedia = navigator.webkitGetUserMedia ? true : false; navigator.webkitGetUserMedia('video', function(stream){ video.src = webkitURL.createObjectURL(stream); }, function(error){ console.log("Navegador nao suporta", error); }); </script>  
    • Por allancisneiro
      pessoal boa tarde, estou construindo um arquivo HTML, porém estou com um problema de alinhamento do texto apartir do segundo<H1>.  já tentei  usar o comando align:"left". mas não funcionu.
      quem puder ajudar agradeço. a ideia é alinhar tudo à esquerda
       
      este arquivo contém este código-fonte:
       
      <!DOCTYPE html>
      <html>
      <head>
      <title>Título da página</title>
      <meta charset="utf-8"/>
      </head>
      <body>
      <h1>Lista não ordenada</h1>
      <ul>
      <li>LIVERPOOL</li>
      <li>CHELSEA</li>
      <li>MANCHESTER CITY</li>
      <li>MANCHESTER UNITED</li>
      <li>ARSENAL</li>
      <li>TOTTENHAM</li>

      <h1 align="left">Lista ordenada</h1>
      <OL>
      <li>LIVERPOOL</li>
      <li>CHELSEA</li>
      <li>MANCHESTER CITY</li>
      <li>MANCHESTER UNITED</li>
      <li>ARSENAL</li>
      <li>TOTTENHAM</li>

      </OL>
          
      </body>
      </html>

×

Informação importante

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