BANCO ACEITA valor em branco no NOT NULL

Dúvidas sobre MySQL, PHPMyAdmin, SQL e assuntos relacionado a banco de dados.

Moderador: web

responder a dúvida

BANCO ACEITA valor em branco no NOT NULL

Mensagem por JP.BattleKilL Offline » Ter Set 27, 2011 10:13 am


agora e o seguinte estou tentando fazer o cadastramento ainda:

aki vai a pagina:
Código: Selecionar todos
<body>

<div class="corpo">
   <div class="title1">.: Empresas :.</div>
    <div class="title2">Adicionar uma empresa</div>
<div class="form2">
      <form name="upload_files" action="" enctype="multipart/form-data" method="post">
       Nome fantasia: <input name="fantasia" type="text" id="fantasia" style="width:450px;" /><br />
       Razão social: <input name="social" type="text" id="social" style="width:450px;" /><br />
       CNPJ: <input name="cnpj" type="text" id="cnpj" style="width:450px;" /><br />
       Inscr. Est.: <input name="estadual" type="text" id="estadual" style="width:450px;" /><br />
       Site: <input name="url" type="text" id="url" style="width:450px;" /><br />
      <input type="file" name="img[]" class="multi" maxlength="1" accept="jpeg|jpg|png|gif" /><br />
      <input type="submit" name="upload" value="upload" /><br /><br />
      </form>
<br />
</div>
<div align="center"><?php

      if(isset($_POST['upload'])){
         $pasta = 'logo/';
         $fant = $_POST["fantasia"];
         $soci = $_POST["social"];
         $cnpj = $_POST["cnpj"];
         $esta = $_POST["estadual"];
         $url = $_POST["url"];
      foreach($_FILES["img"]["error"] as $key => $error){
      
      if($error == UPLOAD_ERR_OK){
         $tmp_name = $_FILES["img"]["tmp_name"][$key];
         $md5 = md5(uniqid(time())) . $_FILES["img"]["name"][$key];
         $uploadfile = $pasta . basename($md5);

      if(move_uploaded_file($tmp_name, $uploadfile)){
         $inserir = "INSERT INTO cad_emp (fantasia, razao, cnpj, estadual, url_emp, logo_img) VALUES ('$fant', '$soci', '$cnpj', '$esta', '$url', '$md5')"; 
$resultado = mysql_query($inserir); ?>

          <?php
if(!$resultado)
echo tratar_erros(mysql_errno());
else
echo "Gravado com Suceso" ?>
            
      <?php }}}}   ?>   
   
  <a href="index.php?adm=8">
      <input name="avancar" type="submit" id="avacar" value="Avançar"  /></a>
  </div>
</form>

</div>

</body>
</html>


aki a tabela do banco
Código: Selecionar todos
-- phpMyAdmin SQL Dump
-- version 3.4.5
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tempo de Geração: 27/09/2011 às 14h11min
-- Versão do Servidor: 5.5.16
-- Versão do PHP: 5.3.8

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

--
-- Banco de Dados: `ofertaslem`
--

-- --------------------------------------------------------

--
-- Estrutura da tabela `cad_emp`
--

