Jump to content
Fórum Script Brasil
  • 0

sitema de cadastro


Question

Bom dia !

Preciso de ajuda, tenho um código de cadastro mas não consigo gravar no banco, onde está o erro???

Agraço ajuda desde já.

Obrigado

 

Jorge Auad

 

***segue meu codigo:

<?php
include "conn.php";

$acao = @$_GET['acao'];

$error = @$_GET['sizeof'];

if ($acao == "cadastro") {

// Recebendo valores
$datacomp = $_POST["datacomp"];
$carro = $_POST["carro"];
$anomod = $_POST["anomod"];
$placa = $_POST["placa"];
$cor = $_POST["cor"];
$origem = $_POST["origem"];
$valorcomp = $_POST["valorcomp"];
$situa = $_POST["situa"];
$info = $_POST["info"];

// datacomp
if ($datacomp == "") {
    $error[0] = "Preencha a data";
}

// carro
if ($carro == "") {
    $error[1] = "Preencha o nome do Carro";
}

// anomod
if ($anomod == "") {
    $error[2] = "Preencha o Ano/Modelo";
}

// placa
if ($placa == "") {
    $error[3] = "Preencha o nome do Carro";
}

// cor
if ($cor == "") {
    $error[4] = "Preencha a cor do Carro";
}

// origem
if ($origem == "") {
    $error[5] = "Preencha a origem (nac/Imp) do Carro";
}
// valorcomp
if ($valorcomp == "") {
    $error[6] = "Preencha o valor pago";
}

// situa
if ($situa == "") {
    $error[7] = "Preencha a situação do Carro";
}

// Caso não haja nenhum erro
if (sizeof($error) == 0) {


$query = mysql_query("INSERT INTO veiculos VALUES ('', '$datacomp', '$carro', '$anomod', '$placa', '$cor', '$origem', '$valorcomp', '$situa, '$info')");

if ($query) {
    echo "<script language='javascript'>alert('Cadastro efetuado com sucesso')</script>";
} else {
    echo "<script language='javascript'>alert('Não foi possivel realizar o cadastro no momento')</script>";
}

}

}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cadastro de Veículos</title>
<link href="estilo.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="principal">
<h1>Cadastro de Veículos</h1>
<?php
// Caso haja erros
if (sizeof($error) != 0) {
    // Exibe os erros
    foreach ($error as $err) {
        echo "<font color='red'><b>" .$err . "</b></font><br />";
    }
}
?>
<form method="post" action="cadastro.php?acao=cadastro">
<p><strong>Data da Compra:</strong><br /><input name="datacomp" type="date" value="<?php if (sizeof($error) != 0) { echo $datacomp; } ?>" /></p>
<p><strong>Carro:</strong><br /><input name="carro" type="text" value="<?php if (sizeof($error) != 0) { echo $carro; } ?>" /></p>
<p><strong>Ano / Modelo:</strong><br /><input name="anomod" type="text" value="<?php if (sizeof($error) != 0) { echo $anomod; } ?>" /></p>
<p><strong>Placa:</strong><br /><input name="placa" type="text" value="<?php if (sizeof($error) != 0) { echo $placa; } ?>" /></p>
<p><strong>Cor:</strong><br /><input name="cor" type="text" value="<?php if (sizeof($error) != 0) { echo $cor; } ?>" /></p>
<p><strong>Origem:</strong><br /><input name="origem" type="text" value="<?php if (sizeof($error) != 0) { echo $origem; } ?>" /></p>
<p><strong>Valor da Compra:</strong><br /><input name="valorcomp" type="text" value="<?php if (sizeof($error) != 0) { echo $valorcomp; } ?>" /></p>
<p><strong>Situação:</strong><br /><input name="situa" type="text" value="<?php if (sizeof($error) != 0) { echo $situa; } ?>" /></p>
<p><strong>Informações Adicionais:</strong><br /><textarea name="info" cols="30" rows="5"><?php if (sizeof($error) != 0) { echo $info; } ?></textarea></p>
<p><input type="submit" value="Cadastrar" /></p>
</form>
</div>
<a href='index.php'>Voltar</a>
</body>
</html>

Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

"Não consegue"? Por quê? Qual é o problema? Dá erro? Qual? Descreva sua dúvida

Retire os "@" do seu código. Isso é pura gambiarra. Veja mais aqui: http://rberaldo.com.br/boas-praticas-programacao-php/#arroba

Habilite todas as mensagens de erro como mostrado aqui: http://rberaldo.com.br/as-mensagens-de-erros-mais-comuns-do-php/#enable_errors

Tutorial de sistema de cadastro: http://blog.ultimatephp.com.br/sistema-de-cadastro-php-mysql-pdo/

 

PS: funções mysql_* estão obsoletas desde o PHP 5.5  e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/


 

Link to post
Share on other sites
  • 0

Olá!

Tente assim:

Arquivo connection.php

<?php

// variáveis para conexão com banco de dados online
$host = 'localhost';
$user = 'root';
$password = '';
$database = 'scriptbrasil';

// estabelecer conexão:
$sqli = new mysqli($host, $user, $password);

// verificando se conectou de boas:
if ($sqli->connect_error) {
   // se houver alguma falha, exibe mensagem:
   echo '<p class="error">Falha na conexão: ' . $sqli->connect_error . '</p>';
}

// definir o padrão de caracteres
if (!$sqli->set_charset('utf8')) {
   // se não conseguir definir o padrão de caracteres, exibe o padrão disponível
   echo "<p class='error'>Seu charset não é utf8, chefe!<br>$sqli->character_set_name()</p>";
}

