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

Duvida Sobre Script (Iniciante)


frutuoso

Pergunta

Pode me ajudar com o código abaixo, o que faz o script PHP (Sou iniciante).

<label>Conjunto</label><input type="checkbox" id="AtivaConjunto" name="AtivaConjunto" value="S" <?php if($Produto->AtivaConjunto === 'S') { echo 'checked'; } ?> >

 

 

Editado por frutuoso
incrementar informação na pergunta.
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 1

No caso supracitado o php vai escrever o html pra você.
Baseado numa informação que provavelmente vem do database,  o php vai decidir se o checkbox vai ficar marcado ou não.
É impossível resolver só com html.
html não "conversa" com o banco de dados

Link para o comentário
Compartilhar em outros sites

  • 0
Em 23/08/2021 em 14:31, lowys disse:

O script php determina se o checkbox vai ou não estar checkado

OI, eu tb sou iniciante e tenho outra duvida em relação ao script. Pelo HTML tem a função de já deixar uma checkbox marcada, qual é a diferença quando feito no php, isso melhora o código? Ou é melhor deixar no HTML?

Link para o comentário
Compartilhar em outros sites

  • 0
<label>Conjunto</label>
<input type="checkbox" id="AtivaConjunto" name="AtivaConjunto" value="S" 
       <?php if($Produto->AtivaConjunto === 'S') { echo 'checked'; } ?> 

Se rodarmos o código do jeito que está, o PHP reclama que o $produto é uma variável indefinida.

Como ele tem uma flecha ->, eu entendo que $produto representa uma classe. Logo, 
$produto->ativaconjunto significa que ele está trabalhando com a propriedade ativaconjunto de uma classe representada pela variável $produto. Para saber o nome da classe vai ser necessário olhar os códigos anteriores, aqui vou presumir que o nome da classe é o mesmo da variável.

Já o código if($produto->ativaconjunto==='s') não faz o menor sentido, a ideia é comparar a propriedade de uma classe com com um valor em particular, nesse caso, o correto é usar apenas dois sinais de igual (==)  e não três.

Outra coisa bem errada nesse código é que o autor colocou o fechamento do </label> no lugar errado, o correto é ele incluir o <input> dentro do <label>, só assim será possível marcar e desmarcar a caixa de seleção, quando for clicar no rótulo.

Enfim, a intenção de quem escreveu o código é utilizar o código PHP para definir se uma caixa de seleção já vem selecionada ou não. Para fazer a mesma coisa eu fiz esse código:

<?php
class produto {
	public $ativaconjunto;
	function set_name($ativaconjunto){
		$this->ativaconjunto=$ativaconjunto;}
	function get_name($ativaconjunto){
		return $this->ativaconjunto;}}
$produto=new produto;
$produto->ativaconjunto="s";
echo "<label>Conjunto";
if ($produto->ativaconjunto=="s"){$ativado="checked";} else {$ativado="";}
echo "<input type=checkbox $ativado></label>";

 

Editado por Frank K Hosaka
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...