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

Atribuir texto de um select a uma variável PHP


GuTo...

Pergunta

Estou iniciando com o PHP. Comecei os primeiros passos ontem.

E estou com uma guerra terrível. :(

Preciso atribuir o texto (não o valor), a uma variável.

O valor atribui facilmente utilizando o seguinte código:

$mail = $_POST['assuntoSelect'];

Funcionou beleza.

Agora quando utilizo o seguinte código, não tenho sucesso:

$assunto = $_POST['document.formulario.assuntoSelect.options[selectedIndex].text'];

O que estou fazendo de errado? Como posso atribuir o texto do select a uma variável PHP?

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

O texto não é transportado, o POST resgata o valor do campo do formulário (input, textarea, select, etc...), se você tiver a necessidade de ter o texto E o valor, guarda ambos no value e resgata, separando ambos de alguma maneira que você saiba que não será usada, pois exemplo, supondo que o valor seja XXX e o texto KKK, você poderia por no valur XXX|KKK, resgata isso com o $_POST dá um explode no | e você tem os dois valores...

Link para o comentário
Compartilhar em outros sites

  • 0
O texto não é transportado, o POST resgata o valor do campo do formulário (input, textarea, select, etc...), se você tiver a necessidade de ter o texto E o valor, guarda ambos no value e resgata, separando ambos de alguma maneira que você saiba que não será usada, pois exemplo, supondo que o valor seja XXX e o texto KKK, você poderia por no valur XXX|KKK, resgata isso com o $_POST dá um explode no | e você tem os dois valores...

você poderia me dar um exemplo?

não sei como se faz isso, como disse sou novo com o PHP

Link para o comentário
Compartilhar em outros sites

  • 0
O texto não é transportado, o POST resgata o valor do campo do formulário (input, textarea, select, etc...), se você tiver a necessidade de ter o texto E o valor, guarda ambos no value e resgata, separando ambos de alguma maneira que você saiba que não será usada, pois exemplo, supondo que o valor seja XXX e o texto KKK, você poderia por no valur XXX|KKK, resgata isso com o $_POST dá um explode no | e você tem os dois valores...

A aplicação so Select é a sequinte:

Tenho uma lista de Assunto (Texto) e os valores de cada texto é um e-mail.

Atribuo o valor a uma variavel chamada $email.

Mais preciso do Texto para atribuir a variavel $assunto.

Como posso resolver isso?

Link para o comentário
Compartilhar em outros sites

  • 0

Vamos supor que o seu select original seja assim:

<select name="select">
  <option value="111">texto1</option>
  <option value="222">texto2</option>
  <option value="333">texto3</option>
</select>
O que será enviado para o PHP será o que estiver no value (111,222,333...) O que te propus foi o seguinte:
<select name="select">
  <option value="texto1|111">texto1</option>
  <option value="texto2|222">texto2</option>
  <option value="texto3|333">texto3</option>
</select>
Isso vai enviar para o PHP text1|111, text2|222, texto3|333 Você resgata isso no action e dá um explode, vamos supor que eu tenho escolhido "texto2" e enviado:
$pega = explode('|',$_POST['select']);

Isso vai criar um array com dois elementos, $pega['0'] que vai ter o valor "texto2" e $pega['1'] que vai ter o valor "222". A idéia é essa.

Link para o comentário
Compartilhar em outros sites

  • 0
Vamos supor que o seu select original seja assim:

<select name="select">
  <option value="111">texto1</option>
  <option value="222">texto2</option>
  <option value="333">texto3</option>
</select>
O que será enviado para o PHP será o que estiver no value (111,222,333...) O que te propus foi o seguinte:
<select name="select">
  <option value="texto1|111">texto1</option>
  <option value="texto2|222">texto2</option>
  <option value="texto3|333">texto3</option>
</select>
Isso vai enviar para o PHP text1|111, text2|222, texto3|333 Você resgata isso no action e dá um explode, vamos supor que eu tenho escolhido "texto2" e enviado:
$pega = explode('|',$_POST['select']);

Isso vai criar um array com dois elementos, $pega['0'] que vai ter o valor "texto2" e $pega['1'] que vai ter o valor "222". A idéia é essa.

ESerra, Muito Obrigado!!!!!!

Deu certo, meu codigo ficou assim (para quem precisar):

O Select:

<select name=assuntoSelect" id="assuntoSelect" onkeypress="desabilita_cor(this)" onClick="desabilita_cor(this)">

<option value=Geral|sac@seudominio.com.br>Geral</option>

<option value=Diretoria|email1@seudominio.com.br>Diretoria</option>

<option value=Ger&ecirc;ncia|email2@seudominio.com.br>Ger&ecirc;ncia</option>

<option value=Informa&ccedil;&otilde;es sobre Produtos|sac@seudominio.com.br>Informa&ccedil;&otilde;es sobre Produtos</option>

<option value=WebMaster|webmaster@seudominio.com.br>WebMaster</option>

</select>

PHP:

$pegaSelect = explode('|',$_POST['assuntoSelect]);

$assunto = $pegaSelect['0'];

$mail = $pegaSelect['1'];

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,2k
    • Posts
      652,1k
×
×
  • Criar Novo...