// selecionar/abrir o banco de dados para trabalhar
if (!$sqli->select_db($database)) {
   // se o banco de dados não for encontrado
   echo "<p class='error'>Banco de dados não encontrado, chefe!</p>";
}

Outro arquivo:

<?php
error_reporting(E_ALL);
include 'connection.php';
// inicia as variáveis do formulário:
$datacomp = $carro = $anomod = $placa = $cor = $origem = $valorcomp = $situa = $info = null;

$error = isset($_GET['sizeof']) ? $_GET['sizeof'] : null;

if (isset($_POST['datacomp'])) { // se datacomp foi postada

// Recebendo valores
   extract($_POST);
// define as mensagens de erro para cada campo
   $error_msgs = [
       'datacomp' => 'Preencha a Data',
       'carro' => 'Preencha o nome do Carro',
       'anomod' => 'Preencha o Ano/Modelo',
       'placa' => 'Preencha o nome do Carro',
       'cor' => 'Preencha a cor do Carro',
       'origem' => 'Preencha a origem (nac/Imp) do Carro',
       'valorcomp' => 'Preencha o Valor Pago',
       'situa' => 'Preencha a Situação do Carro',
   ];
   // checar se algum dos campos em $error_msgs está vazio:
   foreach ($error_msgs as $k => $v) {
      if (empty($$k)) {
         $error[] = $v;
      }
   }
// Caso não haja nenhum erro
   if (sizeof($error) == ) {

      $save = $sqli->query("INSERT INTO veiculos VALUES ('', '$datacomp', '$carro', '$anomod', '$placa', '$cor', '$origem', '$valorcomp', '$situa', '$info')");

      if ($sqli->error) {
         echo "<script language='javascript'>alert('Não foi possivel realizar o cadastro no momento')</script>" . $sqli->error;
      } else {
         echo "<script language='javascript'>alert('Cadastro efetuado com sucesso')</script>";
      }
   }
}
?>
<!doctype html>
<html lang='pt-br'>
   <head>
      <meta charset='utf-8'>
      <title>Cadastro de Veículos</title>
      <link href="estilo.css" rel="stylesheet">
   </head>

   <body>
      <div id="principal">
         <h1>Cadastro de Veículos</h1>
         <?php
// Caso haja erros
         if (sizeof($error)) {
            // Exibe os erros
            foreach ($error as $err) {
               echo "<font color='red'><b>" . $err . '</b></font><br>';
            }
         }
         ?>
         <form method="post">
            <p><strong>Data da Compra:</strong><br>
               <input name="datacomp" type="date" value="<?= $datacomp ?>" required></p>
            <p><strong>Carro:</strong><br>
               <input name="carro" type="text" value="<?= $carro ?>" ></p>
            <p><strong>Ano / Modelo:</strong><br>
               <input name="anomod" type="text" value="<?= $anomod; ?>"></p>
            <p><strong>Placa:</strong><br>
               <input name="placa" type="text" value="<?= $placa; ?>"></p>
            <p><strong>Cor:</strong><br>
               <input name="cor" type="text" value="<?= $cor; ?>"></p>
            <p><strong>Origem:</strong><br>
               <input name="origem" type="text" value="<?= $origem; ?>"></p>
            <p><strong>Valor da Compra:</strong><br>
               <input name="valorcomp" type="text" value="<?= $valorcomp; ?>"></p>
            <p><strong>Situação:</strong><br>
               <input name="situa" type="text" value="<?= $situa; ?>" required></p>
            <p><strong>Informações Adicionais:</strong><br>
               <textarea name="info" cols="30" rows="5"><?= $info; ?></textarea></p>
            <p><input type="submit" value="Cadastrar" ></p>
         </form>
      </div>
      <a href='index.php'>Voltar</a>
   </body>
</html> 

 

Ué! O sistema do fórum comeu um zero ali:

sahncBX.png

Talvez tenha comido mais alguns caracteres

Link to post
Share on other sites
  • 0

Desculpa mas não sei onde postar. Alguém aí para ajudar? O meu problema é que criei um formulario com o campo nome e email em flash e php. Eu acho que o php está errado. Alguém aí para ajudar? Segue o codigo:

<?php
    $dest = $_POST['destino'];
    $head = 'From ".$_POST['email']."\n";

    $msg = "-----------DADOS------------ \n"
    $msg.= "NOME:  ".$_POST['nome']."\n";
    $msg.= 'EMAIL: ".$_POST['email']."\n";
    $msg.= 'HORA:  ".date('h:i:s a  ")."\n";
    $msg.= "-------------------------------\n\n";
    $msg.= "Mensagem: \n";
    $msg.= $_POST['mensagem']."\n\n";
    $msg.= "-------------------------------\n";

    if (mail($dest, "Cadastro de leads", $msg. $head)) {
        echo "resposta=ok";
    }
    else
    {
        echo "resposta=error";
    {
?>

Link to post
Share on other sites
  • 0

Meu velho, não conhecemos o teu arquivo "conn.php", entretanto, considerando que esteja tudo certo com ele, olha essa linha:

$query = mysql_query("INSERT INTO veiculos VALUES ('', '$datacomp', '$carro', '$anomod', '$placa', '$cor', '$origem', '$valorcomp', '$situa, '$info')"); 

Se tu perceber, no "$situa" está faltando uma aspas simples...

Ahhh! As observações do Beraldo são muito pertinentes... dá uma olhada nos links dele ;)

 

Abraço fera!

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148897
    • Total Posts
      644971
×
×
  • Create New...