Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS

Moderador: web

 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 937
Sexo: Masculino
Localização: Ourinhos, SP

dúvida input type hidden

03-04-2009 17:33

Salve, galera! Num formulário de cadastro, há este input:
<input type=text name=Price value=\"$_POST[Price]\">

Mas eu desejo enviar um valor se o campo não for preenchido. Acredito que seja com hidden. Estou tentando desta maneira:
if(empty($_POST[Price])){"<input type='hidden' name='Price' value='Sob Consulta'>";}

E também desta:
if ($_POST[Price] == ''){"<input type='hidden' name='Price' value='Sob Consulta'>";}

Mas o valor não é registrado no banco de dados. Qual é maneira correta de se fazer o registro no bd como pretendo?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17246
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

dúvida input type hidden

03-04-2009 17:37

A forma parece correta, se o input aparece pelo código fonte está Ok, o que você não deve ter feito é criado a variável para capturar o valor do input.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 937
Sexo: Masculino
Localização: Ourinhos, SP

dúvida input type hidden

03-04-2009 21:45

As duas formas estariam corretas? Ou uma e outra? Se esta situação, qual das duas seria a correta. Há a variável. O action remete para a página onde há o código de inserção de dados, em que há a variável. Sem isso que desejo fazer, há a inserção no banco de dados. Coloquei as duas formas dentro e fora do form, mas não foi enviado. O input original é este:
<tr bgcolor=\"#d4d0c8\" onMouseover=\"this.style.background='#def8f7'\" onMouseout=\"this.style.background='#d4d0c8'\"> <td width=\"40%\" height=\"30\" align=\"right\" valign=\"middle\">Pre&ccedil;o:&nbsp;</td> <td width=\"60%\" align=\"left\" valign=\"middle\"> <input type=text name=Price value=\"$_POST[Price]\">&nbsp;<font class=TextObservacao>* (formato: 0.000,00)</font> </td> </tr>

Depois do fechamento da linha inseri isto:
if ($_POST[Price] == ''){"<input type='hidden' name='Price' value='Sob Consulta'>";} $CadastrarDados .= "</form>

. Mas, conforme referi, já coloquei esse código fora do form e nada.
0
 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 937
Sexo: Masculino
Localização: Ourinhos, SP

dúvida input type hidden

03-04-2009 22:04

Deu certo, mas tive de fazer assim:
$CadastrarDados .= "<input type=text name=Price value=\"$_POST[Price]\">&nbsp;<font class=TextObservacao>* (formato: 0.000,00)</font> "; if($_POST[Price] == '') { $CadastrarDados .= "<input type='hidden' name='Price' value='Sob Consulta'>"; }

Se eu tiro isto $CadastrarDados .= do input hidden o valor não é enviado.
0
 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 937
Sexo: Masculino
Localização: Ourinhos, SP

dúvida input type hidden

03-04-2009 22:07

Desculpe. Não quero flodar. Mas foi alarme falso. Agora, se insiro um valor no campo, o valor registrado não é inserido mas o do input hidden. Se houver uma luz, por favor, me diga.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17246
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

dúvida input type hidden

04-04-2009 08:28

Você tem que trabalhar o if else, estuda o script abaixo e adapta ao seu

<?php $preco = "valor qualquer"; if($preco=="") { $CadastrarDados.= "<input type='text' name='Price' value='Sob Consulta'>"; } else { $CadastrarDados.= "<input type='text' name='Price' value='$preco'>"; } echo $CadastrarDados; ?>

0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 937
Sexo: Masculino
Localização: Ourinhos, SP

dúvida input type hidden

04-04-2009 10:14

Já tinha testado com if else, conforme abaixo, mas não deu certo. Vou tentar novamente:
if($_POST[Price] =! '') { $CadastrarDados .= "<input type=text name=Price value=\"$_POST[Price]\">&nbsp;<font class=TextObservacao>* (formato: 0.000,00)</font> "; } else { if(empty($_POST[Price])) { $CadastrarDados .= "<input type='hidden' name='Price' value='Sob Consulta'>"; } }

--
Está acontecendo o seguinte, tentando com seu código: nessa linha
$CadastrarDados.= "<input type='text' name='Price' value='Sob Consulta'>";

se deixo o type como text, o valor é mostrado, mas eu gostaria que ele ficasse em branco. Desejo que o usuário não tenha de apagar o que está no campo para digitar o valor que quiser. Se mudo o type para hidden, o input não aparece. A situação seria a seguinte: o campo não é obrigatório. Se o usuário desejar digitar um valor, ele o fará e esse valor será enviado. Mas se ele não quiser preencher o campo, ele deve enviar o valor "Sob consulta", mas sem que esse valor apareça no campo em branco. É, por exemplo, como deixar, no banco de dados, o campo como padrão "Sob consulta", mas eu gostaria de resolver isso no próprio código.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17246
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

