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 Francklyn Souza
      Bom, vou direto ao ponto, alguém saberia me dizer como resolver esse problema ou aviso seila
       
      Warning: Cannot modify header information - headers already sent by (output started at /srv/disk8/2953546/www/dominio.com/security/funcao.php:1) in /srv/disk8/2953546/www/dominio.com/security/config.php on line 7
       
      Arquivo.: config.php
      if(isset($_GET['lang'])): $lang = $_GET['lang']; $_SESSION['lang'] = $lang; setcookie('lang', $lang, time() + (3600 * 24 * 30)); elseif(isset($_SESSION['lang'])): $lang = $_SESSION['lang']; elseif(isset($_COOKIE['lang'])): $lang = $_COOKIE['lang']; else: $lang = "en"; endif; switch ($lang) { default: include "dice/language/lang_eng.php"; break; case "pt": include "dice/language/lang_ptbr.php"; break; case "en": include "dice/language/lang_eng.php"; break; }  
    • Por MateusOFCZ
      Olá, estou desenvolvendo um sistema de publicidade para meu site, e quando entra em uma página, vamos chama-la de "Publicidade" ele mostra uma publicidade e depois de 10 segundos ele redireciona (OBS.: Essa página já está funcionando 100%), e temos outra página que vamos chama-la de "Início", bom... Quando você entrar na página "Início" ele irá na verdade, redirecionar o usuário para a página de Publicidade, porém, como faço para a pessoa não poder pular essa publicidade, como se fosse um camuflador de página, ou seja, se o usuário acessar a página ele irá para a página "imasters.com.br/publicidade", porém se ele alterar o link para "imasters.com.br/inicio" ele irá obrigar o usuário a ver a publicidade primeiro para depois leva-lo a página de "Inicio", caso isso seja complexo de fazer, teria alguma forma de esconder o nome da página (a parte do "/inicio" por exemplo), e deixar apenas o link, por exemplo, se eu ir para a página de publicidade irá aparecer apenas o link, neste caso "imasters.com.br", e não "imasters.com.br/publicidade", caso tenha alguma dúvida sobre o meu pedido pode perguntar, não mordo rs.

      Deis de já agradeço!
    • Por martinazzo
      Olá pessoal,
       
      sou novo por aqui e não sei bem como funciona, mas sei que preciso de uma ajuda kkkkk
      se puderem me dar uma mão ficaria grato;
       
      Estou tendo problemas em como pegar id de uma linha clicada em uma table, que já recebe os dados de um bd. Eu gostaria de poder editar os campos e salvar no banco de dados usando o ID da linha clicada;
       
      Vou colar o código abaixo, não reparem na bagunça kkkkk
       
      conexao.php
      <?php $server = "XXXXX";         Conferido e esta correto; $username = "XXXXX";  Conferido e esta correto; $password = "XXXXX";  Conferido e esta correto; $dbname = "XXXXX";     Conferido e esta correto; $conn = mysqli_connect($server, $username, $password, $dbname); altera.php
      <?php  $link = mysqli_connect("XXXXXX", "XXXXX", "XXXXX", "XXXXXX"); Conferido $sql = "SELECT * FROM interface "; $consulta = mysqli_query($link, $sql); ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="refresh" content="30"> <link rel="stylesheet" type="text/css" href="style.css"> <script src="sorttable.js"></script> <title>Dashboard</title> <?php  session_start(); if(!isset($_SESSION['login']) and !isset ($_SESSION['senha'])){     session_destroy();   unset($_SESSION['login']);   unset($_SESSION['senha']);   header('location:index.html');      }    ?> </head> <body> <a href="index.php"><img src="img/ditec_smart_hor_150px.png"></a> <div class="borda_titulo"> <h2><center>DIMILK | Equipamentos</font></h2></center></div><br /><br /> <form name="equipamento" action="salva.php" method=post> <center><table id="minhaTabela" border="3" class="sortable" bgcolor="#1E90FF">   <tr>   <th><center>ID </center></th>   <th><center>MAC</center></th>   <th><center>Habilitado</center></th>   <th><center>Descrição</center></th>   <th><center>Altura Tarro</center></th>   <th><center>Área Tarro</center></th>   <th><center>Alterar</center></th>   </tr>        <?php while($registro = mysqli_fetch_assoc($consulta)){         echo '<tr bgcolor="#ADD8E6" scope="row">';         echo '<td name="id"><center>'.$registro["id"].'</center></td>';         echo '<td name="mac"><center>'.$registro["mac"].'</center></td>';         echo '<td><center><input type="checkbox" name="status" value="$teste"><br></center></td>';         echo '<td id="linha_desc"><textarea name="desc" type=text placeholder="'.$registro["descricao"].'" /></textarea></td>';         echo '<td><input name="altura" type=text style="width: 70px;" placeholder="'.$registro["altura_latao"].' cm" /></td>';         echo '<td><input name="area" type=text style="width: 70px;" placeholder="'.$registro["area_latao"].' cm" /></td>';                  echo '<td><form method="get" action="salva.php"><center><button class="voltar" type="submit">Salvar</button></center></form><br />';         echo '</tr>';         }     echo '</tbody></table></form>';          ?></center><br />              <div>                         <form method="get" action="index.html">                     <center><button class="voltar" type="submit">Voltar</button></center></form>         </div>                                  <br />                 <footer class="borda_texto"><center>                 <img src="img/rodape_logo.png">                     2019 © <b>DITEC - Smart Solutions</b> - Todos os Direitos Reservados.                 <a class="px-4" href="https://www.ditecsc.com.br" target="_blank">Ditec - Smart Solution</a>                 </center></footer> </body> </html> salva.php
       
      <?php include('conexao.php'); include_once('altera.php');   // declaração de variáveis $id = 22; /*$id = $_GET['id']; $status = $_POST['status'];*/ $descricao = $_POST['desc']; $altura = $_POST['altura']; $area = $_POST['area'];   $up = mysqli_query($conn, "UPDATE interface SET descricao='$descricao', altura_latao='$altura', area_latao='$area' WHERE id=$id");    if(mysqli_affected_rows($conn) > 0){   echo '<center><h1><b>Sucesso</b></h1><br /> <h2>Atualizado!</h2></center>';   header("Refresh: 2;url=equipamentos.php"); }else{     echo '<center><h1><b>Erro</b></h1><br /> <h2>Não foi atualizado!</h2></center>';   header("Refresh: 2;url=altera.php"); }   mysqli_close($conn); ?> Do jeito que esta eu consigo alterar o id=22, mas não consegui pegar o id da linha sequente;
       
       
    • Por Diego Alexandre Dias
      Boa tarde,
       
      Estou tentando incluir uma formatação de moeda (number_format) dentro de um comando While, porém não estou tendo sucesso.
      Por Exemplo:
       
      Criei uma tabela simples que contempla a relação de clientes com seus respectivos valores de creditos adiquiridos
       
      Neste caso no corpo da tabela eu possuo três colunas:
       
      Valor_Credito , Cliente, status
       
      criei uma variável  $venda que recebe o resultado de uma query do meu banco de dados. Este mesmo resultado da query eu atribui uma variavel chamada $total .
      Esta mesma consulta se encarrega de somar o valor total de crédito adiquirido por cliente
       
      Sendo assim, meu WHILE percorre por todo minha tabela de clientes somando os respectivos creditos.
      Como resultado eu consigo retornar todas as informações que eu quero, porém não estou conseguindo fazer com que o valor de crédito saia com a formatação de moeda.
       
       

       
      O comando responsável por me trazer a relação de clientes  juntamente com  os créditos somados.  
               while ($venda = mysqli_fetch_assoc($total)) {                 echo '<tr>';                     echo '<td class="text-left">';                         echo $venda ['valor_credito'];       // Esta é a linha que preciso utilizar o number_format, porém tentei adaptá-lo de diferentes formas, mas não consegui.                     echo '<td>';                         echo $venda['Cliente'];                     echo '</td>';                                                 echo '<td class="text-right">';                         echo $venda['status'];                     echo '</td>';                 echo '</tr>';                        echo '</tbody>'; Agradeço desde já quem puder me ajudar.
×

Informação importante

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