CREATE TABLE IF NOT EXISTS `cad_emp` (
  `cod_emp` int(11) NOT NULL AUTO_INCREMENT,
  `cnpj` varchar(14) NOT NULL,
  `estadual` varchar(20) DEFAULT NULL,
  `fantasia` varchar(45) NOT NULL,
  `razao` varchar(45) NOT NULL,
  `url_emp` varchar(100) DEFAULT NULL,
  `logo_img` varchar(255) NOT NULL,
  PRIMARY KEY (`cod_emp`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=33 ;

--
-- Extraindo dados da tabela `cad_emp`
--


tipo se eu tenta fazer um cadastro acima e deixa em branco a parte da url ou estadual que sao nulos ai tudo bem ele cadastra, so que se eu deixa em branco fantasia ou algum outro que e NOT NULL nao e nulo ele cadastra igual pq nao da erro ao cadastrar. pq not null nao pode cadastra com espaço em branco!!!


sera que se alguem souber poderia me ajudar ?



detalhes...


JP.BattleKilL
VETERANO
VETERANO
Mensagens: 170
Registrado em: Seg Set 12, 2011 11:53 am
Localização: Bahia Luis Eduardo Magalhães

BANCO ACEITA valor em branco no NOT NULL

Mensagem por web Offline » Ter Set 27, 2011 12:22 pm

DÚVIDAS SOBRE BRANCO DE DADOS POST NA SEÇÃO MYSQL, MOVIDO.

Segundo que sei, esse NOT NULL não funciona nesse seu caso. O ideal, seria você ter uma validação que verifica todos os campos necessários, se estão vazios ou não, e ai sim inserir se estiverem de acordo com sua regra.

detalhes...

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.

Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 12407
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil

BANCO ACEITA valor em branco no NOT NULL

Mensagem por JP.BattleKilL Offline » Ter Set 27, 2011 5:02 pm

vc teria um exemplo para me passar?

detalhes...


JP.BattleKilL
VETERANO
VETERANO
Mensagens: 170
Registrado em: Seg Set 12, 2011 11:53 am
Localização: Bahia Luis Eduardo Magalhães

BANCO ACEITA valor em branco no NOT NULL

Mensagem por web Offline » Ter Set 27, 2011 5:16 pm

Logo após

Código: Selecionar todos
if(isset($_POST['upload'])){

Você pode colocar

Código: Selecionar todos
if(isset($_POST["fantasia"]=="") OR isset($_POST["cnpj"]=="")) {
echo "Os campos ... devem ser preenchidos";
exit;
}

Ai você coloca os campos que precisa nesse if, dessa forma, os dados não são gravados até que os campos cheguem preenchidos.

detalhes...

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.

Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 12407
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil

BANCO ACEITA valor em branco no NOT NULL

Mensagem por JP.BattleKilL Offline » Ter Set 27, 2011 5:38 pm

da o seguinte erro
syntax error, unexpected T_IS_EQUAL, expecting ',' or ')' in

sera que e oque ?

detalhes...


JP.BattleKilL
VETERANO
VETERANO
Mensagens: 170
Registrado em: Seg Set 12, 2011 11:53 am
Localização: Bahia Luis Eduardo Magalhães

BANCO ACEITA valor em branco no NOT NULL

Mensagem por JP.BattleKilL Offline » Ter Set 27, 2011 5:52 pm

fico assim:

Código: Selecionar todos
<?php

      if(isset($_POST['upload'])){
      if(isset($_POST["fantasia"]=="") OR isset($_POST["cnpj"]=="")) {
echo "Os campos ... devem ser preenchidos";
exit;
}


da o seguinte erro
Código: Selecionar todos
Parse error: syntax error, unexpected T_IS_EQUAL, expecting ',' or ')' in C:\xampp\htdocs\Site\ADMIN\empresas\add_empresa.php on line 20


que na linha 20 a linha 20 e essa if(isset($_POST["fantasia"]=="") OR isset($_POST["cnpj"]=="")) {

mas eu nao entendi o pq ou ouqe q esta errado tentei trocar o OR por and da a mesma coisa

detalhes...


JP.BattleKilL
VETERANO
VETERANO
Mensagens: 170
Registrado em: Seg Set 12, 2011 11:53 am
Localização: Bahia Luis Eduardo Magalhães

BANCO ACEITA valor em branco no NOT NULL

Mensagem por web Offline » Ter Set 27, 2011 6:15 pm

Eu limitei o isset errado, nem vi. Segue um exemplo

Código: Selecionar todos
<?php
if(isset($_POST['submit'])) {

if($_POST['fantasia']=='' || $_POST['cnpj']=='') {
echo "Os campos ... devem ser preenchidos";
exit;
} else {
echo "enviado...";
}

}
?>

<form action="" method="post">
fantasia: <input type="text" name="fantasia" value="">
<br>
fantasia: <input type="text" name="cnpj" value="">
<br>
<input type="submit" name="submit">
</form>


detalhes...

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.

Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 12407
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil

BANCO ACEITA valor me branco no NOT NULL

Mensagem por JP.BattleKilL Offline » Ter Set 27, 2011 6:49 pm

opa funciono, so que tem o seguinte problema, eu utilizo isso numa include

entao aparece no meio de uma pagina quando nao preenche o campo e ele da o erro
Código: Selecionar todos
echo "Os campos ... devem ser preenchidos";


e mostra so erro sem o echo so que o resto da pagina some pois esse codigo fica em 1 pagina q e puxada para outra por include.

se eu tiro o exit; ele aparece so que ele nao funciona o comando ele grava igual!

se puder ajudar fico grato

detalhes...


JP.BattleKilL
VETERANO
VETERANO
Mensagens: 170
Registrado em: Seg Set 12, 2011 11:53 am
Localização: Bahia Luis Eduardo Magalhães

BANCO ACEITA valor em branco no NOT NULL

Mensagem por web Offline » Ter Set 27, 2011 6:55 pm

Tem certeza que colocou o INSERT no lugar do echo "enviado..."; ?

Porque mesmo tirando o exit; não é para enviar.

Tenta trabalhar todo o seu layout dentro desse if, colocando o conteúdo do site dentro do if.

detalhes...

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.

Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 12407
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil


responder a dúvida

Voltar para MySQL

Quem está online

Usuários navegando neste fórum: Bing [Bot] e 4 visitantes