dúvida input type hidden

04-04-2009 12:42

Se for um cadastro, você pode deixar o input vazio, ai na hora de inserir, verifica se veio algum valor, se sim você usa, caso contrário, deixa outro, tipo:

$_POST['preco']=="" ? $novo = "sob consulta" : $novo = $_POST['preco'];

Se for uma edição de dados já vai vir um valor qualquer ou sob consulta, ai é só usar a mesma linha acima.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 937
Sexo: Masculino
Localização: Ourinhos, SP

dúvida input type hidden

04-04-2009 16:52

Mas tem de haver isto no input: value=\"$_POST[Price]\", para não ser desmarcado o campo na hipótese de validação. Na hipótese de edição de dados acredito que seria: value=\"$ap[Price]\".
0
 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 937
Sexo: Masculino
Localização: Ourinhos, SP

dúvida input type hidden

04-04-2009 17:40

Estou jogando a toalha. Vou fazer conforme o exemplo que você deu: primeiramente, o input aparecerá com o valor sob consulta preenchido, e esse valor será registrado se o usuário não modificá-lo. Se o usuário inserir outro valor no campo, o valor inserido será registrado no banco de dados (mas fica a observação de que a intenção original não era esta: desejava-se que aparecesse o input sem valor preenchido preliminarmente, mas que, se o usuário não preenchesse o campo, um input hidden inserisse um valor desejado, como, por exemplo, "Sob consulta". Porém, tentei de várias maneiras, mas tive sucesso parcial. Entretanto, se alguém tiver uma luz, peço que informe). Abaixo, o funcionamento conforme exemplo passado:
$preco = "$_POST[Price]"; if($preco == '') { $CadastrarDados .= "<td width=\"60%\" align=\"left\" valign=\"middle\"><input type='text' name='Price' value='Sob Consulta'>&nbsp;<font class=TextObservacao>* (formato: 0.000,00)</td>"; } else { if($preco != '') { $CadastrarDados .= "<input type=text name=Price value=\"$preco\">"; } }

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17246
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

dúvida input type hidden

04-04-2009 20:10

Foi o que citei nessa linha

$_POST['preco']=="" ? $novo = "sob consulta" : $novo = $_POST['preco'];

Se preco vier vazio, vai ser gravado o sob consulta, caso contrário, o valor do input, só você testar que vai entender.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 937
Sexo: Masculino
Localização: Ourinhos, SP

dúvida input type hidden

04-04-2009 21:15

Eu tentei, mas não sei onde coloco. É no value do input? Outra coisa: estou colocando o código PHP dentro de uma variável, como, por exemplo: $codigo .= "tabelas, linhas, células, código, etc";. Para exibir, faço: <?=$codigo?>. Às vezes, não consigo adaptar um determinado exemplo para a forma que estou usando.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17246
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

dúvida input type hidden

04-04-2009 21:28

Essa linha que passei vai no arquivo que recebe todos valores do formulário, ai verifica se tem valor, não tendo, cria $novo com o valor sob consulta, já se vier com valor, cria $novo com o valor que foi colocado no input, faz um form simples com só um campo chamado preco e testa.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 937
Sexo: Masculino
Localização: Ourinhos, SP

dúvida input type hidden

04-04-2009 22:46

Vou fazer como você me sugeriu, pois suas dicas têm dado certo e me ajudado. Mas, se permitir, desejo fazer uma última observação antes de tentar conforme sua sugestão. A validação é feita no arquivo que contém o formulário. Assim, se houver o preenchimento de algum campo, esse valor fica gravado na $_POST do value (minha linguagem não é técnica mas acho que dá para entender). Não havendo erro no preenchimento, é chamado o arquivo que recebe os dados. Você disse para inserir o código no arquivo que recebe os dados. Como fica a validação nesse caso, que é feita no arquivo anterior, que contém o form, e que contém o input, desta maneira:
$preco = "$_POST[Price]"<input type=text name=Price value=\"$preco\"> ou <input type=text name=Price value=\"$_POST[Price]\">

E não dá para eu colocar o recebimento dos valores no mesmo arquivo do form, em razão da estrutura do cadastramento.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17246
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

dúvida input type hidden

04-04-2009 23:17

Veja essa base

<form action="" method="POST"> outro <input type="text" name="outro" value=""> <br> valor <input type="text" name="preco" value="<?=$_POST['preco']!='' ? $_POST['preco'] : ''; ?>"> <br> <input type="submit" name="envio"> </form> <?php if($_POST['envio']) { $preco = $_POST['preco']; $preco=="" ? $novo = "sob consulta" : $novo = $preco; echo $novo; } ?>

0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado