Ir para conteúdo
Fórum Script Brasil
  • 0

Form ?


daniel_php

Pergunta

olá, é o seguinte criei um form com campos texto e radio, e uma página para inclusão no MySQL, mas tem campos que podem ser deixados em branco, mas se rodo o script ele da um erro:

Notice: Undefined index: veiculo in c:\inetpub\wwwroot\sites\cad.php on line 40

que é exatamente o campo veiculo do form que foi deixado em branco, na página de inclusão exite o

$veiculo = $_POST['veiculo'];

se a variavel veiculo é deixada em branco não é enviada pelo form e gera esse erro, como atribuir um valor default a esse campo, para quando deixado em branco enviar uma variável default ?

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

Nesse caso se você deixar o campo em branco use isset

ou se pode fazer assim:

$veiculos = "";

$veiculos = $_POST["veiculos"];

dai se deixar o campo em branco ele vai usar o valor assim em branco

mas o correto mesmo é você usar isset:

if(isset($_POST["campo])){

$campo = $_POST["campo"];

}

Link para o comentário
Compartilhar em outros sites

  • 0

ele envia em branco

mas se você acessar a pagina quen recebe direto da erro porque não vai existir

a $_POST["campo"];

por isso se deve usar isset

se tentou usar ?

não era pra dar erro mesmo se você deixar os campos em branco

a não ser que o campo do banco não aceite da uma olhada como que ta no banco

Link para o comentário
Compartilhar em outros sites

  • 0

E que eu gerei esse código no dreamweaver, e o dreamweaver polui muito o código,e outra o form e o script que insere os dados estão na mesma página, então tem uns cases para que o código não seja executado na primeira vez que o usuário acesse a página....vou estudar o código melhor e ver se de repente coloquei o isset em lugar errado...Melhor mesmo é fazer tudo na mão..

Veja o código :

<?php require_once('Connections/cadastro.php'); ?>

<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")

{

$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {

case "text":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "long":

case "int":

$theValue = ($theValue != "") ? intval($theValue) : "NULL";

break;

case "double":

$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";

break;

case "date":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "defined":

$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;

break;

}

return $theValue;

}

$editFormAction = $_SERVER['PHP_SELF'];

if (isset($_SERVER['QUERY_STRING'])) {

$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);

}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {

$insertSQL = sprintf("INSERT INTO vocalistas (nome, mail, idade, bairro, toca, veiculo, coments) VALUES (%s, %s, %s, %s, %s, %s, %s)",

GetSQLValueString($_POST['nome'], "text"),

GetSQLValueString($_POST['mail'], "text"),

GetSQLValueString($_POST['idade'], "int"),

GetSQLValueString($_POST['bairro'], "text"),

GetSQLValueString($_POST['toca'], "text"),

GetSQLValueString($_POST['veiculo'], "text"),

GetSQLValueString($_POST['coments'], "text"));

mysql_select_db($database_cadastro, $cadastro);

$Result1 = mysql_query($insertSQL, $cadastro) or die(mysql_error());

}

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Geralmente quando os dados vao ser enviados para mesma pagina eu faço assim:

<?

if(isset($_GET["acao"])){

if($_GET["acao] == "gravar"){

$cn = mysql_connect("localhot");

mysql_select_db("banco", $cn);

$campo = $_POST["campo];

$campo2 = $_POST["campo2"];

mysql_query("Insert into tabela (campo,campo2) Values ($campo, $campo2)");

}

}

?>

<html>

<head>

<title>teste</title>

</head>

<body bgcolor="#FFFFFF" text="#000000">

<form name="form1" method="post" action="pagina.php?acao=gravar">

  <p>campo

    <input type="text" name="campo">

  </p>

  <p>campo2

    <input type="text" name="campo2">

    <input type="submit" name="Submit" value="Salvar">

  </p>

</form>

</body>

</html>

Editado por fabyo
Link para o comentário
Compartilhar em outros sites

  • 0

Entendi se a Variavel acao não existir ele não executa o código, que somente será executado quando a pagina for acessada com ?acao=gravar estiver na url,

mas só uma dúvida não seria

if(isset($_GET["acao"]))

em vez de

if(isset($_POST["acao"]))

uma vez que a variavel gravar vem de uma url e não de um form ?

Link para o comentário
Compartilhar em outros sites

  • 0
Entendi se a Variavel acao não existir ele não executa o código, que somente será executado quando a pagina for acessada com ?acao=gravar estiver na url,

mas só uma dúvida não seria

if(isset($_GET["acao"]))

em vez de

if(isset($_POST["acao"]))

uma vez que a variavel gravar vem de uma url e não de um form ?

Bom eu fiz testes e os dois funcionam, tanto $_POST como $_GET

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...